たくさんのトゲを1つの関数で
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 21/27。
1つのレベルに同じ動作をするスパイクをたくさん配置できます。グループ内のスパイクをループで処理して、すべてを1つの関数に接続します。
for spike in get_tree().get_nodes_in_group("spikes"):
spike.body_entered.connect(_on_spike_body_entered)ループが1回実行されるごとに、次のスパイクの body_entered が接続されます。どの列に触れても同じ関数が実行され、あなたのボディを受け取ります。
グループに5列目を追加しても、新しいコードは必要ありません。ここにある4列は spikes グループに属しています。
チャレンジ
中級あなたを戻すのはSpikes1だけです。_ready()で、グループspikes内のすべてのノードのbody_enteredを_on_spike_body_enteredに接続します。
自分で試してみよう
extends Node2D
func _ready():
$Spikes1.body_entered.connect(_on_spike_body_entered)
func _on_spike_body_entered(body):
body.position = Vector2(80, 280)
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド