Bezdepbonusu7Программирование: статьи и ответы

Вопрос

ActionScript 3 - высокоточный метод времени (микросекунды)?

Автор вопроса: TomОтветов: 2

Мне нужен высокоточный метод времени в микросекундах, а не в миллисекундах для ActionScript, к сожалению, я не смог найти много помощи в Интернете.

Мне нужен такой контроль, чтобы реализовать использование фиксированного временного шага в переходах, как описано в этой статье: http://gafferongames.com/game-physics/fix-your-timestep/, чтобы решить мою проблему, описанную в Оптимизация плавности перехода / движения для 2D-флеш-игры

Какие-либо предложения?

  • Встроенные функции синхронизации Flash работают только с точностью до миллисекунды, чего должно быть достаточно. Методы, упомянутые в статье Gaffer on Games, не требуют разрешения в микросекундах. Вы уже пробовали это с миллисекундами и обнаружили, что это недостаточно гладко? Selene 17.08.2009
  • К сожалению, я не совсем понял состояния и интегрирующие части этой статьи, поэтому решил, что сначала найду решение для as3, не имеющего этой точности времени, прежде чем попробую. Но может ты и прав и мне не нужны микросекунды. Tom 17.08.2009

timestampactionscript-3flex3time-precision

Ответы

Ответ 1 · рейтинг 7 · Tom

Это невозможно.

Ответ 2 · rodrigot

Хотя это и не безумно точный, я считаю, что это намного более точное время, чем полагаться на ENTER_FRAME.

public var t:Timer;
public var initialTime:int;

public function setup():void{
    t=new Timer(1000); //in miliseconds
    t.addEventListener(TimerEvent.TIMER, onTimerTick);
    t.start();
    initialTime=getTimer();
}

public function onTimerTick(e:TimerEvent):void{
    trace("elapsed:"+getTimer()-initialTime);
}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы