zoukankan      html  css  js  c++  java
  • Android应用内嵌cocos2dx游戏项目

    cocos2dx的Android环境搭建(Windows/Mac

    我用的cocos2dx3.15版本的。

    以下步骤是在Windows平台执行的。

    创建Cocos2d-x项目

    将刚才下载的cocos2dx3.15压缩包解压到你指定的文件夹里。

    进入到目录cocos2d-x-3.15/tools/cocos2d-console/bin/cocos.py

    打开终端运行cocos.py脚本创建文件

    python cocos.py new test -p com.coco2dx.org -l cpp -d ~/Desktop

    参数说明:

    • test为项目名称
    • -p后面接包名
    • -l后面接开发语言类型,有cpp, lua, js三种类型
    • -d后面接项目存放的目录

    编译libcocos2dlua.so文件

    eclipse(不太推荐,谷歌已经放弃eclipse)

    • 创建一个空的android工程(我的工程是 TestAndroidCC)
    • 进入到刚刚创建的cocos2dx工程的proj.android目录下(我的是:D:workspaceCocos2dx_ProJXKJ_GAMEframeworks untime-srcproj.android)
    • 打开终端,执行 cocos compile -p android -android(因为cocos取消了执行build_native.py脚本编译的方式,统一用cocos命令,环境配置好了就可以直接执行cocos命令,如果cocos2dx命令未找到,说明环境配置有问题)或者可以执行 python D:cocos2d-xcocos2d-x-3.15 oolscocos2d-consoleincocos.py compile -p android -android
    • 等待编译完成后,找到libcocos2dlua.so文件(在libs/armeabi目录下)
    • 把刚刚编译好的so文件所在的文件夹复制到TestAndroidCC目录下的libs文件夹下
    • 把cocos2dx的资源目录(res和src文件夹)复制到TestAndroidCC的assets目录下
    • 把cocos2dx3.15引擎D:cocos2d-xcocos2d-x-3.15cocosplatformandroidjavasrc目录下的org文件拷贝到TestAndroidCC/src目录下
    • 在MainActivity.java的同级目录创建一个新Activity文件(名字自己定义,我的是GameActivity)继承Cocos2dxActivity(别忘了导入包import org.cocos2dx.lib.Cocos2dxActivity;)
    • 在AndroidManifest.xml 添加对新Activity的配置,添加注册新的GameActivity
    • 参考cocos2dx游戏项目的AndroidManifest.xml文件,对TestAndroidCC的AndroidManifest.xml做改动
    • 在activity_main.xml布局里添加一个button,然后在MainActivity里添为button添加事件
    • 编译运行TestAndroidCC,我用的是 夜神模拟器

    Android Studio

    • 创建一个空的android工程(我的工程是 TestAndroid)
    • 进入到刚刚创建的cocos2dx工程的proj.android-studio目录下(我的是:D:workspaceCocos2dx_ProJXKJ_GAMEframeworks untime-srcproj.android-studio)
    • 打开终端,执行 cocos compile -p android --android-studio(因为cocos取消了执行build_native.py脚本编译的方式,统一用cocos命令,环境配置好了就可以直接执行cocos命令,如果cocos2dx命令未找到,说明环境配置有问题)或者可以执行 python D:cocos2d-xcocos2d-x-3.15 oolscocos2d-consoleincocos.py compile -p android --android-studio
    • 等待编译完成后,找到libcocos2dlua.so文件(找了好久,发现在D:workspaceCocos2dx_ProJXKJ_GAMEframeworks untime-srcproj.android-studioappuildintermediates ransformsmergeJniLibsdebugfolders20001fmainlib)
    • 在app/src/main目录下新建一个jniLibs(名字必须是这个一个字母都不能差)文件夹,把刚刚编译好的so文件所在的文件夹(armeabi文件夹)复制到jniLibs文件夹下
    • 在TestAndroid项目中导入Module,右击项目文件 - new - Module - Import Eclipse ADT Project导入D:cocos2d-xcocos2d-x-3.15cocosplatformandroidjava目录,libcocos2dx的Module导入成功
    • 对TestAndroid添加libcocos2dx的引用,右击项目文件 - app - Dependencies添加libcocos2dx
    • 把cocos2dx的资源目录(res和src文件夹)复制到TestAndroid的src/main/assets目录下(如果没有assets文件夹:右击TestAndroid项目下的app文件夹 - new - Folder - Assets Folder创建)
    • 在MainActivity.java的同级目录创建一个新Activity文件(名字自己定义,我的是GameActivity)继承Cocos2dxActivity(别忘了导入包import org.cocos2dx.lib.Cocos2dxActivity;)
    • 在AndroidManifest.xml 添加对新Activity的配置,添加注册新的GameActivity
    • 参考cocos2dx游戏项目的AndroidManifest.xml文件,对TestAndroidCC的AndroidManifest.xml做改动
    • 在activity_main.xml布局里添加一个button,然后在MainActivity里添为button添加事件
    • 编译运行,我用的是 夜神模拟器

    如果想要退出游戏返回应用界面①cocos2dx lua项目:cc.Director:getInstance():endToLua()  ②cocos2dx c++项目:cocos2d::Director::getInstance()->end();

    注意事项:编译so的时候失败,原因可能是NDK版本过高,也有可能是sdk tools版本过高,建议下载旧一点的tools,我下载的是tools_r25.2.5-windows.zip,替换Android-SDK下的tools

  • 相关阅读:
    Java正式day_06——数组排序
    别只知道策略模式+简单工厂,试试更香的策略模式+抽象工厂!
    图解连接阿里云(一)创建阿里云物联网平台产品和设备,使用MQTT.fx快速体验
    嵌入式交叉编译GDB,结合vscode图形化调试C和C++代码 coredump定位段错误
    内核链表之list_for_eacy_entry手绘图解
    makefile实验三 理解make工作的基本原则
    玩转Libmodbus(一) 搭建开发环境
    RT-Thread的C语言多态风格展示
    C++函数默认参数 详解
    杂类-边学边记
  • 原文地址:https://www.cnblogs.com/ring1992/p/7640518.html
Copyright © 2011-2022 走看看