преимущества и недостатки наличия нескольких циклов вспышки - PullRequest
1 голос
/ 11 января 2010

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

Ответы [ 3 ]

0 голосов
/ 12 января 2010

Я склонен копировать модель, используемую в платформе XNA для C #. То есть у меня есть класс, который имеет один основной цикл обновления. Затем он проходит по всем сущностям и вызывает их цикл обновления.

0 голосов
/ 04 февраля 2010

Использование одного основного цикла определенно упрощает добавление функции приостановки / отмены. В общем, игровые движки без Flash имеют единый основной игровой цикл. Отдельные объекты имеют функции update() и draw(), которые вызываются из основного цикла.

Вот хорошее объяснение концепции Flash: Приостановите игру во Flash AS3 .

0 голосов
/ 11 января 2010

Я не знаю, что термин "петля" здесь обязательно правильный.

Если вы говорите о наличии единого DocumentClass, который контролирует все, а не множество классов (т.е. большинство ваших основных визуальных элементов имеют свои собственные классы со своей внутренней логикой), то это в некоторой степени вопрос личного предпочтение. Тем не менее, вообще говоря, это, вероятно, хорошая идея, чтобы разделить ваши проблемы как можно больше.

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

Вместо того чтобы дважды выписывать всю сложную логику для каждого монстра, вы просто создаете класс Monster, и тогда вы знаете, что он всегда будет реагировать одинаково, даже если вы поставите миллион на сцену. И вам нужно всего лишь написать код один раз.

Это имеет смысл? Это довольно неопределенный вопрос, но да - если вы хотите использовать подход «программиста», всегда лучше написать как можно меньше кода. В случае архитектуры Flash это часто означает, что ваш код должен жить там, где его можно наиболее эффективно использовать повторно.

Я надеюсь, что поможет!

...