Ein Checkpoint
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 20 von 27.
Ein Kontrollpunkt ändert, wohin dich die Stacheln schicken. Daher wird der Startpunkt zu einer Variable am Anfang von main.gd, auf die jede Funktion zugreifen kann:
var start_point = Vector2(80, 280)
func _on_spikes_body_entered(body):
body.position = start_pointDie Stacheln schicken dich dorthin, worauf start_point in diesem Moment verweist. Ändere die Variable, und beim nächsten Treffer schicken sie dich dorthin.
Ändere sie mit start_point = .... Wenn du var start_point = ... innerhalb einer Funktion schreibst, erstellst du eine neue Variable, die nur in dieser Funktion existiert. Die Variable am Anfang bleibt gleich.
Aufgabe
MittelMach die Flagge zu einem Kontrollpunkt.
- Setze in
_on_checkpoint_body_enteredstart_pointauf$Checkpoint.position, ohnevar. - Färbe die Flagge mintgrün:
$Checkpoint.modulate = Color(0.49, 0.95, 0.75).
Drücke „Spielen“, berühre die Flagge und dann die Stacheln: Du kommst bei der Flagge wieder an. Drücke anschließend „Prüfen“.
Probier es selbst
extends Node2D
var start_point = Vector2(80, 280)
func _ready():
$Spikes.body_entered.connect(_on_spikes_body_entered)
$Checkpoint.body_entered.connect(_on_checkpoint_body_entered)
func _on_spikes_body_entered(body):
body.position = start_point
func _on_checkpoint_body_entered(body):
pass
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground