Флеш игра: неточный getTimer - PullRequest
       11

Флеш игра: неточный getTimer

0 голосов
/ 17 января 2012

Я работаю над игрой. Игровой процесс основан на очень небольшом промежутке времени (у вас есть только 5 секунд, чтобы выполнить действие). Мой таймер отлично работает во Flash Player, у меня есть 5 секунд. В веб-браузере (Firefox, Safari ...) таймер 5 секунд теперь составляет 8 секунд.

Как это решить? Вот мой код, где я показываю время:

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 Ответ

3 голосов
/ 17 января 2012

Да Таймер и setInterval не точны.

Чтобы получить точное время, вы можете либо вычислить дельту между кадрами и временем, либо использовать технику, которую использует команда Audiotool, и работать с аудиофайлом. Вы можете найти больше информации здесь и здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...