Cocos2d-x vs cocos2d-android为Android游戏

时间:2011-12-13 03:08:56

标签: cocos2d-android cocos2d-x

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

的Cocos2D-X

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

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

的cocos2d-机器人

专业人员: 所有Java,更易于设置和访问特定于平台的功能

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

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

4 个答案:

答案 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充满热情,他们非常支持。

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

问候。

答案 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 - 它处于活动状态且维护良好。