シグナルを接続する
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()と書くと、その場で関数を呼び出してしまいます。
チャレンジ
簡単ゾーンの関数はSomeone came in!と出力しますが、何もそれを呼び出していません。_ready()で、body_enteredを_on_body_enteredに接続してください。Playを押して、矢印キーでゾーンに入ってください。
自分で試してみよう
extends Area2D
func _ready():
pass
func _on_body_entered(body):
print("Someone came in!")
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド