Box2D 未检测到碰撞

Box2D not detecting collision

我正在使用 LibGdx 库的 Box2D 扩展开发一款游戏,除碰撞检测外,一切正常。

这是目前的样子:Image

这个想法是玩家(小圆圈)可以在他的范围内跳跃(重力设置为朝向地面中心)以躲避围绕地面旋转的传入障碍物。一旦障碍物到达 despawner,ContactListener 应该调用一个方法来摧毁障碍物 body.

首先,我有几个不同的身体:

我也在使用位过滤器来管理冲突(我已经三重检查并且不是问题的根源)。

实际问题是,当障碍物 Body 是碰撞的一部分时,我的 ContactListener 不会调用 beginContact() 方法,除非他与玩家 Body 发生碰撞。所有其他物体相互碰撞得很好。

感谢您的帮助!

来自此处的手册:

http://www.box2d.org/manual.html#_Toc258082973

Kinematic bodies do not collide with other static or kinematic bodies.

你必须想出一种新的方法来触发消失器。您将无法在两种动能或动能与静态 body 类型之间发生碰撞。也许 body 带有传感器夹具。或 Y 位置值。或关闭重力的动态 body。

游戏看起来不错,期待。