【问题标题】:Cocos2d-x vs cocos2d-android for an Android gameCocos2d-x 与 cocos2d-android 的 Android 游戏
【发布时间】:2011-12-13 03:08:55
【问题描述】:

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

Cocos2d-x

优点:以后将游戏带到 iOS 应该会更容易,其他平台也可能如此

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

cocos2d-android

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

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

这两个选项是否还有其他我没有考虑过的问题?如果有人必须做出这个选择,你会选择什么?为什么?

【问题讨论】:

  • FWIW,请考虑您对语言和工具的熟悉程度,然后选择那个。您的第一个目标是在一个平台上完成您的游戏。考虑到大多数项目都没有看到 App Store 的光芒,即使看到了 App Store,他们也几乎总是不够成功,不足以保证移植。
  • 基于熟悉程度,如果我确定它足够稳定,我会选择 Java 版本。至于在 iOS 上不赚钱 - 已经做到了 :( Cocos2d-x 的可移植性承诺确实吸引了我。
  • 当然选择cocos2d-x。现在更正式了(去 cocos2d-iphone 网站和最新的

标签: cocos2d-android cocos2d-x


【解决方案1】:

请注意,有两个项目名称几乎相同:cocos2d-android 和 cocos2d-android*1*。后者是前者的一个分支,它的作者这样做是因为 cocos2d-android 项目几乎死了。

一开始我对 cocos2d-android1(这似乎是一个很好的工作)和 cocos2d-x 抱有疑问,但是用 C++ 开发(我非常喜欢)和多平台的可能性让我选择了cocos2d-x.

我还在努力学习cocos2d-x。

我喜欢它的地方:

  • 列表项

  • 这是一个 C++ 框架

  • 您可以针对 Android、iPhone、Bada、Blackblery Playbook、Windows 和 Linux 进行开发。 请注意,目前 cocos2d-x 团队建议 Windows 和 Linux 移植是为了方便您的开发而不是生产。

  • 它有一个 Lua 绑定

  • 它有一个 Marmalade 版本(一个付费的多平台 SDK)

cocos2d-x 从第 4 版开始就可以与 NDK 一起使用。目前我正在使用 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 非常热情,他们非常支持。

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

问候。

【讨论】:

  • 这些教程很有帮助。但我在 Windows 7 中工作。这些教程在 Windows 7 中是否相同?
  • 很遗憾没有。我未能使其在 Windows + Cygwin 上运行。对不起。
  • 在 linux 中做 cocos2dx cocos2d-2.0-x-2.0.2 支持
    (ubuntu 11.10) for Android,我在模块加载中面临以下问题
    $(调用import-模块,CocosDenshion/android) $(call import-module,cocos2dx) $(call import-module,extensions)
  • 很遗憾,cocos2d-x 从 2.0 版本开始我就没有使用过,所以我无法为您提供帮助。
  • @MarcioAndreyOliveira 你还在用 cocos2d-x 吗?值得用吗?
【解决方案2】:

我在 2 个月前遇到了同样的问题。 Cocos2d-Android 已经死了,所以使用 cocos2d-x。 Here一些链接和教程开始使用它。

【讨论】:

  • 每次我查看教程时,它要么要求安装与 COCOS 兼容的所有内容,要么说要在某处添加行,但没有指定在哪里以及为什么。没有人为初学者提供任何合理的教程。
  • 如果你不喜欢官方教程:cocos2d-x.org/projects/cocos2d-x/wiki/…你可以关注本书:cocos2dbook.com/book;它适用于 Objective-C,但稍作改动就很有帮助
【解决方案3】:

如果您对 C/C++ 感到满意,请务必选择 Cocos2d-x 路线。 但是,如果您来自 Android 和 Java 背景,没有 C++ 经验,那么让一切井井有条可能是一种非常痛苦的经历。 鉴于 Cocos2D for Android 项目最近一直很慢,我不会特别说它已经死了。我在这里使用了托管在 github 上的版本.. https://github.com/ZhouWeikuan/cocos2d

有几个入门教程。

关于如何在 Cocos2d for 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/

如何用Cocos2D制作一个简单的Android游戏http://dan.clarke.name/2011/04/how-to-make-a-simple-android-game-with-cocos2d/

对于所有来到这个帖子的人,我希望这很有用!

【讨论】:

    【解决方案4】:

    cocos2d-x(98% 使用 C++ 和一些 Android Java 代码)是唯一适用于 Android 的 cocos2d 版本。

    cocos2d Android(全 Java)如果您想创建一些原型可能会很有用,但作为一个活跃的开源开发项目,它早已死去,也没有得到维护。

    如果您想在 Android 上编写 Java 游戏,请使用 AndEngine - 它很活跃且维护良好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多