Godotエンジン:衝突と衝突検出の簡単な例(RigidBody2DとStaticBody2Dの衝突)
Godot Engine Simple Example Collision
以下のシーンツリーに示すように、シーンを作成します。
- ノードの名前はノードタイプです
- 赤いボックスはそれぞれに対応します
CollisionShape2D
inShape
(両方RectangleShape2D
)スコープ
注意:
不必要なパフォーマンスの消費を避けるために、RigidBody
およびRigidBody2D
デフォルトでは、衝突検出はオンになっていないため、衝突検出が必要な場合は、次の2つのことを行う必要があります。
- will
Contact Monitor
Set totrue
(衝突検出を有効にする) - will
Contact Roported
0より大きい値に設定します(衝突結果の最大数を返します)
以下は、「RigidBody2D」のスクリプトの内容です。
「Body.gd」
コールバックメソッドを置くcollision_callback
接続RigidBody2D
シグナルbody_entered
on
extends RigidBody2D func _ready(): connect('body_entered',self,'collision_callback') func collision_callback(node): print('I am a:' + name + 'I hit one' + node.name)
出力結果
I am a: RigidBody2D, I ran into a StaticBody2D