Den Motor zünden
Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 12 von 36.
„Nach oben“ zündet den Motor und schiebt das Schiff in die Richtung, in die seine Nase zeigt. Vector2.UP ist (0, -1). rotated(rotation) dreht diesen Pfeil um den Winkel, um den sich das Schiff gedreht hat:
if Input.is_action_pressed("move_up"):
velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * deltaDer Motor verändert die Geschwindigkeit, nicht die Position. Wenn du „Nach oben“ loslässt, treibt das Schiff weiter. Um anzuhalten, drehe dich um und gib in die andere Richtung Schub.
Das Schiff hat ein ausgeblendetes untergeordnetes Element namens Flame. Zeige es, während der Motor läuft: $Flame.visible = Input.is_action_pressed("move_up").
Aufgabe
MittelLass die Engine das Schiff antreiben.
- Füge
const THRUST = 300hinzu. - Solange die Aufwärtstaste gedrückt ist, addiere
Vector2.UP.rotated(rotation) * THRUST * deltazuvelocity. - Bewege das Schiff in jedem Frame um
velocity * delta, unabhängig davon, ob die Taste gedrückt ist. - Zeige
$Flamenur an, solange die Aufwärtstaste gedrückt ist.
Drücke „Spielen“ und halte die Aufwärtstaste gedrückt: Die Flamme brennt und das Schiff gleitet weiter, nachdem du die Taste losgelassen hast. Drücke dann „Prüfen“.
Probier es selbst
extends CharacterBody2D
const TURN_SPEED = 4.0
func _physics_process(delta):
rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
Alle Lektionen in Projekte
Übe selbstständig: Godot-Playground