我的游戏需要一个计时器:当用户点击屏幕时,计时器应暂停并恢复。首先,我尝试创建Timer
一次,MyTimerTask.cancel()
暂停,Timer.schedule(new MyTimerTask, ...)
恢复它。但任务管理器显示,当计时器暂停时,我的应用程序会花费大量的CPU(我在Android下开发)。据我了解,Timer
执行空队列。现在我.cancel()
和.purge()
Timer
并沿着MyTimerTask
重新创建它。这是使用Timer
的正确方法吗?或者我不明白?
答案 0 :(得分:1)
您可以在主游戏循环中添加if语句,如:
while(runMainLoop)
{
if(gameIsNotPaused)
{
updatePhysics();
doDraw();
}
}
然后当用户按下暂停按钮时,您只需将gameIsNotPaused设置为false / true。