Menu
CoddyTech

シグナルを接続する

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

シグナルとは、何かが起きたときにノードが送るメッセージです。Area2Dは、ボディが入ってくるとbody_enteredを送ります。コードがそれを受け取るまでは、何も起こりません。

受け取るには、シグナルを関数に接続します。_ready()の中で一度だけ行います。

func _ready():
	body_entered.connect(_on_body_entered)

これは、body_enteredが発生したときに、_on_body_enteredを呼び出すという意味です。するとGodotは、ボディが入ってくるたびにこの関数を呼び出します。

関数名は括弧なしで書きます。_on_body_entered()と書くと、関数がすぐに呼び出されます。

challenge icon

チャレンジ

簡単

ゾーンがプレイヤーに気づくようにします。

  1. _ready()で、passをbody_enteredと_on_body_enteredを接続する行に置き換えます。
  2. 関数名の後に括弧を付けずに書きます。

「プレイ」を押してゾーンに入ります。コンソールにSomeone came in!と表示されます。その後、「確認」を押します。

自分で試してみよう

extends Area2D

func _ready():
	pass

func _on_body_entered(body):
	print("Someone came in!")

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

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