最終確認日
Godotにおけるbody_enteredとarea_enteredの違い
body_entered と area_entered は、Area2D ノードが他のノードと交差したときに発生するシグナルであるが、対象となるノードの種類が異なる。
body_entered(body: Node)- 発信元:
Area2D - 対象:
PhysicsBody2D(例:CharacterBody2D,RigidBody2D,StaticBody2D) - 用途: プレイヤーや敵など「物理挙動を持つオブジェクト」が入ったことを検知する
- 例: プレイヤーがトラップエリアに入ったときにダメージを与える
- 発信元:
area_entered(area: Area2D)- 発信元:
Area2D - 対象: 別の
Area2D - 用途: センサー同士の重なり、エリア効果の検知など、エリア間の相互作用を検出す
- 例: 毒ガスエリアとプレイヤーの感知エリアが重なったときにステータス異常を発生させる
- 発信元:
補足
- どちらも
monitoring(自身)およびmonitorable(相手)プロパティがtrueである必要がある - 衝突レイヤーとマスクが一致していないとイベントは発生しない
公開日
更新日