在 Libgdx 中,两个 StaticBody 类型的物体是否可能发生碰撞? (Box2D)

Is it possible in Libgdx that two bodies of type StaticBody can collide? (Box2D)

我刚开始使用该库并合并了 box2d,我遇到了 运行 一个问题,那就是我创建了 2 个主角,它们都是动态的,我想知道是否有任何方法或任何表明它们可以相互碰撞但我不知道交叉的函数

您可以使用 ContactListener, to let the Box2D world inform you, about every contact of objects. Therefore your protagonist's classes need to implement the ContactListener interface and be registered in the Box2D world (using the setContactListener 方法)。

现在如果有任何联系发生,你的主角class的beginContact方法将被调用。

但这对每个联系人都会发生。不仅是你的主角之间的联系,所以你必须过滤。这通常是通过检查 Fixtures of a Contact(传递给您的 beginContact 方法)来完成的。使用 Fixtures 可以得到碰撞的 Body 和它的用户数据,你可以将其设置为主角以识别他。

有关更多信息,请查看 this tutorial or the libGDX documentation on Box2D