Libgdx | Box2D |如果身体与另一个身体发生碰撞,则投票

问题描述:

如果两个身体碰撞,我希望能够在我的代码测试中的任何时候进行测试。我知道关于接触者的听众,但是因为我每帧都在摧毁/重新创建车身装备,所以这对我来说不会有用。我如何测试身体碰撞有点像你可以使用Gdx.input.isKeyPressed查询输入。谢谢!Libgdx | Box2D |如果身体与另一个身体发生碰撞,则投票

我认为实现这一点的唯一方法是计算这两个物体之间的距离。您还可以包含宽度和高度。

类似以下(科特林):

if (bodyA.position.dst(bodyB.position.x, bodyB.position.y) <= 50f) 
    //bodyA has contact with bodyB 
+0

将这项工作如果身体快速移动? –

+0

我会说是,但你必须尝试当然。这取决于你的刷新时间有多快:[Stepping the simulation](https://github.com/libgdx/libgdx/wiki/Box2d#stepping-the-simulation) – Marius

+0

一个问题是,这没有考虑到旋转。我的物体都围绕着屏幕的中心旋转。 –