Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

2026-02-08 0 547

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

如今,编程界热议跨平台开发。众多开发者追求用单一语言编写程序,希望能在多种设备上运行。特别是用-x和C++技术,能同时在iOS和安卓设备上运行的应用程序,备受瞩目。然而,这一过程涉及诸多细节和潜在问题,不容忽视。

cd $COCOS2DX_HOME
sudo ./install-templates-xcode.sh -u

相关概念介绍

注意: 在上面所示的代码中,你不能直接输入$COCOS2DX_HOME,而要输入实际的路径。如果你直接输入了$COCOS2DX_HOME是不会有任何反应的。当然,你可以参考我写的《如何在macos下面配置集成iosandroid游戏教程》,里面有讲到环境变量的配置。大概方法就是打开~/.bash_profile文件,然后用export来定义环境变量就ok了。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

这里的-x是个历史悠久的开发框架,已有十年光景。它拥有众多插件,支持C和C++等常用编程语言。这对程序员是个好消息,意味着我们不必为每种语言都寻找不同的开发工具。不过,我们在IDE中并未集成-x的模板,因此通常要通过命令行来执行相关操作。

掌握开发环境是至关重要的,就好比你要去陌生的地方,得先弄清楚路线。我向大家推荐一本关于NDK开发的好书《Kit’sGuide》,书中详细介绍了如何用C/C++进行NDK开发。若你对NDK有更深入的了解需求,不妨阅读这本书。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

创建项目

进行项目搭建有明确的流程。helloworld程序编写完毕后,我们得留意如何搭建-x的开发环境。命令行工具依然能派上用场。脚本文件末尾的“:”标记所在行显示的路径,即是项目成功创建的位置。编译C++代码时,必须切换至$/$目录。随后在终端输入必要的指令。整个操作过程中,需严格按照提示进行。例如,在接下来的界面中,需先选择项目,再勾选C++选项,并将type设置为“Other”。

# set environment paramters
NDK_ROOT_LOCAL=\"/home/laschweinski/android/android-ndk-r5\"
ANDROID_SDK_ROOT_LOCAL=\"/home/laschweinski/android/android-sdk-linux_86\"

bash-$ ./create-android-project.sh
Input package path. For example: org.cocos2dx.example
org.jymc.samplecocos2dxandroid
. . .
Available Android targets:
----------
. . .
----------
id: 9 or \"Google Inc.:Google APIs:15\"
     Name: Google APIs
     Type: Add-On
     Vendor: Google Inc.
     Revision: 1
     Description: Android + Google APIs
     Based on Android 4.0.3 (API level 15)
. . .
input target id:
9
input your project name:
samplecocos2dxandroid
Created project directory: /Users/jymen/development/cocos2dx/samplecocos2dxandroid
. . .
Added file /Users/jymen/development/cocos2dx/samplecocos2dxandroid/AndroidManifest.xml
Added file /Users/jymen/development/cocos2dx/samplecocos2dxandroid/build.xml
Added file /Users/jymen/development/cocos2dx/samplecocos2dxandroid/proguard.cfg
bash-$

每一步都是前人智慧的结晶,如同踏在他人已走过的坚实路上更稳妥。稍有差池,后续流程便可能受阻。

Note: Do not try to move the project from that location to a different location. At least one of the scripts we’ll work with in the next section will not work if you do.

操作中的注意事项

开发过程中有许多细节要留意。例如,创建完-x2.0版本项目后,可能会遇到找不到org..lib.的情况。要解决这个问题,需要仔细查找原因。另外,在操作与安卓相关的内容时,要删除默认设置,应直接导入安卓目录下生成的子目录。这个子目录是xcode默认创建的。导入资源文件也有特定方法,除了info.plist文件使用xcode生成的默认文件外,其他文件则保持原样即可。

./build_native.sh

Gdbserver      : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver
Gdbsetup       : libs/armeabi/gdb.setup
Compile++ thumb  : cocos2d <= CCConfiguration.cpp
Compile++ thumb  : cocos2d <= CCDrawingPrimitives.cpp
:
:
:
Compile++ thumb  : cocos2d <= CCTileMapAtlas.cpp
Compile++ thumb  : cocos2d <= CCTouchDispatcher.cpp
Compile++ thumb  : cocos2d <= CCTouchHandler.cpp
Prebuilt       : libstlport_static.a <= /sources/cxx-stl/stlport/libs/armeabi/
SharedLibrary  : libcocos2d.so
Install        : libcocos2d.so => libs/armeabi/libcocos2d.so
Compile++ thumb  : cocosdenshion <= SimpleAudioEngine.cpp
Compile++ thumb  : cocosdenshion <= SimpleAudioEngineJni.cpp
SharedLibrary  : libcocosdenshion.so
Install        : libcocosdenshion.so => libs/armeabi/libcocosdenshion.so
Compile++ thumb  : game_logic <= AppDelegate.cpp
Compile++ thumb  : game_logic <= HelloWorldScene.cpp
SharedLibrary  : libgame_logic.so
Install        : libgame_logic.so => libs/armeabi/libgame_logic.so
Compile++ thumb  : game <= main.cpp
SharedLibrary  : libgame.so
Install        : libgame.so => libs/armeabi/libgame.so

在日常开发过程中,若对这些步骤处理不慎,就好比建造房屋时地基未稳固,那么房屋在后续使用中出现问题的情况就会增多。

编译运行

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

代码编译完成,便进入执行阶段。回到相应的操作界面,比如点击主菜单中的“构建全部”,此时你会在控制台输出中观察到c++make正在执行。不过,执行过程中可能会遇到问题,比如在打开jni//main.cpp时会出现警告和错误。这种情况多数是因为缺少必要的文件。虽然包含这些文件的目录有提示,但还需根据实际情况进行调整。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

运行阶段是确保我们先前操作正确与否的关键步骤,这就像学生完成试卷后需要核对答案一样关键。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

Java代码相关

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

通常在开发阶段,Java代码大多无需改动。比如,有一个名为srccomxxxd.java的类,尽管它主要用作代码封装,但偶尔仍需查阅。鉴于游戏的核心逻辑是用C++编写的,起初可能对Java代码有所忽视,然而,我们仍需关注。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

在一个团队共同完成的项目中,即使某个成员的职责看似不那么关键,但若少了他的细致检查,项目整体也可能出现一些小问题。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

跨平台测试策略

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

采用-x进行开发时,一般会采取先在iOS平台上用xcode进行测试的策略,确认无误后再用安卓设备测试。这样的做法相对稳妥。此外,若要安装Debug,需先到指定位置下载完整的Tegra开发套件,虽然目前可能用不上,但这是后续可能需要的准备工作。

bash ${workspace_loc:/samplecocos2dxandroid}/build_native.sh NDK_DEBUG=1 V=1

遇到的问题出现了,当您用-x和C++制作跨平台软件时,您觉得最难解决的问题是什么?不妨在评论区点赞、转发,一起交流讨论。

Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 Cocos2d-x跨平台开发入门教程:Android与iOS应用开发指南 https://www.zuozi.net/75551.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务