Jeder Knoten in einer Gruppe
Teil des Abschnitts Signale und Kollisionen der Godot-Journey von Coddy. Lektion 13 von 27.
get_tree().get_nodes_in_group("lamps") gibt dir jeden Knoten in der Gruppe als Liste zurück. Gehe die Liste mit for durch:
for lamp in get_tree().get_nodes_in_group("lamps"):
lamp.visible = trueDie Zeilen unter for werden für jeden Knoten einmal ausgeführt. Jedes Mal ist lamp der nächste Knoten. Fünf Lampen bedeuten fünf Durchläufe.
get_tree() ist der gesamte Szenenbaum des Spiels, deshalb findet dieser Code die Lampen überall in der Szene. Füge der Gruppe eine sechste Lampe hinzu, und dieser Code schaltet sie ebenfalls ein.
Aufgabe
MittelSorge dafür, dass E jede Lampe einschaltet.
- Ersetze
$Lamp1.visible = truedurch einefor-Schleife überget_tree().get_nodes_in_group("lamps"). - Zeige innerhalb der Schleife jede Lampe an.
Klicke auf „Spielen“ und drücke E: Alle fünf Lampen gehen an. Klicke dann auf „Prüfen“.
Probier es selbst
extends Node2D
func _process(delta):
if Input.is_action_just_pressed("action"):
$Lamp1.visible = true
Alle Lektionen in Signale und Kollisionen
Übe selbstständig: Godot-Playground