我正在尝试创建一个Android游戏,但是关闭屏幕时出现问题。
目前我的游戏工作方式是这样的,当我按下主页按钮时它会暂停,当你按下后退按钮时它停止然后再次启动。
现在我注意到,当我按下电源按钮关闭屏幕时,它会停止游戏,而不会关闭,当我重新启动屏幕时。 我想阻止这种情况,并且当我关闭屏幕时让游戏暂停,
我目前的代码:
public void surfaceCreated(SurfaceHolder holder) {
if (!mGameIsRunning) {
mGameIsRunning = true;
loop = new GameLoop(getHolder(), this);
createSprites();
loop.setRunning(true);
loop.start();
} else {
resume();
}
}
public void surfaceDestroyed(SurfaceHolder holder) {
pause();
}
public void pause() {
loop.setRunning(false);
while (true) {
try {
loop.join();
} catch (InterruptedException e) {
}
break;
}
loop = null;
}
public void resume() {
loop = new GameLoop(getHolder(), this);
loop.setRunning(true);
loop.start();
}
答案 0 :(得分:0)
可能是您的应用程序正在丢失其OpenGL上下文,并且在重新打开它时必须重新启动。我记得它,如果你使用'home'按钮,上下文将被保存一段时间,但当你使用后退按钮或让设备进入睡眠状态时它会被删除。
您可以尝试使用“主页”按钮并将其留在后台一段时间,您的测试可能是这样的:“主页”按钮 - >立即切换回来工作。尝试给它一些时间让上下文丢失。
同样,我不确定。自从我完成任何Android编程以来,它已经有一段时间了。