Uruchom silnik
Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 12 z 36.
Przycisk „góra” uruchamia silnik i popycha statek w kierunku, w którym skierowany jest jego dziób. Vector2.UP to (0, -1). rotated(rotation) obraca tę strzałkę o taki sam kąt, o jaki obrócił się statek:
if Input.is_action_pressed("move_up"):
velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * deltaSilnik zmienia prędkość, a nie położenie. Gdy puścisz przycisk „góra”, statek nadal będzie dryfował. Aby go zatrzymać, zawróć i użyj ciągu w przeciwnym kierunku.
Statek ma ukryte dziecko Flame. Pokazuj je, gdy silnik pracuje: $Flame.visible = Input.is_action_pressed("move_up").
Wyzwanie
ŚredniNiech silnik napędza statek.
- Dodaj
const THRUST = 300. - Gdy trzymasz przycisk w górę, dodawaj
Vector2.UP.rotated(rotation) * THRUST * deltadovelocity. - Przesuwaj statek o
velocity * deltaw każdej klatce, niezależnie od tego, czy trzymasz przycisk. - Pokazuj
$Flametylko wtedy, gdy trzymasz przycisk w górę.
Naciśnij „Graj” i trzymaj przycisk w górę: płomień będzie się palił, a statek będzie dryfował dalej po puszczeniu przycisku. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
extends CharacterBody2D
const TURN_SPEED = 4.0
func _physics_process(delta):
rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
Wszystkie lekcje w sekcji Projekty
2Projekt: Strzelanka z asteroidami
Obróć statekUruchom silnikPoćwicz samodzielnie: Edytor online Godot