2012-07-07 17 views
2

是否在TIMER_COMPLETE之前總是調度flash.utils.Timer對象的事件TIMER?事件TIMER總是在TIMER_COMPLETE之前分派嗎?

在第二次活動中,我將第一次活動期間所需的東西取消;所以他們的順序是最重要的。我查了文檔,並沒有保證他們的調度命令。

在測試中,我已經做了似乎是這樣的情況,但我不想在沒有首先確認的情況下公開分發軟件。

回答

3

您可以只用TimerEvent.TIMER避免這個問題:

private function onTimer(event:TimerEvent) 
{ 
    // ... 

    if (timer.currentCount == timer.repeatCount) { 
     // timer is complete 
    } 
} 
+0

同意好點 – shaunhusain 2012-07-07 15:48:20

1

我幾乎可以肯定的是這種情況,因爲代碼似乎是在播放器本身就沒有想到,你可以做得到一個合法的確認信息,但是我自己總是看到這種情況,並且從文檔讀取方式聽起來好像定時器事件總是在整個事件發生之前就會發出

timerComplete 每當調度它已完成Timer.repeatCount設置的請求數。

定時器 每當Timer對象達到根據Timer.delay屬性指定的間隔時調度。

所以我想象timerComplete是在它接收到足夠的timer事件後調度的,currentCount等於重複計數,然後timerComplete被調度,但是不能看代碼,任何人都不可能完全確認這一點。可能你可以看看Gnash的源代碼,看看它是如何通過播放器的實現來處理的,但它在普通的Flash Player中不一定是相同的。

相關問題