コイン集め:集めたコイン
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 25/27。
main.gdには、残りのコインの数など、ゲームのルールが記述されています。Mainは、あなたが取ったコインのことをすべて知る必要があります。そのため、各コインがシグナルを送信し、Mainはそれらすべてを受け取ります。
coin.gdでsignal collectedを宣言し、コインが自身を解放する直前にシグナルを発行します。
if body.is_in_group("player"):
collected.emit()
queue_free()main.gdで、スパイクの場合と同じように、グループ内の各コインを接続します。
for coin in get_tree().get_nodes_in_group("coins"):
coin.collected.connect(_on_coin_collected)Godotは親より先に子を準備するため、Mainの_ready()でこの処理を行えます。その時点で、すべてのコインがグループに加わっています。
チャレンジ
中級今回はスクリプトが2つあります:
coin.gd:signal collectedを宣言し、queue_free()の前にそれを発行します。main.gd:_ready()で、すべてのコインのcollectedを、Got a coin!を出力する新しい関数_on_coin_collected()に接続します。
自分で試してみよう
extends Node2D
func _ready():
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド