Разделение игры на несколько отдельных частей
Я копаюсь в игровом движке Starrus CitrusEngine. Я пытаюсь понять идею структурирования игры.
Если вы посмотрите на chrome.angrybirds.com или puddingmonsters.com, то увидите, что игры загружают состояния (активы StarlingState) динамически, что разумно. Когда игра запускается в виде заставки, вы получаете предварительный загрузчик, который загружает основное состояние (домашний, настройки и просмотр уровня выбора), и когда вы выбираете уровень, снова отображается предварительный загрузчик, который загружает состояние уровня. Похоже, что они создали несколько частей для игры, а затем соединяют их вместе, где отображается предварительный загрузчик при переключении с одной части на другую.
Как мы должны это делать в Starling/CitrusEngine? Какая логика здесь? Флэш-игры обычно загружают все ресурсы в начале, что не очень удобно для мобильных устройств. Разумно ли иметь несколько классов StarlingCitrusEngine, или вам следует обрабатывать всю игру в одном классе StarlingCitrusEngine? Пожалуйста, объясните подробно.
Большое спасибо за ответы.
1 ответ
Флэш-игры обычно загружают все ресурсы в начале, что не очень удобно для мобильных устройств.
Я с тобой согласен. Лучше было бы динамически загружать активы по мере необходимости. Если это возможно, попробуйте сделать один спрайт дерьмо для каждого представления. Это могут быть меню, игра, игровые уровни и многое другое...
Как бы то ни было, если вы можете сделать свою игру одним спрайтовым дерьмом, это, вероятно, будет лучше, так как вам вообще не понадобится загрузка.
Также подумайте о наличии нескольких активов для разных разрешений. Это может сэкономить вам много памяти на небольших устройствах.
Еще одним стимулом является реализация прелоадера на собственном рабочем месте. Я никогда не делал этого раньше, но это звучит как хорошая идея. Я думаю, вам понадобится новый скворец. Это приведет к более высокой производительности, но это не связано с вашими проблемами с памятью.
PS Вы уже видели Gazman SDK?