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, и они очень поддерживают.
В процессе обучения я написал два урока:
Разработка с помощью cocos2d-x для Android на Linux, которая учит, как подготовить вашу среду для разработки на Android с использованием cocos2d-x
Как отлаживать код cocos2d-x и Java с помощью Eclipse, который подробно объясняет все необходимые шаги для выполнения сеансов отладки.
С уважением.
У меня была такая же проблема 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 - она активна и в хорошем состоянии.