在我的一个项目中使用'cocos2d-iphone'之后,我正在尝试决定哪种Cocos2d应该用于Android游戏。我的个人利弊清单:
的Cocos2D-X
专业人士: 以后可能更容易将游戏带到iOS,也可能是其他平台
缺点/疑惑: 在Android上调试c ++代码(简单与否?),NDK应用与各种Android设备的兼容性(有多少问题?),访问特定于平台的功能(应用程序内购买等)
的cocos2d-机器人
专业人员: 所有Java,更易于设置和访问特定于平台的功能
缺点: 必须从Java转换为c ++或Objective-C以用于其他平台
我没有想到的任何一个选项还有其他问题吗?如果有人必须做出这个选择,你选择了什么以及为什么?
答案 0 :(得分: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充满热情,他们非常支持。
在学习过程中,我写了两篇教程:
Developing with cocos2d-x for android on Linux,讲授如何使用cocos2d-x准备环境为Android开发
How to debug cocos2d-x and Java code using Eclipse详细解释了执行调试会话所需的所有步骤。
问候。
答案 1 :(得分:5)
2个月前我遇到了同样的问题。 Cocos2d-Android已经死了,所以请使用cocos2d-x。 Here开始使用它的一些链接和教程。
答案 2 :(得分:2)
如果您对C / C ++感到满意,请务必使用Cocos2d-x路线。 但是,如果你来自Android和Java背景,没有C ++经验,那么按顺序完成所有事情可能会非常痛苦。 因为最近Android项目的Cocos2D一直很慢,我不会特别说死了。我在这里使用了github上托管的版本.. https://github.com/ZhouWeikuan/cocos2d
有几个入门教程。
如何在Cocos2d for Android中构建您的第一个Slider Puzzle游戏的分步指南 - 第1部分http://denvycom.com/blog/step-by-step-guide-on-how-to-build-your-first-slider-puzzle-game-in-cocos2d-for-android-part-1/
如何使用Cocos2D制作简单的Android游戏http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/
对于所有其他人来到这个主题,我希望这很有用!
答案 3 :(得分:0)
cocos2d-x(98%的C ++和一些Android Java代码)是唯一对Android有用的cocos2d版本。
如果你想创建一些原型,那么cocos2d Android(所有Java)可能很有用,但作为一个活跃的开源开发项目,它很长时间没有被维护。
如果您想在Android上编写Java游戏,请使用AndEngine - 它处于活动状态且维护良好。