当应用程序变为非活动状态时暂停游戏 - 停止计时器问题

时间:2015-02-15 18:18:59

标签: ios swift nstimer

所以我有一个使用不同计时器的游戏。这些计时器提供了至关重要的游戏功能,因此它们可以按预期工作。 当应用程序进入非活动状态时,我可以使用

scene.paused = true

暂停所有动作但定时器。我必须自己使每个计时器无效。然后,当应用程序激活时,我需要再次创建所有这些计时器。不幸的是,这打破了游戏的设计流程。例如,我的计时器每5秒触发一次事件。当计时器应在1秒内触发事件时,应用程序将处于非活动状态。如果我使其无效然后再次创建,则此计时器将在5秒内触发事件。 是的,我可以跟踪每个计时器的当前时间,但这似乎很麻烦(我有很多不同的SKScenes与不同的计时器)

这是不可接受的,所以我正在寻找更好的解决方案。首先想到的是使用SKAction.waitForDuration而不是计时器。 如果这是一个很好的解决方案,我希望你的建议。我可以通过这种方式正确暂停SKActions吗?

1 个答案:

答案 0 :(得分:0)

毕竟,这似乎是一个好主意。迁移到SKAction使得暂停变得容易。