グループ内のすべてのノード
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 13/27。
get_tree().get_nodes_in_group("lamps")を使うと、グループ内のすべてのノードをリストとして取得できます。forを使ってリストを順番に処理しましょう。
for lamp in get_tree().get_nodes_in_group("lamps"):
lamp.visible = trueforの下にある行は、ノードごとに1回ずつ実行されます。そのたびに、lampには次のノードが入ります。ランプが5つなら、5回繰り返します。
get_tree()はゲーム全体のツリーなので、シーン内のどこにあってもランプを見つけられます。6つ目のランプをグループに追加すると、このコードはそれも点灯させます。
チャレンジ
中級Eキーですべてのランプを点灯させましょう。
$Lamp1.visible = trueを、get_tree().get_nodes_in_group("lamps")を使ったforループに置き換えましょう。- ループ内で、各ランプを表示しましょう。
「プレイ」を押してからEキーを押すと、5つすべてのランプが点灯します。その後、「確認」を押しましょう。
自分で試してみよう
extends Node2D
func _process(delta):
if Input.is_action_just_pressed("action"):
$Lamp1.visible = true
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド