Ответ 1
Что лучше для реализации 2D/3D-игр?
- Трудно сказать, но API более высокого уровня всегда есть, чтобы облегчить вам работу. Например, вы пишете 2D-съемку. Вы, скорее всего, будете использовать игровой цикл, вы захотите использовать спрайты и заставить их перемещаться по экрану. Возможно, вам нужны анимации, такие как взрывы. В конце концов вы создадите свой собственный API более высокого уровня, чтобы делать эти вещи. Cocos2D уже решил эти проблемы. Любой другой каркас должен был решить это.
Зачем нам нужно изучать OpenGL, если у нас есть простые фреймворки, такие как cocos2d?
- Если вам нравится цитировать стандартное поведение фреймворка, особенно часть чертежа, вы должны войти в openGL. Если есть что-то, что вам нравится, которое не выходит из строя, вы можете переопределить базовый класс. Например, посмотрите на шейдеры, используемые в Cocos2D 2.0. Если вам нравится какой-то специальный режим смешивания, например, эффект тонировки, вы не получите его бесплатно. Для CCSprite есть атрибут цвета, но это может быть не результат, которого вы ожидаете. Поэтому вам придется написать свой собственный шейдер и подключить его к спрайту, который вам нравится показывать другим способом.
Что вы можете делать с OpenGL, что вы не можете сделать с cocos2d?
- Это сравнение действительно не работает, поскольку cocos2d облегчает opengGL для части чертежа, чтобы создать этот более высокий уровень api и сделать вашу жизнь проще в качестве разработчика игр.