Scheduler.scheduleGlobal的奇葩问题

希望0.05s调用一次updateFrame函数

self.handle = Scheduler.scheduleGlobal(handler(self,self.updateFrame), 0.05)–0.05秒执行一次逻辑

在updateFrame中打印dt
function FightView:updateFrame( dt )
print(“间隔时间====”,dt )
end

=================
结果
间隔时间==== 0.066008999943733
间隔时间==== 0.065664000809193
间隔时间==== 0.065287001430988
间隔时间==== 0.065073996782303
间隔时间==== 0.06598299741745
间隔时间==== 0.066103003919125
间隔时间==== 0.064836002886295
间隔时间==== 0.065025001764297
间隔时间==== 0.064920000731945
间隔时间==== 0.050160996615887
间隔时间==== 0.064902000129223
间隔时间==== 0.065009012818336
间隔时间==== 0.064137995243073
间隔时间==== 0.050030998885632
间隔时间==== 0.064918003976345
大概都是差0.015左右的时间

============================================
同样的代码
self.handle = Scheduler.scheduleGlobal(handler(self,self.updateFrame), 0.04)中的时间修改为0.04
间隔时间==== 0.048616997897625
间隔时间==== 0.048005998134613
间隔时间==== 0.047991003841162
间隔时间==== 0.050117000937462
间隔时间==== 0.048863999545574
间隔时间==== 0.048945002257824
间隔时间==== 0.048992998898029
间隔时间==== 0.050009001046419
间隔时间==== 0.049035996198654
间隔时间==== 0.049104999750853
间隔时间==== 0.048982001841068
间隔时间==== 0.049887999892235
间隔时间==== 0.050989996641874
间隔时间==== 0.04899699985981
大概都是差0.01左右的时间

这可如何是好呢?

===========================
另外像大家求个想0.05s执行一次updateFrame()函数,比较好的方法

在enterFrame里判断时间戳…

貌似是不行吧,所有的计时器都是基于帧事件的,每秒60帧的话,精度就是0.016,如果怕误差太大的话还是在帧事件里处理,自定义一个时间变量,通过判断来触发事件