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

Kara ·
更新时间:2024-09-21
· 745 次阅读

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

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

注意:
为了避免不必要的性能消耗,RigidBody以及RigidBody2D默认是不开启碰撞检测的,所以需要碰撞检测的话必须做两件事:

Contact Monitor设为true(开启碰撞检测) 将Contact Roported设为一个大于0的值(返回碰撞结果最大数量)

在这里插入图片描述

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

“Body.gd”
把回调方法 collision_callback链接到RigidBody2D的信号body_entered

extends RigidBody2D func _ready(): connect("body_entered",self,"collision_callback") func collision_callback(node): print("我是一个:" + name + ",我撞上了一个" + node.name)

在这里插入图片描述

输出结果

我是一个:RigidBody2D,我撞上了一个StaticBody2D
作者:开发游戏的老王



godot

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