Menu
CoddyTech

Viele Stacheln, eine Funktion

Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 21 von 27.

Ein Level kann viele Stacheln haben, die alle dasselbe tun. Verbinde sie alle mit einer Schleife über ihre Gruppe mit einer Funktion:

for spike in get_tree().get_nodes_in_group("spikes"):
	spike.body_entered.connect(_on_spike_body_entered)

Bei jedem Durchlauf der Schleife wird das body_entered des nächsten Stachels verbunden. Welche Reihe du auch berührst, dieselbe Funktion wird ausgeführt und erhält deinen Körper.

Eine fünfte Reihe, die der Gruppe hinzugefügt wird, funktioniert ohne neuen Code. Die vier Reihen hier gehören zur Gruppe spikes.

challenge icon

Aufgabe

Mittel

Sorge dafür, dass dich jede Stachelreihe zurückschickt.

  1. Ersetze in _ready() die einzelne connect-Zeile durch eine for-Schleife über die Gruppe spikes.
  2. Verbinde innerhalb der Schleife für jeden Knoten body_entered mit _on_spike_body_entered.

Drücke „Spielen“ und laufe in beliebige Stacheln hinein: Du bist wieder am Anfang. Klicke dann auf „Prüfen“.

Probier es selbst

extends Node2D

func _ready():
	$Spikes1.body_entered.connect(_on_spike_body_entered)

func _on_spike_body_entered(body):
	body.position = Vector2(80, 280)

Alle Lektionen in Signale und Kollisionen

Übe selbstständig: Godot-Playground