使用cocos2dx开发的项目,嵌入到android原生项目中

    要实现的功能,点击按钮打开cocos2dx编写的demo应用,当然这个cocos2dx是嵌入到android原生项目中的。

    前提:

    1,环境什么的这里就不说了,没有环境的自己上网搜一搜。(这里附上官网地址:如何在Windows 7平台搭建Android Cocos2d-x3.2alpha0开发环境)

    2,cocos引擎我用的是cocos2d-x-3.15。(附上网址:cocos各版本引擎下载链接)


正式编写demo应用:

    第一步,创建cocos项目:

进入cocos2d-x-3.15解压后的目录:...\cocos2d-x-3.15\tools\cocos2d-console\bin

在bin目录下:按shift+右键,选择“从此处打开命令窗口(W)”

点击之后打开控制台,如下所示:

控制台输入:python cocos.py new CocosDemo -p com.coco2dx.org -l cpp -d E:\cocos2dx

    CocosDemo 为项目名称

    -p 后面接包名

    -l 后面接开发语言类型,有cpp, lua, js三种类型

    -d 后面接项目存放的目录(我的项目放在了E:\cocos2dx中)

如图所示:

敲回车创建项目:(如下图所示,创建成功)


在输入命令的时候我们指定了工作路径为E:\cocos2dx,此时该路径下已经成功创建出一个cocos项目。如下图:


    第二步,编译cocos项目中proj.android工程:

进入proj.android目录下,shift+右键,点击“在此处打开命令窗口(W)”(或直接打开控制台,再切换路径到proj.android目录下)。执行 cocos compile -p android -android命令。

    第三步,将cocos项目嵌入到使用android studio创建的android工程中(这里我创建了一个项目名为CocosIntoAndroid的项目):

将proj.android目录中的assets复制到android项目中的src/mian目录下。

在安卓项目app/src/main目录下新建一个jniLibs(名字必须是这个一个字母都不能差)文件夹,把proj.android/libs下armeabi文件夹复制到jniLibs文件夹下

依赖libcocos2dx工程。点击File--New--Import Module。选择引擎目录中的cocos2d-x-3.15\cocos\platform\android\java如图:

引入之后将libcocos2dx添加为项目依赖,如图:


最终项目结构:

在项目中MainActivity同级目录下新建new一个Java class文件继承Cocos2dxActivity。这里我命名为CocosActivity(必须手动在AndroidManifest.xml文件中注册一下CocosActivity)如图:

编辑MainActivity,在MainActivity中首先通过System.loadLibrary()方法加载so文件(方法中的MyGame是so文件名去掉前面的lib,规范就是这样)。再添加一个Button并设置点击事件,做跳转用。如图:

最后附上AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>xmlns:android="http://schemas.android.com/apk/res/android"    package="fragmentdemo.fujisoft.com.cocosintoandroid" >            android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:roundIcon="@mipmap/ic_launcher_round"        android:supportsRtl="true"        android:theme="@style/AppTheme" >                android:name="android.app.lib_name"            android:value="MyGame" />        android:name=".MainActivity" >                            android:name="android.intent.action.MAIN" />                android:name="android.intent.category.LAUNCHER" />                                   android:name=".CocosActivity"            android:screenOrientation="landscape"            android:configChanges="orientation|keyboardHidden|screenSize"            android:label="@string/app_name"            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>    
最后附上 demo

更多相关文章

  1. Android(安卓)ADB的使用
  2. 【边做项目边学Android】小白会遇到的问题--创建Android项目不自
  3. [置顶] Android(安卓)Studio安装与使用(二)
  4. Android(安卓)模拟器入门
  5. 【源码分享下载】每日更新之Android应用源码比较不错的新闻客户
  6. Android(安卓)开发之Android(安卓)Studio
  7. React Native修改APP图标
  8. Android(安卓)中常用ADB命令介绍
  9. Android(安卓)studio使用与设置

随机推荐

  1. Matrix详解
  2. android集成 任务调度 cron4j
  3. Android(安卓)NDK Hello + JNI 与 NDK区
  4. Android(安卓)使用OpenCV的三种方式(Andr
  5. OpenglES2.0 for Android:来画个三角形吧
  6. Android(安卓)你不知道的调试技巧(Debug操
  7. 【Xamarin开发 Android(安卓)系列 4】 An
  8. Android的内存泄漏和调试
  9. Android与IOS的优缺点比较
  10. Android的UI显示原理总结