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.gdでは:

  1. 先頭にvar coins_left = 0を追加し、_ready()でグループcoinsのサイズを代入します。
  2. _on_coin_collected()では、1つ減らし、Got a coin!の代わりにCoins left: と数値を出力します。

最初のコインを取得すると、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!")
quiz icon腕試し

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

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

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