シグナルを接続する
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()と書くと、関数がすぐに呼び出されます。
チャレンジ
簡単ゾーンがプレイヤーに気づくようにします。
_ready()で、passをbody_enteredと_on_body_enteredを接続する行に置き換えます。- 関数名の後に括弧を付けずに書きます。
「プレイ」を押してゾーンに入ります。コンソールにSomeone came in!と表示されます。その後、「確認」を押します。
自分で試してみよう
extends Area2D
func _ready():
pass
func _on_body_entered(body):
print("Someone came in!")
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド