Cocos2d-x против cocos2d-android для игры для Android

После использования "cocos2d-iphone" в одном из моих проектов я пытаюсь решить, какой вариант Cocos2d мне следует использовать для игры для Android. Мой личный список плюсов и минусов:

Cocos2d-х

плюсы: потом будет проще вывести игру на iOS, а возможно и на другие платформы

Минусы / сомнения: отладка кода C++ на Android (легко или нет?), совместимость приложения NDK с различными устройствами Android (насколько это сложно?), доступ к функциональности, специфичной для платформы (покупки в приложении и т. д.)

cocos2d-андроид

плюсы: все Java, проще в настройке и доступ к функциям платформы

минусы: придется переводить с Java на C++ или Objective-C для других платформ

Есть ли другие проблемы с одним из вариантов, о которых я не думал? Если кто-то должен был сделать этот выбор, что вы выбрали и почему?

4 ответа

Решение

Обратите внимание, что есть два проекта с почти одинаковыми именами: cocos2d-android и cocos2d-android *1*. Последний является вилкой первого, и его автор сделал это, потому что проект cocos2d-android был почти мертв.

Вначале у меня были сомнения по поводу cocos2d-android1 (что кажется очень хорошей работой) и cocos2d-x, но возможность развиваться на C++ (что мне очень нравится) и быть мультиплатформенным заставила меня выбрать cocos2d-x,

Я все еще пытаюсь выучить cocos2d-x.

Что мне нравится в этом:

  • Элемент списка

  • это фреймворк C++

  • Вы можете разрабатывать для Android, iPhone, Bada, Blackblerry Playbook, Windows и Linux. Обратите внимание, что в данный момент команда cocos2d-x сообщает, что порты Windows и Linux предназначены для облегчения вашей разработки, а не для производства.

  • имеет привязку Lua

  • у него есть версия для Marmalade (платный мультиплатформенный SDK)

cocos2d-x работает с NDK начиная с версии 4. В настоящее время я использую NDK r7. Вы можете разрабатывать для устройств, работающих с Android 2.1 (API 7)

Кажется, что есть некоторые проблемы с cocos2d-x на android 4 (что не должно быть проблемой, потому что и это все еще не так широко распространено, и команда cocos2d-x исправит любую проблему, с которой они сталкиваются).

Вы сможете получить доступ к определенным функциям платформы, таким как покупка в приложении, но это идет с ценой: вы будете делать почти все, используя JNI.

Определенно, это сложнее, чем просто поместить jar SDK в папку libs и напрямую вызывать функции Java, но это выполнимо.

Вы можете разрабатывать на Windows, Linux или Mac. Для каждой ОС, которую вы используете в машине разработки, процедуры для подготовки вашей среды (cocos2d-x + target SDK) различны. Это не проблема, потому что вы обычно придерживаетесь одного из них.

Теперь позвольте мне сказать вам, что не так просто отлаживать код JNI / Java. Зачем? Поскольку необходимо включить много шагов, чтобы включить это, а процесс отладки идет медленно.

Так что команда cocos2d-x советует разработать всю вашу игру для Linux или Windows, и после этого все готово, и вы компилируете ее для Android. Таким образом, вам придется решать незначительные проблемы (если таковые имеются)

Я предпочитаю разрабатывать для Android с самого начала.

В общем, я действительно счастлив, кодируя с cocos2d-x. Сообщество очень увлечено cocos2d-x, и они очень поддерживают.

В процессе обучения я написал два урока:

С уважением.

У меня была такая же проблема 2 месяца назад. Cocos2d-Android мертв, так что используйте cocos2d-x. Вот несколько ссылок и учебных пособий, чтобы начать его использовать.

Если вы знакомы с C/C++, во что бы то ни стало идите по пути Cocos2d-x. ОДНАКО, если вы пришли из Android и Java, не имея опыта работы с C++, это может быть очень болезненный опыт - привести все в порядок. Поскольку проект Cocos2D для Android в последнее время был медленным, я не скажу особо, что он мертв. Я использовал версию, размещенную на github здесь.. https://github.com/ZhouWeikuan/cocos2d

Есть несколько учебников по началу работы.

Пошаговое руководство о том, как создать свою первую игру Slider Puzzle в Cocos2d для Android - часть 1 http://denvycom.com/blog/step-by-step-guide-on-how-to-build-your-first-slider-puzzle-game-in-cocos2d-for-android-part-1/

Как сделать простую игру для Android с Cocos2D http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/

Для всех остальных, зашедших в эту ветку, надеюсь это пригодится!

cocos2d-x (98% в C++ и немного Android Java Code) является единственной версией cocos2d, полезной для Android.

cocos2d Android (вся Java) может быть полезен, если вы хотите создать несколько прототипов, но как активный проект разработки с открытым исходным кодом он давно мертв и не поддерживается.

Если вы хотите написать Java-игру на Android, используйте AndEngine - она ​​активна и в хорошем состоянии.

Другие вопросы по тегам