35
Основные понятия Cocos2d-x.
Аппроксимируя, можно сказать, что Cocos2d-x предоставляет набор
инструментов для создания базовых объектов и управления ими, однако
возможности движка простираются за пределы разработки игр предоставляя
фичи для создания приложений в целом. Будучи движком для создания игр,
кокос, включает множество компонентов, которые при совместном
использовании существенно упрощают жизнь разработчику и сокращают
время работы. Среди них: рендеринг, графика, детект столкновений,
поддержка контроллера, физический и звуковой движки, анимимацию и
прочее. Кокос предоставляет упрощенный API для кросс-платформенной
разработки, что позволяет сосредоточиться на создании, а не поддержке. В
этом разделе будет приведено максимально краткое, но емкое описание
основных особенности и приемов применения этих инструментов.
Главные компоненты Cocos2d
Director.
Класс, отвечающий за создание главной сцены приложения и
определяющий, как и когда создаются остальные сцены, т.е. здесь
осуществляется контроль над потоком операций, объектам воздействия
сообщается что, как и когда делать. Здесь же осуществляется настройка
ориентации и инициализация контекста OpenGL. Директор реализуется через
паттерн синглтон (что гарантирует наличие одного экземпляра класса и
глобальную точку доступа к нему) => вызывается из любой части программы
путем Director::getInstance()->methodName();
Директор отвечает за транзит сцен путем манипулирования со стэком
сцен. Стек устроен по принципу FI-LO (first in – last out), т.е. рабочей сценой
оказывается последняя, добавленная в стэк, а работа с предыдущей
приостанавливается. Для управления процессами используются методы
push(), pop() и replaсe(). Director::pushScene приостанавливает выполнение
текущей сцены и выталкивает новую, перемещая ее вверх стэка.