Menu
CoddyTech

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_point

Die 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.

challenge icon

Aufgabe

Mittel

Mach die Flagge zu einem Kontrollpunkt.

  1. Setze in _on_checkpoint_body_entered start_point auf $Checkpoint.position, ohne var.
  2. 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