2011/3/21

FLASH - 精準的Timer

我們知道 flash 裡面內建的 Timer 是不精準的(有痛苦過的就知道)
為此我用 EnterFrame 事件和 new Date() 取得系統時間
做了一個精準的Timer (比較吃效能是當然的)

當然也可以用一個高速的 Timer 去取代 EnterFrame
不過原理是一樣的,就是儲存 Timer 產生的誤差

以下是程式碼
http://paste.plurk.com/show/403072/

這個就是以系統時間為基礎的精準的Timer


如果今天我們想要讓flash動畫和音樂同步
那麼就應該做一個 SoundTimer 是以 SoundChannel.position 的值為基礎
而不是以系統時間為基礎

那麼他的建構式大概就會長這樣 new SoundTimer(soundChannel:SoundChannel)
然後我們就可以用這個 SoundTimer 來做音樂遊戲了

沒有留言: