Menu
CoddyTech

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 = true

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

challenge icon

Aufgabe

Mittel

Sorge dafür, dass E jede Lampe einschaltet.

  1. Ersetze $Lamp1.visible = true durch eine for-Schleife über get_tree().get_nodes_in_group("lamps").
  2. 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