私のゲームはアンドロイド私のプレーヤーは無敵のオブジェクトと衝突するようにしたいと思います。この衝突は検出されるべきですが、実際には>プレイヤーを停止させるべきではありません。あなたが必要なもの
は、それが検出できBOX2D センサ本体とペアカスタムContactListenerです。あなたのプレーヤーはBox2D本体でもあります。 2つのボディーの識別子をUserDataの形式で渡します(単純な文字列など)。この場合、ContactListener内でこれらのUserDatasをチェックできます。
Fixture.setUserData(...)
あなたContactListenerはBOX2D ContactListenerを実装し、そのメソッドをオーバーライドします:
public class MyContactListener implements ContactListener{
@Override
public void beginContact(Contact contact) {
Fixture fa = contact.getFixtureA();
Fixture fb = contact.getFixtureB();
if(fa == null || fb == null) return;
// ...
}
@Override
public void endContact(Contact contact) {
Fixture fa = contact.getFixtureA();
Fixture fb = contact.getFixtureB();
if(fa == null || fb == null) return;
// ...
}
@Override
public void preSolve(Contact contact, Manifold oldManifold) {}
@Override
public void postSolve(Contact contact, ContactImpulse impulse) {}
}
BOX2D本体とセンサーの宣言は、読者の練習として残しています。 BOX2Dため
初心者チュートリアルでは、ここで見つけることができます: http://rotatingcanvas.com/using-box2d-in-libgdx-game-part-i/
だからあなたの質問はContactListenerを実装する方法ですか?このチュートリアルを見てください:https://xoppa.github.io/blog/using-the-libgdx-3d-physics-bullet-wrapper-part1/、それを完全に読んでください。 – Xoppa