Box2D Contact Filter不会触发在其他实体上创建的实体

时间:2013-02-17 02:39:03

标签: box2d

我使用LibGDX的端口为Android游戏设置了box2d。

我正在使用接触过滤器允许一些物体相互穿过。然而,当我在另一个身体占据的位置创建一个这样的身体,使它们重叠时,两个身体被卡住,并且从不调用接触过滤器。如果我撞到一个物体以使其失去接触然后再与另一个物体接触,它们会按预期相互穿过。但是,我想让身体从一开始就相互通过。

我注意到这种行为有一个动态的身体和一个动态,静态或运动的身体。 我的完整设置相当复杂,所以我不知道我的来源会让任何人受益。

我的主要问题是这听起来像是普通的box2d行为(如果有的话,如果有人知道解决方法)。另一方面,如果你在没有遇到这个问题的情况下做了类似的事情,我想知道这样我可以查找可能导致我的程序以不同方式运行的错误。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

解决方案是通过b2FixtureDef :: filter字段而不是联系人监听器使用collision filtering