我的游戏有问题 - 当现场为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旋转角色的动作。
我希望你能帮助我。 谢谢!
答案 0 :(得分:0)
您必须使用
在代码中的某处初始化gameOverHandlergameOverHandler = 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 对我的代码进行了一点点重写,但它的工作......