Android 游戏的 Cocos2d-x 与 cocos2d-android

2023-12-27

在我的一个项目中使用“cocos2d-iphone”后,我试图决定应该在 Android 游戏中使用哪种风格的 Cocos2d。我个人的优点和缺点清单:

Cocos2d-x

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

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

cocos2d-android

pros:全Java,更容易设置和访问特定于平台的功能

cons:对于其他平台,必须从 Java 转换为 C++ 或 Objective-C

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


请注意,有两个项目几乎同名: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) 以来运行的设备进行开发

似乎 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 非常热情,并且非常支持。

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

  • 在 Linux 上使用 cocos2d-x for android 进行开发 http://blog.plicatibu.com/developing-with-cocos2d-x-for-android-on-linux/,它教授如何准备环境以使用 cocos2d-x 进行 Android 开发

  • 如何使用 Eclipse 调试 cocos2d-x 和 Java 代码 http://blog.plicatibu.com/how-to-debug-cocos2d-x-and-java-code-using-eclipse/详细解释了执行调试会话所需的所有步骤。

Regards.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 游戏的 Cocos2d-x 与 cocos2d-android 的相关文章

  • 4.3.1 位置变化动作

    4 3 1 位置变化动作 2013 05 21 10 12 火烈鸟网络科技 人民邮电出版社 我要评论 0 字号 T T Cocos2d x高级开发教程 第4章动作 在这一章中 我们将为大家详细介绍各种动作的使用方法 读完本章后 读者将会学到
  • mesa图解

    http www sourcecodebrowser com mesa 7 8 2 state 8c html
  • NDk AndRoid

    史上最全系列之开发环境搭建之NDK 2 作者 sk 更新于 06月01日访问 3432 评论 29 前言 由于Monica 小MM 一篇 史上最全Android开发环境搭建 一下子就包含了jdk android sdk ADT 等都包含了下
  • Cocos2d-x Js Binding 的手动绑定实现

    http www ityran com archives 4902 Cocos2d x Js Binding 的手动绑定实现 一叶 cocos2d x 08 13 2304 4条评论 随着 Cocos2d x 的发展 Cocos2d htm
  • CCMoveBy和CCMoveTo有什么区别?

    CCMoveBy和CCMoveTo有什么区别 cocos2d里面的CCMoveBy 和CCMoveTo有什么区别 含义不同的地方在那块 那位高人给解释一下 谢谢 insul 2010 09 14 18 52 by是相对于当前位置 to是到该
  • Cocos2d-x JSB 自动绑定bindings-generator (以下简称B-G) 使用心得

    文章转载自 http www cocoachina com bbs read php tid 177904 B G 是什么 当使用JSB的时候 如果你想要使用的C 的类或者方法没有在已有JSB中被绑定 这时候 就可以使用B G 它可以生成相
  • pvr 与 png 的内存占用

    原文链接 http blog sina com cn s blog 6fbe210701015j7z html Zwoptex 生成的 spritesheet 除了可以导出 png 格式的图片外还有 pvr 格式 pvr 格式是 iOS 的
  • cocos2d-x学习笔记(持续更新)

    接受触屏事件的优先级是值越小 响应触屏事件的优先级越高 Z值越大 越外面 粒子系统设计工具 Particle Designer软件 目前只支持MAC平台 导出 plist文件 地图设计工具 Tiles 目前有两个版本 一个是Java版本 另
  • cocos2dx跨平台直播实例-ffmpeg-ios篇

    一 环境 mac 10 12 2 cocos2dx 3 13 1 ffmpeg 3 0 二 新建项目和编译库 cocos2dx按照官网新建一个实例 ffmpeg编译ios库http blog csdn net u013654125 arti
  • CocosCreator 游戏小地图/地图雷达

    更多笔记和源码请关注 微信公众号 CocosCreator笔记 演示 ps 请注意左上角 技术摘要 大地图与小地图坐标转换 更新小地图中元素及视口位置 拖动小地图中视口位置 更新Main Camera位置 实现 01 小地图 图片 的宽高比
  • Cocos2dx-OpenGL ES2.0教程:编写自己的shader(2)

    在上篇文章中 我给大家介绍了如何在cocos2d x里面绘制一个三角形 当时我们使用的是cocos2d x引擎自带的shader和一些辅助函数 在本文中 我将演示一下如何编写自己的shader 同时 我们还会介绍VBO 顶点缓冲区对象 和V
  • 环境搭建Cocos2d-x学习之创建Android工程和编译

    http www cnblogs com lhming archive 2012 06 27 2566467 html 安装好 相应的环境之后 我们便可以开始创建cocos2d x 的android 工程了 进入cocs2d x目录 用文本
  • jni 调用以自定义 java 接口作为参数的 java 方法

    我正在cocos2d x平台上开发一个插件项目 我想编写一些c 包装器接口来通过调用java方法JNI from jar软件开发工具包 我知道如何使用 JNI 调用静态 java 方法 但我对 java 函数中的接口参数感到困惑 我有一个处
  • ios 在“确认您的应用内购买”对话框中显示不同的价格

    为 iOS 应用添加应用内购买 我可以成功购买该产品 但 确认您的应用内购买 对话框始终显示与我格式化的本地化价格相比的额外价格 示例 产品的本地化价格为 39 99 欧元 但在确认对话框中 产品的价格增加到 41 73 欧元 预先感谢您提
  • 在 Cocos2d-x 中创建 InAppPurchase [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我是 Cocos2d x 的新手 我需要为 Cocos2d x iOS 游戏 CPP 创建 InAppPurchase 任何人都可以帮助我
  • 如何使用 Marmalade 编译 Cocos2d-X?

    有谁知道教程 或者三个简单的步骤来编译我用 Cocos2d x 和 Marmalade 编写的代码 我想将我已经在 Cocos2d X 中编译和使用的代码插入到 marmalade 项目中 然后进行编译 很多地方都写得很简单 但我却很难做到
  • Cocos2d-x - 如何将CCLayer的一部分设置为透明?

    我是新手cocos2d x我需要你的帮助 我需要使图层的触摸部分透明 如何使图层的一部分透明 我曾想过使用 ClippingNode 但我找不到示例或文档 我使用C 谢谢 在所有cocos2d x版本中添加的TestCpp项目中 您可以找到
  • 使用GL着色器语言的相机帧yuv到rgb转换

    我从字节数组中的 android 相机预览回调获取相机帧并将其传递给 jni 代码 由于我们不能在 C 中使用字节 因此我将其转换为整数数组 如下所示 JNIEXPORT void JNICALL Java com omobio armad
  • Android 设备的后退和主页按钮按下事件 (cocos2d-x 3)

    我这样做是为了抓住Home and BackAndroid 设备上的按钮按下事件 被覆盖void Layer onKeyReleased EventKeyboard KeyCode keyCode Event event 像这样的函数 vo
  • Cocos2d-x:可以使用HTML(UIWebView)吗?

    我正在尝试cocos2d x现在我可以为 Android 构建 Javascript 示例并在浏览器中运行它们 现在我想创建自己的游戏 但由于有 HTML 背景 我宁愿使用 HTML 标签和 CSS 也不愿使用 Javascript 来设置

随机推荐