Android为什么没有完成活动

时间:2015-01-09 10:54:39

标签: android

我的游戏有问题 - 当现场为0时,它应显示游戏结束屏幕并完成游戏活动,但屏幕会冻结。 表面中的代码是:

if(live <= 0){
        try {
            gameThread.setGameRunning(false);
            gameThread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        gameOverHandler.post(new Runnable() {
            @Override
            public void run() {
                gameOver.onGameOver(score);
            }
        });

    }

GameActivity中的界面:

@Override
public void onGameOver(int score) {
    Intent gameOver = new Intent(this, GameOver.class);
    gameOver.putExtra("score", score);
    startActivity(gameOver);
    gameEngine.stop();
    this.finish();
}

Game-thread循环画布绘图,Engine旋转角色的动作。

我希望你能帮助我。 谢谢!

2 个答案:

答案 0 :(得分:0)

您必须使用

在代码中的某处初始化gameOverHandler
gameOverHandler = new Handler();

gameOverHandler = new GameOverHandler();

尝试用

替换它
gameOverHandler = new Handler(Looper.getMainLooper());

gameOverHandler = new GameOverHandler(Looper.getMainLooper());

取决于您实际使用的课程。

答案 1 :(得分:0)

我的互联网关闭周末我用构造函数解决了它

public GameSurface(Context context, OnGameOver onGameOver){
...
}

和MainActivity

gameSurface = new GameSurface(this, this);

并实施OnGameOver 对我的代码进行了一点点重写,但它的工作......