Menu
CoddyTech

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 * delta

Der 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").

challenge icon

Aufgabe

Mittel

Lass die Engine das Schiff antreiben.

  1. Füge const THRUST = 300 hinzu.
  2. Solange die Aufwärtstaste gedrückt ist, addiere Vector2.UP.rotated(rotation) * THRUST * delta zu velocity.
  3. Bewege das Schiff in jedem Frame um velocity * delta, unabhängig davon, ob die Taste gedrückt ist.
  4. Zeige $Flame nur 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