按照下图场景树所示构造一个场景:
节点的名称即为节点类型 红色方框分别对应着每个CollisionShape2D
中Shape
(都是RectangleShape2D
)的范围注意:
如果没有发生碰撞检测确认:
Monitoring
是否开启(是否检测Area
与刚体或其它Area
间的碰撞)
Monitorable
是否开启(是否可以被其它Area
检测)
下面是"Area2D"上脚本的内容
“Area.gd”
把回调方法 on_body_entered
和on_body_exited
链接到Area2D
的信号body_entered
和body_exited
上
extends Area2D
func _ready():
connect("body_entered",self,"on_body_entered")
connect("body_exited",self,"on_body_exited")
func on_body_entered(node):
print("我是一个:" + name + ",一个" + node.name + "进入我的区域")
func on_body_exited(node):
print("我是一个:" + name + ",一个" + node.name + "移出我的区域")
输出结果
我是一个:Area2D,一个RigidBody2D进入我的区域
我是一个:Area2D,一个RigidBody2D移出我的区域