Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D与Area2D碰撞)

Rosalia ·
更新时间:2024-11-13
· 685 次阅读

按照下图场景树所示构造一个场景:

节点的名称即为节点类型 红色方框分别对应着每个CollisionShape2DShape(都是RectangleShape2D)的范围
在这里插入图片描述

注意:
如果没有发生碰撞检测确认:

Monitoring是否开启(是否检测Area与刚体或其它Area间的碰撞) Monitorable是否开启(是否可以被其它Area检测)

在这里插入图片描述

下面是"Area2D"上脚本的内容

“Area.gd”
把回调方法 on_body_enteredon_body_exited链接到Area2D的信号body_enteredbody_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移出我的区域
作者:开发游戏的老王



area godot

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章