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

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

Cocos2d-x

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

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

cocos2d-андроид

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

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

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


person Jason Weiss    schedule 13.12.2011    source источник
comment
FWIW, рассмотрите свое знакомство с языком и инструментами и выберите его. Ваша первая цель — закончить игру на одной платформе. Рассмотрение более позднего порта относительно неважно, учитывая, что большинство проектов не видят света в App Store, и даже когда они это делают, они почти всегда недостаточно успешны, чтобы гарантировать порт.   -  person LearnCocos2D    schedule 13.12.2011
comment
Основываясь на знакомстве, я бы выбрал версию Java, если бы был уверен, что она достаточно стабильна. Что касается того, что я не зарабатываю деньги на iOS - это было сделано :( Cocos2d-x действительно привлекает меня своим обещанием переносимости.   -  person Jason Weiss    schedule 13.12.2011
comment
конечно выберите cocos2d-x. теперь это более официально (перейдите на сайт cocos2d-iphone и   -  person OMGPOP    schedule 23.12.2012


Ответы (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 + целевые SDK) различаются. Это не проблема, потому что вы обычно придерживаетесь одного из них.

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

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

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

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

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

С Уважением.

person Plicatibu    schedule 13.12.2011
comment
Эти уроки полезны. Но я работаю в Windows 7. Эти руководства работают так же в Windows 7? - person AndroidDev; 04.08.2012
comment
К сожалению нет. Мне не удалось заставить его работать на Windows + Cygwin. Прости. - person Plicatibu; 06.08.2012
comment
сделать поддержку cocos2dx cocos2d-2.0-x-2.0.2 в linux‹br/›(ubuntu 11.10) для Android, я столкнулся с проблемой загрузки модуля ‹br/›$(вызовите import-module,CocosDenshion/android) $( call import-module,cocos2dx) $(call import-module,extensions) - person Sameer Z.; 23.10.2012
comment
К сожалению, я не использую cocos2d-x, так как они запустили версию 2.0, поэтому я не могу вам помочь. - person Plicatibu; 24.10.2012
comment
@MarcioAndreyOliveira, ты все еще используешь cocos2d-x? стоит ли использовать.. ? - person user739711; 08.01.2013

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

person vgonisanz    schedule 23.05.2012
comment
Каждый раз, когда я проверяю учебник, он либо просит установить все, что совместимо с COCOS, либо некоторые говорят добавить строки где-то, но не указывают, где и почему. Никто не предоставляет никакого разумного учебника для начинающих. - person Harpreet; 06.03.2013
comment
Если вам не нравятся официальные руководства: cocos2d-x.org/ Projects/cocos2d-x/wiki/ вы можете следить за этой книгой: cocos2dbook.com/book ; Это для Objective-C, но с небольшими изменениями полезно - person vgonisanz; 06.03.2013

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

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

Пошаговое руководство о том, как создать свою первую игру-головоломку 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/

Надеюсь, это будет полезно для всех, кто зайдет в эту тему!

person Vykthur D .    schedule 26.02.2014

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

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

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

person Naligator    schedule 09.10.2013