私のコードは次のようなものがいっぱいです:instanceofは特定のオブジェクトのないメソッド内でどのように実行できますか?
Block attackedBlock = (fixtureA.getUserData() instanceof Block) ? (Block) fixtureA.getUserData() : (Block) fixtureB.getUserData();
Bullet bullet = (fixtureA.getUserData() instanceof Bullet) ? (Bullet) fixtureA.getUserData() : (Bullet) fixtureB.getUserData();
をそして、これは動作しますが、それはIMOかなり厄介ですので、私はラインを短縮する方法を作った。
Fixture getFixture(Class USER_DATA) {
return (fixtureA.getUserData() instanceof USER_DATA) ? fixtureA : fixtureB;
}
私はエラーを取得することUSER_DATAは理解できないクラスではありませんが、指定されたクラスをどのように見えるようにするのですか?その条件は常にfalseと評価されます/私は何をすべきですか?
USER_DATA.isInstance(fixtureA.getUserData())
しかし、この方法はどのように呼びますか? これは現在の呼び出しです: '((Interactant)getFixture(Player))body.applyLinearImpulse(new Vector2(4f、1f).scl(1/Finals.PPM)、((Interactant)getFixture(Player)) body.getWorldCenter()、true); ' これはExpression Expected –
と書かれていますが、これについて新しい質問を投稿したいと思うかもしれません。 – john16384