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の下にある行は、ノードごとに1回ずつ実行されます。そのたびに、lampには次のノードが入ります。ランプが5つなら、5回繰り返します。

get_tree()はゲーム全体のツリーなので、シーン内のどこにあってもランプを見つけられます。6つ目のランプをグループに追加すると、このコードはそれも点灯させます。

challenge icon

チャレンジ

中級

Eキーですべてのランプを点灯させましょう。

  1. $Lamp1.visible = trueを、get_tree().get_nodes_in_group("lamps")を使ったforループに置き換えましょう。
  2. ループ内で、各ランプを表示しましょう。

「プレイ」を押してからEキーを押すと、5つすべてのランプが点灯します。その後、「確認」を押しましょう。

自分で試してみよう

extends Node2D

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

シグナルと衝突のすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド