エリアがボディを検知する
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 1/27。
Area2Dは、何かが入ってくるのを検知する領域です。
Area2Dには、子ノードとしてCollisionShape2Dが必要です。形状が領域の大きさを決めます。この場合は緑色の四角形です。物体は領域を通り抜けます。領域にぶつかることはありません。
物体が入ってくると、領域はbody_enteredというシグナルを送信します。この領域のスクリプトは、そのシグナルを待ち受けます。
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")_on_body_enteredは、物体が形状に入るたびに実行されます。次のレッスンでは、connectの行について説明します。ロボットは物体ですが、領域より下のy = 250に沿って進みます。
チャレンジ
簡単ロボットは y = 250 に沿って歩きます。_ready() で、ゾーンを y = 250 まで下に移動します。その後、再生を押して、コンソールを確認します。
自分で試してみよう
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド