Зачем использовать Cocos over UI Kit для 2D-игры для iPhone? - PullRequest
4 голосов
/ 09 марта 2011

Я уже некоторое время строю игру в кокосах, и мне только что пришло в голову, что использовать UIKit намного проще.

Не могли бы вы помочь мне взвесить профессионалов?и минусы, и поделиться своим опытом.

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

Кокосы

  • Движок игры поставляется бесплатно.Пауза / возобновление обратных вызовов каждый кадр
  • Анимация спрайта
  • Использует открытый GL (это правда? Это преимущество?)
  • ... Помогите мне подумать еще!

UI Kit

  • Гораздо больше Помощь / Документация / Пример кода
  • Фамилия для программистов iPhone
  • Простое касание
  • Простая анимация просмотра
  • Простота настройки
  • Более быстрая загрузка?(это правда?)

Любая обратная связь будет отличной!

EDIT : Я только что видел видео для разработчиков (в открытой игре GL под названием Quest) где они использовали UI Kit для элементов UI, нарисованных поверх GL View.Возможно ли это / практично с кокосами?

Ответы [ 2 ]

11 голосов
/ 09 марта 2011
  1. Cocos2d использует OpenGL для рисования своих спрайтов, движений и частиц. Попытка использовать Quartz / Core Graphics (которая НЕ ускоряется!) Существенно медленнее и требует больше энергии.
  2. Cocos2d - это библиотека спрайтов, в первую очередь со сценографом. Вы будете дублировать усилия, чтобы сделать сценограф, используя UIKit.
  3. В Cocos работает много хороших халяв, которые вам придется разрабатывать с нуля.

Итак, вкратце: он рисует намного быстрее, чем вызовы при рисовании с привязкой к ЦП, он обеспечивает 95% того, что нужно большинству игр на основе спрайтов, не изобретая одно и то же снова и снова, и является бесплатным.

3 голосов
/ 12 марта 2011

Несмотря на то, что UIKit невероятно полезен для игр, Cocos2D предлагает множество простых способов для выполнения многих распространенных операций по созданию игр. Например, у него есть возможность создавать легкие игры с прокруткой (очень распространенные и очень популярные), используя несколько строк кода для импорта набора «плиточных» карт. С точки зрения некоторых преимуществ UIKit по сравнению с Cocos2D, которые вы упомянули, они также очень просты в реализации в Cocos2D.

Сенсорная обработка: Это так же просто, как заменить метод «touchesBegan» UIKit на «ccTouchesBegan» и установить self.isTouchEnabled = YES в методе init.

Анимация: Это намного проще в Cocos2d, в основном потому, что решаются проблемы с частотой кадров и анимацией. В UIKit вы не можете использовать CoreAnimation для перемещения объекта, все еще реализуя обнаружение столкновений. Вы должны были бы оживить объект с помощью NSTimer. В Cocos2d вы можете легко анимировать объекты (называемые спрайтами) и по-прежнему использовать обнаружение столкновений и взаимодействие с объектом.

Дополнительная справка / документация: Cocos2D предлагает невероятное количество документации и, тем более, примеры кода! Если вы не можете найти его там, растет число разработчиков игр для iPhone, которые внедряют Cocos2D в свои приложения и готовы помочь во многих проблемах.

Если вы планируете разрабатывать игры для iPhone, а не только обычные приложения для повышения производительности, музыки и т. Д., Я настоятельно рекомендую Cocos2D. Помните, что вы всегда можете найти способы объединить это и UIKit для многих операций! Эти операции не полностью потеряны!

...