2016-08-30 5 views
0

2つのボディが衝突した場合、コードテストでいつでもテストできるようにしたい。コンタクトリスナーについては知っていますが、フレームごとにボディフィクスチャを破壊/再作成しているので、それは私にとってはうまくいかないでしょう。 Gdx.input.isKeyPressedを使用して入力をポーリングできるように、ボディが衝突するかどうかをテストするにはどうすればよいですか。ありがとう!Libgdx | Box2D |ボディが別のボディに衝突した場合にポーリングする

答えて

0

これを実現する唯一の方法は、これら2つのボディ間の距離を計算することだと思います。幅と高さを含めることもできます。次のような

サムシング(Kotlin):体が高速で移動する場合

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

は、その仕事をしませんか? –

+0

私ははいと言うでしょうが、もちろんそれを試してみる必要があります。リフレッシュ時間はどれくらい速いかによって異なります:[シミュレーションを実行する](https://github.com/libgdx/libgdx/wiki/Box2d#stepping-the-simulation) – Marius

+0

1つの問題は、これが回転を考慮していないことです。私のオブジェクトはすべて画面の中央を中心に回転しています。 –

関連する問題