Menu
CoddyTech

组中的每个节点

本课属于 Coddy Godot 学习旅程的“信号与碰撞”单元。第 13 课,共 27 课。

get_tree().get_nodes_in_group("lamps")会以列表的形式返回组中的所有节点。用 for 遍历这个列表:

for lamp in get_tree().get_nodes_in_group("lamps"):
	lamp.visible = true

for 下面的语句会为每个节点运行一次。每次运行时,lamp 都是下一个节点。5 盏灯就会循环 5 次。

get_tree() 是整个游戏的场景树,因此无论灯位于场景中的哪个位置,都能找到它们。把第 6 盏灯加入这个组后,这段代码也会点亮它。

challenge icon

挑战

中等

让 E 打开所有灯。

  1. 将 $Lamp1.visible = true 替换为遍历 get_tree().get_nodes_in_group("lamps") 的 for 循环。
  2. 在循环中显示每盏灯。

点击“运行”并按 E:五盏灯都会亮起。然后点击“检查”。

亲手试试

extends Node2D

func _process(delta):
	if Input.is_action_just_pressed("action"):
		$Lamp1.visible = true

信号与碰撞中的所有课

自己练习: Godot 在线编辑器