已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
游戏开发引擎 Cocos2d Lua Quick Cocos2d x 集成第三方 SDK 三 本文检索关键词 游戏引擎 游戏开发引擎 cocos 引擎html5 游戏开发 在第一篇和第二篇文章中 我们介绍了 怎么集成友盟的 Cocos2d x 版本 SDK 并且在 Lua 中使用 下面我们来看下怎样在 Quick Cocos2d x 中使用 Java 版本的友盟 SDK 引擎版本 Quick Cocos2d x 3 3 开发系统 Windows 7 64bit 集成友盟集成友盟 Java 版本的版本的 SDK 我们要集成 SDK 首先要从官网下载 点击打开官网 点击 SDK 下载 按钮 将下载的 SDK 保存到本地 打开工程的 AndroidMainfest xml 文件 在标签内写入 1 2 上面两个参数是友盟的 AppKey 和渠道号 AppKey 是我们在后台申请 App 时生成的 渠道 号自己定义 接着在外写入 1 2 3 4 解压下载回来的包 将里面的 libs 文件夹合并到 android 工程下的 libs 文件夹中 接下来 打开 AppActivity java 文件 在 onCreate 中加入 1 2 UMGameAgent setDebugMode true 设置输出运行时日志 UMGameAgent init this 在 onResume 中加入 1UMGameAgent onResume this 在 onPause 中加入 1UMGameAgent onPause this LuaJavaBridge 为了我们在 Lua 中调用 Java 的接口 Quick Cocos2d x 里面提供了一套名为 LuaJavaBridge 的中间件 它能够让我们非常方便的在 Lua 中调用静态的 Java 接口 LuaJavaBridge 在 Lua 中使用的接口为 1luaj callStaticMethod className methodName args sig 这个函数有 4 个参数 它们的意义分别为 参数参数 意意义义 className 类名 methodName方法名 args参数表 sig 签名 类名参数是我们使用的静态方法所在的类名 方法名是我们要是用的方法的名称 参数表示我们要传入的参数 这个值是一个 lua 的 table 它传入的内容必须和 sig 中 的类型一致 签名是我们要调用的函数的 Java 参数信息表 所谓签名 就是指 Java 方法的参数类型和返回类型定义 关于 Java 方法签名的具体定义 可以参考 JNI Type Signatures 由于签名写起来有点啰嗦 所以 luaj 可以根据调用参数自动猜测方法签名 注意注意 Lua function 是以整数的形式是以整数的形式传传入入 Java 方法 所以方法 所以 Java 方法的如果需要方法的如果需要传传入入 Lua function 的的话话形参是形参是 int 类类型 型 但是 Lua 里没有办法准确判断一个数值是整数还是浮点数 所以 luaj 在猜测方法签名时 假定所有的数值都是浮点数 如果遇到这种情况的话就需要指定签名了 通通过过 LuaJavaBridge 调调用友盟用友盟 上面的描述有点不好理解 我们拿友盟作为例子来看下 用 EClipse 打开我们刚才使用的 android 工程 为了方便调用友盟的接口 我们新建一个类 取名为 UMSDK 复制如下内容 1package org cocos2dx lua 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 import org cocos2dx lib Cocos2dxActivity import com umeng analytics game UMGameAgent public class UMSDK private static Cocos2dxActivity mContext null public static void init Cocos2dxActivity activity mContext activity public static void startLevel final String level mContext runOnGLThread new Runnable Override public void run TODO Auto generated method stub UMGameAgent startLevel level 关卡失败 public static void failLevel final String level mContext runOnGLThread new Runnable Override public void run TODO Auto generated method stub UMGameAgent failLevel level 过关 public static void finishLevel final String level mContext runOnGLThread new Runnable Override public void run 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 TODO Auto generated method stub UMGameAgent finishLevel level 关卡失败 public static void pay final float money final float coin final int source mContext runOnGLThread new Runnable Override public void run TODO Auto generated method stub UMGameAgent pay money coin source public static void pay final float money final String item final int number final float coin final int source mContext runOnGLThread new Runnable Override public void run TODO Auto generated method stub UMGameAgent pay money item number coin source public static void buy final String item final int number final float price mContext runOnGLThread new Runnable Override public void run TODO Auto generated method stub UMGameAgent buy item number price public static void use final String item final int number final float price 90 91 92 93 94 95 mContext runOnGLThread new Runnable Override public void run TODO Auto generated method stub UMGameAgent buy item number price 我们在 Java 文件中封装了友盟几个常用的接口 这些接口基本上都是游戏中要用到的 写 好上面的类之后 在 AppActivity 的 onCreate 中加入 1UMSDK init this 接下来 我们转回到 Lua 层来调用我们刚刚封装好的 Java 层的接口 先把原来友盟的接口 全都去掉 新建一个 Analytics lua 文件 写入以下内容 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Author wangshuai Date 2015 05 05 14 56 41 local Analytics class Analytics function Analytics startLevel level local args toslevel or 1 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 Java 方法 luaj callStaticMethod className startLevel args end end function Analytics failLevel level local args level or 1 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 Java 方法 luaj callStaticMethod className failLevel args end end function Analytics finishLevel level local args level or 1 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 Java 方法 luaj callStaticMethod className finishLevel args end end function Analytics payCoin params local args params money or 0 0 params coin or 0 0 params source or 1 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 Java 方法 luaj callStaticMethod className pay args FFI V end end function Analytics payItem params local args params money or 0 0 params item or null params number or 1 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 params coin or 0 0 params source or 1 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 Java 方法 luaj callStaticMethod className pay args FLjava lang String IFI V end end function Analytics buy params local args params item or null params number or 1 params coin or 1 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 Java 方法 luaj callStaticMethod className buy args Ljava lang String IF V end end function Analytics use params local args params item or null params number or 1 params coin or 1 if device platform android then Java 类的名称 local className com cocos2dx demos umeng UMSDK 调用 J
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年房地产行业物业管理升级水平考试-物业行业监管(信用体系)政策应用考核试卷
- 2025年学前教育普惠性发展专项能力测试-普惠性幼儿园“家长学校”课程设计与实施考核试卷
- 2025年化妆品个护行业绿色环保产品创新研究报告及未来发展趋势预测
- 2025年义务教育学校债务化解情况督导评估考核试卷
- 2025年化妆品行业品牌营销与绿色化妆品发展报告
- 2026西藏银行校园招聘12人笔试考试参考题库及答案解析
- 2025江苏南京智慧交通公司职业经理人招聘1人笔试考试备考试题及答案解析
- 2025云南玉溪市元江县民政局招聘城镇公益性岗位人员2人考试笔试参考题库附答案解析
- 2025福建三明永安市贡川镇人民政府招聘编外聘用驾驶员2人笔试考试参考试题及答案解析
- 2026年水利部长江水利委员会事业单位公开招聘(第一批)考试笔试模拟试题及答案解析
- 中药药理学PPT完整全套教学课件
- 70岁以上老年换证三力测试模拟题
- 甲状腺结节射频消融课件
- 船机桨的匹配问题
- 《发展汉语(第二版)中级综合(Ⅰ)》第9课+课件
- TCAMDI 083-2022 无托槽正畸矫治器
- GB/T 29024.4-2017粒度分析单颗粒的光学测量方法第4部分:洁净间光散射尘埃粒子计数器
- 地质灾害防治培训课件
- 英语经典电影课件
- 实验一坐骨神经腓肠肌标本的制备骨骼肌收缩
- 光盘m3352工控核心板-n128li用户手册-v1
评论
0/150
提交评论