Menu
CoddyTech

Den Antrieb zünden

Teil des Abschnitts Projekte der Godot-Journey von Coddy. Lektion 11 von 33.

Die Pfeiltaste nach oben zündet den Motor und schiebt das Raumschiff in die Richtung, in die seine Spitze zeigt. Vector2.UP ist (0, -1). rotated(rotation) dreht diesen Pfeil um denselben Winkel, um den sich das Raumschiff 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 die Pfeiltaste nach oben loslässt, driftet das Raumschiff weiter. Um anzuhalten, dreh dich um und gib in die andere Richtung Schub.

Das Raumschiff hat ein verborgenes Flame-Kind. Blende es ein, während der Motor läuft: $Flame.visible = Input.is_action_pressed("move_up").

challenge icon

Aufgabe

Mittel
  1. Füge const THRUST = 300 hinzu.
  2. Solange die Aufwärts-Taste gedrückt wird, addiere Vector2.UP.rotated(rotation) * THRUST * delta zur velocity des Schiffs.
  3. Bewege das Schiff in jedem Frame um velocity * delta, unabhängig davon, ob eine Taste gedrückt wird oder nicht.
  4. Zeige $Flame nur an, solange die Aufwärts-Taste gedrückt wird.

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
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Projekte

Übe selbstständig: Godot-Playground