Menu
CoddyTech

コイン集め:残りのコイン

CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 26/27。

Mainは残りのコインの数を知っておく必要があります。その数をmain.gdの先頭にある変数に保存します。開始時に一度だけグループ内のコインを数え、コインを1枚獲得するたびに1を引きます。

var coins_left = 0

func _ready():
	coins_left = get_tree().get_nodes_in_group("coins").size()

_on_coin_collectedでグループ内のコインを数えないのはなぜでしょうか?コインは自分自身を解放する直前にcollectedを送ります。フレームの終わりまではグループに残るため、数に含まれてしまいます。

変数は、変更したときにだけ値が変わります。

challenge icon

チャレンジ

中級

Mainで残りのコインを数えましょう。

  1. main.gdの先頭にvar coins_left = 0を追加し、_ready()でグループcoinsのサイズを設定します。
  2. _on_coin_collected()で数を1つ減らし、Got a coin!の代わりに表示します:print("Coins left: ", coins_left)。

「プレイ」を押してコインを1枚取ると、コンソールにCoins left: 5と表示されます。その後、「確認」を押しましょう。

自分で試してみよう

extends Node2D

func _ready():
	for coin in get_tree().get_nodes_in_group("coins"):
		coin.collected.connect(_on_coin_collected)

func _on_coin_collected():
	print("Got a coin!")

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

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