AndEngine - 从场景课中摧毁身体?

时间:2013-03-28 22:52:51

标签: android box2d andengine

我有一个扩展场景的类,它控制游戏。在我的ContactListener中,我有:

if (x1.getBody().getUserData().equals("wall")
                        && x2.getBody().getUserData().equals("arrow")) {
                    System.out.println("arrow is x2");
                }

当箭头,x2与墙壁碰撞时,x1,我希望箭头体被摧毁。它们发生碰撞,但我当然无法从ContactListener中销毁它。由于这个类扩展了场景,我怎么能在其中获得更新或运行方法(我在其上看到的所有其他帖子都有扩展BaseGameActivity的类),否则会破坏x2主体?

1 个答案:

答案 0 :(得分:2)

我有一个解决方案。

创建场景时,将BaseGameActivity引用传递给它。如下所示

new GameScene(MainActivity mainAcivity);

然后在删除box2d对象后,您必须使用此引用。

mainActivity.runOnUpdateThread(){  
    public void run(){
          mPhysicsWorld.destroyBody(arrowBody);
    }
}