两个计时器之间的差异

时间:2013-08-30 01:36:04

标签: cocos2d-iphone

我需要在游戏中使用两个计时器,一个以秒为单位,另一个以毫秒计。我有2个标签,函数和变量。第一个函数的间隔为1.0,另一个函数为0.001。但0.001计时器总是慢于1.0(例如700ms和1s)。我该如何解决?

3 个答案:

答案 0 :(得分:2)

你绝不应该假设在N毫秒内触发的计时器将在这个时间间隔内被调用。

定时器设计为在等待至少 N毫秒后触发,并且由于线程优先级,它几乎肯定会在等待更长时间后触发。

另外,如果你正在处理定时器触发器中花费超过一毫秒的事情,你基本上会“跳过”某些触发器并获得你描述的较低值。

要获得时间,请使用日期差异,而不是计时器计数器。

Getting the time elapsed (Objective-c)

答案 1 :(得分:0)

嗯...为什么不只是使用一个计时器并打勾1k ms。一秒钟?设置标志,调用func。我无法想到需要多个计时器的好理由(微控制器维修硬件除外,但显然不是你正在做的事情)。

答案 2 :(得分:0)

你为什么数秒?你不应该根据时钟开始和当前时钟之间的差异来计算时间吗?这会使定时器匹配,因为它们来自同一个引用。听起来你实际上是根据计时器任务计算的。这将使累积时间因线程执行等而异。