繁体   English   中英

Box2D未检测到碰撞

[英]Box2D not detecting collision

我正在使用LibGdx库的Box2D扩展来开发游戏,除了碰撞检测之外,其他所有东西都应该像它应该的那样工作。

这是当前的样子: 图片

这个想法是玩家(小圆圈)可以跳出边界(重力设置为朝向地面的中心)以躲避绕地面旋转的传入障碍物。 一旦障碍物到达Despawner,ContactListener应调用将破坏障碍物主体的方法。

首先,我有几个不同的机构:

  • 播放器(动态身体)
    播放器仅受重力和某些作用力的影响(无变换)
  • 地面(运动体)
    地面只有一个线速度(这就是为什么它不是静态物体的原因)
  • 障碍物(运动身体)
    使用setTransform(position,angle)方法移动障碍物
  • Despawner(静态身体)

我还使用位过滤器来管理冲突(我已对其进行了三重检查,但这并不是问题的根源)。

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

谢谢您的帮助!

从这里的手册:

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

运动体不会与其他静态或运动体碰撞。

您将必须找出一种新方法来触发Despawner。 您将无法在两种动力学或动力学与静态身体类型之间发生碰撞。 也许是带有传感器固定装置的身体。 或Y位置值。 或关闭重力的动态物体。

游戏看起来很酷,期待它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM