Лучший способ провести время в играх - PullRequest
0 голосов
/ 12 августа 2011

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

Я делаю игру, похожую на Touhou по стилю, для изучения AS3, но этоИгра приурочена к музыке.Образцы пуль, нерест врагов и специальная графика будут приурочены к определенному времени в музыке.Что мне интересно, так это:

Каков наилучший способ точно рассчитать время многих (!) Событий, которые должны быть очень точными и не ускользнуть даже из-за синхронизации?

Пример того, какое время я ищу: s Появление 5 различных типов врагов в 1:30 минут, паттерн пули противника 1 начинается в 1:31, паттерн пули будет рассчитан на удар, поэтому повторяйте паттерн каждый2 секундыЭто простой и короткий пример того, к чему я стремлюсь.

1 Ответ

0 голосов
/ 12 августа 2011

Для синхронизации объектов и анимации вы должны прослушать событие ENTER_FRAME, затем получить текущее время в миллисекундах с помощью:

var now:Date = new Date();
var timeInMilis:int = now.getTime();

и проверить, нужно ли перемещать, добавлять и т. Д. Какие-либо объекты.основанный на этом времени.

Что касается синхронизации звука, вы, вероятно, будете в порядке, просто нормально воспроизводя звуки во время события ENTER_FRAME.Но flash склонен добавлять задержку к звукам, что означает, что они не всегда будут воспроизводиться сразу после того, как вы вызовете для них .play () (не слишком много, в порядке миллисекунд).Если вам нужна сверхточная синхронизация, вам может потребоваться реализовать собственный микшер, используя методы, описанные здесь и здесь .

Удачи!

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