我需要一个用于游戏的计时器:当用户点击屏幕时,计时器应该暂停并恢复。首先,我尝试创建一次TimerMyTimerTask.cancel()暂停它,Timer.schedule(new MyTimerTask, ...)恢复它。但是任务管理器显示,当计时器暂停时,我的应用程序会花费大量CPU(我是在Android下开发的)。据我了解,Timer执行空队列。现在,我.cancel().purge() Timer并沿着MyTimerTask重新创建它。使用Timer是否正确?还是我听不懂?

最佳答案

您可以在主游戏循环中添加if语句,例如:

while(runMainLoop)
{
    if(gameIsNotPaused)
    {
    updatePhysics();
    doDraw();
    }
}


然后,当用户按下暂停按钮时,只需将gameIsNotPaused设置为false / true。

08-05 12:43