Flash AS3定时器非常关闭

Chr*_*ris 3 flash timer actionscript-3

我正在使用Flash CS4和AS3.我想要一个定时器以50 ms的间隔调用一个函数100次.然而,计时器需要的时间比它应该的长得多,在100次重复后,它会增加1677毫秒(1.677秒!).我在这里遗漏了什么或计时器不准确吗?

function test(event:TimerEvent):void{
   trace("GetTimer(): " + getTimer() + " || Timer.currentCount: " + _timer.currentCount);
}

var _timer:Timer = new Timer(50, 100); 
_timer.addEventListener(TimerEvent.TIMER, test); 
_timer.start();
Run Code Online (Sandbox Code Playgroud)

跟踪输出:

GetTimer():74 || Timer.currentCount:1

GetTimer():140 || Timer.currentCount:2

GetTimer():209 || Timer.currentCount:3

GetTimer():275 || Timer.currentCount:4

GetTimer():340 || Timer.currentCount:5

GetTimer():407 || Timer.currentCount:6

GetTimer():476 || Timer.currentCount:7

GetTimer():542 || Timer.currentCount:8

GetTimer():608 || Timer.currentCount:9

GetTimer():677 || Timer.currentCount:10

......

GetTimer():3340 || Timer.currentCount:50

......

GetTimer():6677 || Timer.currentCount:100

感谢帮助.

问候,

克里斯

alx*_*lxx 8

不要使用Timer这么短的间隔.Flash中的时间并不是一个简单的主题,请看这个开始.要测量50毫秒,我建议使用getTimer()函数和ENTER_FRAME事件来检查时间间隔是否已经过去.