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