Проблемы с событием Enterframe - PullRequest
1 голос
/ 08 января 2011

Я разрабатывал игру с использованием Flex и использовал класс Timer, чтобы поддерживать основной цикл.

Однако, когда я попытался использовать событие enterFrame для выполнения основного цикла, возникло несколько проблем.

Прежде всего, физическое моделирование казалось слишком быстрым. Вызывается ли событие enterFrame более одного раза за кадр? Я установил глобальную частоту кадров приложения на 24, поэтому разве приложение не должно запускать событие каждые 1/24 секунды?

И вторая проблема заключается в том, что когда игра работает так, некоторые добавленные компоненты MXML не отображаются. Я понятия не имею, почему это происходит.

Помогите мне пожалуйста?!?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 03 марта 2011

Не рассчитывайте, что частота кадров будет четной, или что энтерфрейм вызывается с фиксированным интервалом.Даже класс таймера не является точным на 100%.

При выполнении тайминга всегда используйте дельту между обновлениями кадров и используйте эту дельту для своих вычислений.Также не забудьте указать, что дельта никогда не превышает некоторого значения, чтобы избежать странного поведения, когда приложение флэш-памяти зависает по какой-то неожиданной причине.

В этой статье все объясняется прекрасно: http://gafferongames.com/game-physics/fix-your-timestep/

1 голос
/ 08 января 2011

Частота кадров - желаемое значение.Если пользователь запускает его на медленной машине, его вывод может быть слишком медленным.Как насчет возврата к старому доброму setInterval ?

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