Cocos2d-x vs cocos2d-android为Android游戏

Jas*_*iss 19 cocos2d-x cocos2d-android

在我的一个项目中使用'cocos2d-iphone'之后,我正在尝试决定我应该为Android游戏使用哪种Cocos2d.我个人的利弊清单:

的Cocos2D-X

专业人士:将游戏带入iOS后应该更容易,也可能是其他平台

缺点/疑惑:在Android上调试c ++代码(简单与否?),NDK应用程序与各种Android设备的兼容性(有多少问题?),访问特定于平台的功能(应用程序内购买等)

的cocos2d-机器人

优点:所有Java,更易于设置和访问特定于平台的功能

缺点:必须从Java转换为c ++或Objective-C用于其他平台

我没有想到的任何一个选项是否存在其他问题?如果有人必须做出这个选择,你选择了什么?为什么?

Mar*_*ira 25

请注意,有两个名称几乎相同的项目: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从版本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非常热衷,他们非常支持.

在学习过程中,我写了两个教程:

问候.


vgo*_*anz 5

我在两个月前遇到了同样的问题.Cocos2d-Android已经死了,所以请使用cocos2d-x.这里有一些链接和教程可以开始使用它.