我目前正在创建一个具有 MainActivity 和 SurfaceView 的游戏。 SurfaceView 不是它自己的 Activity ,而只是在 MainActivity 中调用。
我想做的是在 MainActivity 上有一个按钮(暂停/恢复),它将暂停 SurfaceView 上的渲染并在单击时再次恢复它。
我不完全确定该怎么做,在我的 SurfaceView (GameView) 中我可以停止我的 GameLoopThread,但如果我尝试简单地重新启动它(暂停然后继续游戏)它什么都不做。
我尝试过暂停/恢复 Activity 本身以及尝试在 bool 值运行中运行我的 SurfaceView,但似乎都不起作用。
如有任何想法,我们将不胜感激!
最佳答案
您可以在 SurfaceView 类中创建一个类似 bool 值的标志,例如 isRunning=false;然后在你开始你的线程之前检查它。还在表面 View 中创建两个方法 onPause() 和 onResume()。
onPause(){
isRunning=false;
// make thread null;
}
And
onResume(){
isRunning=true;
}
在您的 Activity 中分别调用这两个方法的 onPause() 和 onResume() 方法。
关于android - 如何从 MainActivity 暂停/恢复 SurfaceView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20236583/