暂停CFTimeInterval计时器?

时间:2014-06-12 05:15:43

标签: ios objective-c timer

在我的游戏中,我的更新循环中有一个计时器,它根据此行返回的时间间隔更新标签:

elapsedTime = 90 - (CFAbsoluteTimeGetCurrent() - startTime);

现在是90岁的时间。我像这样设置startTime:

startTime = CFAbsoluteTimeGetCurrent();

现在我的目标是"暂停"当我进入暂停菜单时,这个计时器。但是我无法绕过它的后勤工作。

当我暂停时,我应该将startTime设置为0吗?如果是这样,我会在简历方法中做些什么?

基本上,如果用户在85秒后暂停游戏,我希望用户在暂停屏幕上返回85秒后静止不动。我怎么做到这一点?

2 个答案:

答案 0 :(得分:1)

我得到了答案。我刚刚做了我现在正在做的事情,但是我为暂停的屏幕添加了另一个计时器,我只是在暂停时不断添加它,然后我将该计时器合并到我的游戏计时器中并且计算出来了。

答案 1 :(得分:0)

您可以存储自计时器启动以来经过的时间量。

使用NSDate,您可以存储计时器的startTime,而不是使用-timeIntervalSinceNow来检索传递的时间。