Существует разница между Timer
и использованием frame event
с последствиями для обновления этапа, а не только на старых компьютерах.
Вы можете установить предлагаемые настройки частоты кадров в секунду как часть .fla
файла, и скомпилированный .swf
сделает все возможное, чтобы не отставать от предложенного параметра.Если это невозможно, он начинает пропускать кадры, чтобы не отставать.
Если вы определили некоторые взаимодействия, например анимацию, для событий кадра или с помощью счетчика кадров, они будут выполняться скадры, это означает, что более высокий fps приведет к более быстрой анимации.Если вместо этого анимация опирается на таймер, она будет выполняться вместе с таймером.
Выполнение с таймером сохранит взаимодействия в реальном времени за счет некоторой изменчивости анимаций.Хороший способ проверить, правильно ли вы реализовали таймер для цикла обновления, - снизить частоту кадров до 1
или 2
и посмотреть, завершится ли анимация за то же время (± 1 с).
Поскольку вы пометили game-development , я бы рекомендовал использовать комбинацию.
Для проверки ввода, загрузки ресурсов и проверки следует использовать цикл с использованием Timer
.игровое состояние (input
, load
, update
)
Цикл с использованием ENTER_FRAME
должен использоваться для изменения доступных активов (render
)
Цикл с использованием EXIT_FRAME
следует использовать для выгрузки ресурсов (unload
);
Причина комбинации заключается в том, что вы сможете выполнять простые вычисления на регулярном интервале времени, но вы не будете тратить время на рендеринг.-специфическая логика, пока рендеринг на самом деле не нужен.Кроме того, это позволит синхронизировать ресурсы, критичные ко времени, даже на медленных компьютерах.