2016-08-30 47 views
0

如果兩個身體碰撞,我希望能夠在我的代碼測試中的任何時候進行測試。我知道關於接觸者的聽衆,但是因爲我每幀都在摧毀/重新創建車身裝備,所以這對我來說不會有用。我如何測試身體碰撞有點像你可以使用Gdx.input.isKeyPressed查詢輸入。謝謝!Libgdx | Box2D |如果身體與另一個身體發生碰撞,則投票

回答

0

我認爲實現這一點的唯一方法是計算這兩個物體之間的距離。您還可以包含寬度和高度。

類似以下(科特林):

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

一個問題是,這沒有考慮到旋轉。我的物體都圍繞着屏幕的中心旋轉。 –