1

我有一个用于 Android 游戏的 box2d 设置,使用来自 LibGDX 的端口。

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

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

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

谢谢你的帮助!

4

1 回答 1

0

解决方案是通过 b2FixtureDef::filter 字段而不是联系人侦听器使用碰撞过滤。

于 2013-02-18T07:25:54.080 回答