Создавать новых врагов по таймеру или игровому циклу? - PullRequest
2 голосов
/ 15 февраля 2012

Я создаю игру для Android, в которой враги генерируются случайным образом, и их может быть несколько одновременно.

Лучше ли создавать врагов в случайное время из таймера (т. Е. 5 с, затем 4 с, затем 6 с ... и т. Д.) Или через игровой цикл (считать до 50, создать врага, считать до 64, создать враг).

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

Кроме того, что лучше для экономии вычислительной мощности и ускорения рендеринга изображений?

Заранее спасибо

Tom

ТАКЖЕ, если бы я использовал таймер для каждой "группы" врагов, было бы запущено 3 таймера.

1 Ответ

1 голос
/ 15 февраля 2012

Я рекомендую комбинацию: двигатель должен приводиться в действие «галочками», которые сами по себе не представляют определенной продолжительности.Все решения по двигателю должны приниматься на основе расчета времени независимо от отметок (например, System.currentTimeMillis вычитания).Таким образом, при высокой нагрузке на машину вы получаете более низкие кадры в секунду, но на расстояние движений это не влияет.Когда нагрузка ниже, вы получаете более плавную графику и движения.Вы должны проверить FPS, и если они достигают максимума, вы должны даже установить нить в спящий режим, иначе вы можете генерировать больше врагов.Если он становится слишком низким, вы можете уменьшить графические детали или предотвратить появление новых врагов, чтобы приспособиться к ситуации.Поэтому я не буду запускать таймеры, а буду хранить время для событий, которые вы предварительно рассчитали, чтобы происходить в будущем, и проверять в игровом цикле, настало ли время для них (не с точным сравнением, конечно, но с временем события <сейчас). </p>

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