请注意,有两个几乎同名的项目:cocos2d-android和cocos2d-android*1*。后者是前者的分支,作者之所以这样做是因为cocos2d-android项目几乎已经死亡。
起初我对cocos2d-android1(看起来是一个非常好的工作)和cocos2d-x都有疑问,但是能够用C ++(我非常喜欢)开发并且具有多平台功能使我选择了cocos2d-x。
我仍在努力学习cocos2d-x。
我喜欢它的原因:
- 它是一个C++框架
- 您可以为Android、iPhone、Bada、Blackberry Playbook、Windows和Linux等平台开发应用程序。
请注意,目前cocos2d-x团队建议使用Windows和Linux端口方便您的开发而不是用于生产。
- 它有Lua绑定
- 它有适用于Marmalade的版本(一种付费的多平台SDK)
cocos2d-x从版本4开始使用NDK。目前我正在使用NDK r7。您可以为运行Android 2.1(API 7)及以上设备开发应用程序。
似乎在Android 4上使用cocos2d-x存在一些问题(这不应该是个问题,因为它还没有普及,而且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,并且他们提供了很多支持。
在学习过程中,我写了两篇教程:
祝好。