我正在使用LibGdx库的Box2D扩展进行游戏,除了碰撞检测之外,一切都正常 .
这就是它目前的样子:Image
这个想法是玩家(小圆圈)可以跳入他的边界(重力被设置在地面的中心)来躲避在地面上旋转的传入障碍物 . 一旦障碍物到达了绝望者,ContactListener应该调用一个会破坏障碍物体的方法 .
首先,我有几个不同的身体:
-
Player(动态身体)
玩家只受重力和一些施加力的影响(没有变形) -
地面(运动体)
地面只有一个linearVelocity('s why it'不是一个静态的身体) -
障碍物(运动体)
使用setTransform(位置,角度)方法移动障碍物 -
Despawner(静体)
我也使用位过滤器来管理冲突(我已经三次检查并且不是问题的根源) .
实际问题是,当障碍物体是碰撞的一部分时,我的ContactListener不会调用beginContact()方法,除非他与玩家身体发生碰撞 . 所有其他身体彼此碰撞得很好 .
谢谢您的帮助!
1 回答
从这里的手册:
http://www.box2d.org/manual.html#_Toc258082973
你必须找到一种新的方式来触发这个沮丧的人 . 你将无法在两种动能或动力和静态体型之间发生碰撞 . 也许是一个带传感器夹具的机身 . 或Y位置值 . 或重力关闭的动态身体 .
游戏看起来很酷,期待它 .