如何检测身体是否碰撞其他身体,但不会对此碰撞做出反应。如何检测碰撞,但不会在box2d中碰撞?
通过默认我 - 检测碰撞和车身碰撞。
如果我设置了fixtureDef过滤器 - 物体不会相互碰撞,但我无法检测到碰撞。
请帮忙!
如何检测身体是否碰撞其他身体,但不会对此碰撞做出反应。如何检测碰撞,但不会在box2d中碰撞?
通过默认我 - 检测碰撞和车身碰撞。
如果我设置了fixtureDef过滤器 - 物体不会相互碰撞,但我无法检测到碰撞。
请帮忙!
你想要的是一个身体上的传感器夹具。从box2d手册:
有时游戏逻辑需要知道两个固定装置重叠的时间,但应该没有碰撞响应。这是通过使用传感器完成的。传感器是检测碰撞但不产生响应的固定装置。
您可以将任何灯具标记为传感器。传感器可能是静态的或动态的。请记住,你可能有多个固定装置,你可以有任何混合的传感器和固体装置。
传感器不生成接触点。有两种方法可以得到一个传感器的状态:
- b2Contact :: IsTouching
- b2ContactListener :: BeginContact和EndContact
您可以设置一个固定的传感器,然后写它进入你的联系监听器。如果夹具的传感器标志设置为真,它将提供碰撞数据,而不物理模拟碰撞(即,允许您测试任何其他碰撞夹具之间的重叠)。
这是一个有用的教程,开始使用传感器Ray Wenderlich sensor tutorial
尝试阅读有关传感器的更多信息http://www.box2d.org/manual.html – Cyclonecode