Подтвердить что ты не робот

Cocos2d для iPhone против Cocos2d-x

Я работал с Cocos2d для iPhone и нашел его восхитительным. Я запускаю другой проект и наткнулся на Cocos2d-x, порт С++. Меня соблазняет мысль о возможности (с учетом) создания нескольких платформ сразу. Мне одинаково нравится Obj-C и С++, и я не ищу сравнения между этими двумя языками, если только это не связано с работой с Cocos2d.

Кто-нибудь работал с обеими версиями движка, и можете ли вы прокомментировать конкретные плюсы и минусы этих двух? Закончен ли Cocos2d-x? Надежный?

4b9b3361

Ответ 1

Приманка многоплатформенных сборков - это кошмар в маскировке. Любой веб-дизайнер расскажет вам ужасные истории о попытке перетащить IE с помощью Firefox с Chrome с любым одновременно. Вы не сможете получить больше продаж, потому что вы смогли запустить на Android/iOS/и т.д. В первый день. Скорее всего, ваши попытки мультиплатформенности будут ограничить ваше приложение способами, которые убьют его на всех платформах. Лучше всего начать с одной платформы, закончить это, а затем построить для других. Ваш конечный продукт будет вам благодарен.

Нет никаких плюсов и минусов для Cocos2d-x, если вам не нравится С++ больше, чем Obj-C.

Ответ 2

Я бы согласился, что вам следует сосредоточиться на разработке для одной платформы, пока у вас не будет хорошего твердого продукта. Однако многие разработчики, которые делают это после того, как факт осознает, сколько усилий и дополнительных затрат необходимо, чтобы полностью переписать игру на новой платформе. Было бы немного заранее подумать, что вы можете свести к минимуму необходимость в доработке и, таким образом, минимизировать свою стоимость, как только вы будете готовы портировать игру. Android слишком большой доли рынка, чтобы полностью игнорировать его; на мой взгляд, Cocos2d-x - это путь, если вам нравится Cocos2d.

Ответ 3

Я не знаю о cocos2d-iphone, но я знаю о cocos2d-x.

Плюсы:

  • cocos2d-x использует С++ (ну, на самом деле это не pro для некоторых, но для меня это pro pro)
  • Вы можете легко развернуть их на разных платформах, предполагая, что вы правильно настроили его (см. ниже).
  • Он поддерживает Lua и JavaScript, для еще более простого кодирования

Минусы:

  • cocos2d-x имеет практически никакой документации. Вы будете полагаться на тестовые проекты и API Reference. Слава богу, есть такие люди, как Nat Weiss, которые сделали обучение доступным для пользователей. (http://paralaxer.com/cocos2d-x-book/)
  • Настройка вашего проекта для работы на каждой платформе - это хлопот. Вы должны быть хорошими в нескольких IDE, а также командах командной строки/терминалов
  • Большинство скриптов, которые поставляются с библиотекой для создания новых проектов, не являются многоплатформенными, то есть вам все равно придется настраивать их индивидуально для всех платформ.
  • Интеграция сторонних SDK, таких как Facebook, реклама и другие материалы, занимает много времени с тех пор, как вам придется реализовать их для каждой платформы, на которую вы нацеливаете

Ответ 4

Я разрабатываю с cocos2d-x для iphone, и он работает отлично для меня. Только проблема, которую вы можете обнаружить, это то, что api всегда немного отстает от cocos2d для версии iphone. Однако api сам по себе является надежным и факсимильным в большинстве случаев оригиналом.

Если вы серьезно относитесь к переносу на другую платформу, хотя сначала попытаетесь добиться успеха на одной платформе, cocos2d-x - это путь, потому что вам не нужно будет переписывать суть вашего кода в каком-то другом язык позже (т.е. порт от С++ до objc или от objc до С++).

Ответ 5

Я работал с Cocos2d и Cocos2d-X только для разработки iPhone (пока). Я работал с Cocos2d около 1,5 лет и перешел на Cocos2d-x за последние шесть месяцев или около того. Сначала я не хотел переезжать в Cocos2d-x, потому что, по-моему, он все еще созревал. Coco2d 2.0 вышел с большим количеством изменений, и я знал, что он хорошо развернут и протестирован. Coco2d-x показалось, что он все еще в движении. Это изменилось, и я решил использовать Cocos2d-x на время, пока он продолжает поддерживаться.

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

Мне нравится работать в мире Object-C и С++. Я не знаю, смогу ли я когда-либо переносить свои "вещи" на Android, но неплохо иметь этот вариант.

Однако решающий множитель BIG для меня был возможностью повторного использования. Я создаю множество компонентов и виджетов, которые я повторно использую в других проектах. Если я разработал только для iOS, Objective-C - это путь. Но я работаю в основном на С++, и я не хочу перекодировать все идеи с одного языка на другой каждый раз, когда я хочу вытащить тестируемый инструмент из окна инструмента.

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

Ответ 6

В настоящее время я работаю над cocos2d-x, и я очень доволен этим. Мой совет должен был начать проект на одной платформе (я предпочитаю IOS). И когда вы успешно запустили на одной платформе, начните с другой.

Если ваша игра станет успешной, в конце вам придется запускать и на другой платформе. Так что лучше планировать заранее.

Ответ 7

Я бы придерживался Cocos2D-iphone. Сосредоточьтесь на продукте от большего сообщества с большим количеством ресурсов. Когда вы будете готовы к порту, используйте apportable для компиляции вашего приложения для андроида, когда это будет сделано.