2012-01-17 101 views
0

我正在製作遊戲。該遊戲基於一個非常小的時間間隔(你只有5個時間做動作)。我的計時器在Flash Player中很棒,我做了5次。在網頁瀏覽器(firefox,safari ..)中,5秒計時器現在爲8秒鐘。Flash遊戲:getTimer不準確

如何解決這個問題? 這裏是我的代碼,我顯示時間:

private function updateTimer(e:TimerEvent) 
{ 
    if (this.timer.currentCount < 500) 
    { 
     var centiemes:int = 100 - Math.floor(this.timer.currentCount) % 100; 
     var secondes:int = 4 - Math.floor(this.timer.currentCount/100) % 60; 

     this.txtTemps.text = ToolBox.zeroFill(secondes.toString(), 2) + ":" + ToolBox.zeroFill(centiemes.toString(), 2); 
    } 
    else 
    { 
      this.txtTemps.text = "00:00"; 
      this.timer.stop();; 
    } 
} 

謝謝你!

+1

同樣的問題呢? http://stackoverflow.com/questions/1014009/as3-how-accurate-are-the-gettimer-method-and-the-timer-class – MrKiane 2012-01-17 18:02:36

+0

不,看來Adobe必須有正確的。似乎Timer已經被放置,因爲幀率基於處理器並且可以不同。 – 2012-01-18 09:26:50

回答

3

是計時器& setInterval不準確。

要獲得準確的時間,您可以使用計算時間差&時間或您可以使用Audiotool團隊使用的技術並使用音頻文件。你可以找到更多信息herehere

+0

我會查看這些鏈接!謝謝 ! – 2012-01-18 09:27:06