Menu
CoddyTech

コイン集め:集めたコイン

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()でこの処理を行えます。その時点で、すべてのコインがグループに加わっています。

challenge icon

チャレンジ

中級

今回はスクリプトが2つあります:

  1. coin.gd:signal collectedを宣言し、queue_free()の前にそれを発行します。
  2. main.gd:_ready()で、すべてのコインのcollectedを、Got a coin!を出力する新しい関数_on_coin_collected()に接続します。

自分で試してみよう

extends Node2D

func _ready():
	pass
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

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

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