3
衝突が発生したときにbox2dボディを削除するにはどうすればよいですか?
私はまだjavaとandroidプログラミングの初心者であり、衝突が発生したときにオブジェクトを削除するのに多くの問題を抱えています。私はWebを見回して、衝突検出(接触リスナー)中にBOX2Dボディの削除を処理してはならず、オブジェクトをarraylistに追加し、ボディのユーザーデータセクションで変数を設定して削除するかどうか、および処理しないようにしました更新ハンドラーの削除アクション。だから私はこれをしました:最初に私は2つのArrayListsを顔と体に1つ定義します: ArrayList<Sprite> myFaces = new ArrayList<Sprite>(); ArrayList<Body> myBodies = new ArrayList<Body>(); 次に、面を作成し、その面をその本体に接続するとき、次のようにそれらをArrayListに追加します。 face = new AnimatedSprite(pX, pY, pWidth, pHeight, this.mBoxFaceTextureRegion); Body BoxBody = PhysicsFactory.createBoxBody(mPhysicsWorld, face, BodyType.DynamicBody, objectFixtureDef); mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(face, BoxBody, true, true)); myFaces.add(face); myBodies.add(BoxBody); ここで、次のようにonloadsceneに連絡先リスナーと更新ハンドラを追加します。 this.mPhysicsWorld.setContactListener(new ContactListener() { private AnimatedSprite face2; @Override public void beginContact(final Contact pContact) { } @Override …