flash.utils.Timer 对象的事件 TIMER 是否总是在 TIMER_COMPLETE 之前调度?
在第二场活动期间,我取消了在第一场活动期间需要的东西;所以他们的顺序是最重要的。我检查了文档,并不能保证他们的调度顺序。
在我所做的测试中似乎是这种情况,但我不想在没有先确认的情况下公开发布软件。
flash.utils.Timer 对象的事件 TIMER 是否总是在 TIMER_COMPLETE 之前调度?
在第二场活动期间,我取消了在第一场活动期间需要的东西;所以他们的顺序是最重要的。我检查了文档,并不能保证他们的调度顺序。
在我所做的测试中似乎是这种情况,但我不想在没有先确认的情况下公开发布软件。
You can avoid this problem by using TimerEvent.TIMER only:
private function onTimer(event:TimerEvent)
{
// ...
if (timer.currentCount == timer.repeatCount) {
// timer is complete
}
}
我几乎肯定是这种情况,因为代码似乎在播放器本身中,我认为您无法从源头获得合法确认,但是我自己和从文档如何阅读听起来好像 TIMER 事件总是在完成事件之前被调度
timerComplete 在完成 Timer.repeatCount 设置的请求数时调度。
timer 每当 Timer 对象达到根据 Timer.delay 属性指定的时间间隔时调度。
所以我想象 timerComplete 在它接收到足够的计时器事件后调度, currentCount 等于重复计数,然后调度 timerComplete ,但是如果不能查看代码,任何人都不可能完全确认这一点。可能您可以查看 Gnash 源以了解播放器的实现如何处理它,但在普通 Flash Player 中不一定相同。