当前位置: 首页 > news >正文

十个源码网站网站建设的需求是什么意思

十个源码网站,网站建设的需求是什么意思,网站制作培训,沈阳网站关键词优化做的好吗版本#xff1a; cocos2d-x 语言#xff1a; C/Java/Lua 简介 cocos2d-x原生平台Android 接入第三方SDK, 需要了解LuaJavaBridge的使用。 它封装了用于Java和Lua的相互调用, 其调用通过C为中介#xff0c;简要的流程#xff1a; Lua调用Java: Lua - C - Java J…版本 cocos2d-x 语言 C/Java/Lua 简介 cocos2d-x原生平台Android 接入第三方SDK, 需要了解LuaJavaBridge的使用。 它封装了用于Java和Lua的相互调用, 其调用通过C为中介简要的流程 Lua调用Java: Lua - C - Java Java调用Lua: Java - C - Lua 以此方式来实现数据的交互 接下来我们分别说下这两块东西。 Lua调用Java lua的接口文件主要在 cocos/cocos2d目录下主要的文件是 luaj.lua Lua调用Android平台的接口文件luaoc.lua Lua调用苹果平台的接口文件 调用原生平台使用的方法名均为 callStaticMethod ---------------- luaj.lua ---------------- -- 用于对参数转换为Java的类型简写 local function checkArguments(args, sig)if type(args) ~ table then args {} endif sig then return args, sig end-- Java支持Lua的几种参数类型number,boolean,string, function-- 如果不存在则按照如下程序进行转换sig {(}for i, v in ipairs(args) dolocal t type(v)if t number thensig[#sig 1] Felseif t boolean thensig[#sig 1] Zelseif t function thensig[#sig 1] Ielsesig[#sig 1] Ljava/lang/String;endendsig[#sig 1] )Vreturn args, table.concat(sig) end--[[ function: 调用java的接口注意在使用的时候一定要判定是否为为Android平台 param: className Java完整的类名 param: methodName Java类方法名 param: args lua传入的参数要为table类型否则会被转换{} param: sig 类型简写名格式为(参数简写)返回类型简写 ]] function luaj.callStaticMethod(className, methodName, args, sig)-- 检测参数args并将其转换为类型简写local args, sig checkArguments(args, sig)return callJavaStaticMethod(className, methodName, args, sig)end endreturn luaj使用Lua调用Java需要注意 Java的方法一定要设置为static类型一定要判定平台的类型比如AndroidIOSMac等一定要根据考虑不同版本对原生平台方法的支持这个主要是防止后续增加的功能前期版本调用错误Lua的callStaticMethod 注意第三个传入参数一定要为table表数据避免错误 在Lua项目中针对于平台的判定相关 -- 示例1 local targetPlatform cc.Application:getInstance():getTargetPlatform() if (cc.PLATFORM_OS_ANDROID targetPlatform) then-- do something end -- 示例2 if device.platform android then-- do something endcheckArguments 它主要用于将Lua的参数转换为Java的类型简写以用于获取数据如下Java支持的Lua类型简写 Lua类型简写格式说明numberF浮点类型booleanZ布尔类型functionI整数或方法stringLjava/lang/String;字符串V用于java方法中无返回值 这个是跟C调用Java是类似的但Lua没有那么多的数据类型支持比如C中的char, shot, long, double等。 类型简写的格式大致为 (参数类型简写)返回类型简写简单的实例 Java方法简写说明void showText()“()V”无参数无返回int getWifiLevel()“()I”无参数返回整型String getSystemVersion()“()Ljava/lang/String;”无参数返回字符串int addNumber(final int num1, final int num2)“(II)I”参数两个整型返回整型boolean isGetPhoneData(final String name, final int Count)“(Ljava/lang/String;I)Z”参数分别为字符串整型返回布尔类型 在checkArguments中存在关于类型简写的转换但是建议了解下以备突发情况使用。 callStaticMethod 它是Lua调用调用C的中介接口用于将参数相关通过C传递给Java。它的主要实现在 // ../frameworks/cocos2d-x/cocos/scripting/lua-bindings/manual/platform/android目录下 // CCLuaJavaBridge.cpp void LuaJavaBridge::luaopen_luaj(lua_State *L) {s_luaState L;lua_newtable(L);lua_pushstring(L, callStaticMethod);lua_pushcfunction(L, LuaJavaBridge::callJavaStaticMethod);lua_rawset(L, -3);lua_setglobal(L, LuaJavaBridge); }该接口在Lua中调用后主要会有两个返回值分别是 成功标记布尔类型错误编码整数类型 如果成功则错误编码为0否则就是其他数值主要的错误码有 // CCLuaBridget.h typedef enum {// 成功kLuaBridgeErrorOk 0, // 无效的参数kLuaBridgeErrorInvalidParameters -1,// 类没有找到kLuaBridgeErrorClassNotFound -2,// 方法没有找到kLuaBridgeErrorMethodNotFound -3,// 执行异常kLuaBridgeErrorExceptionOccurred -4,// 错误的类型简写kLuaBridgeErrorMethodSignature -5,// 虚拟机错误kLuaBridgeErrorJavaVMError -6, } LuaBridgeError;这个错误类型与luaoc.lua的检测类型参数是相似的。官方实例 Lua相关 -- LuaBridgeTest.lua 示例仅摘抄了其主体代码 function newLuaJavaBridge()local targetPlatform cc.Application:getInstance():getTargetPlatform()if (cc.PLATFORM_OS_ANDROID ~ targetPlatform) thenreturn end -- 引用库文件local luaj require cocos.cocos2d.luaj-- Java类名local className com/cocos2dx/sample/LuaJavaBridgeTest/LuaJavaBridgeTest-- Java方法名local methodName addTwoNumbers -- 参数local args {2, 3}-- 类型简写local sigs (II)I-- 调用方式一: 传入两个参数获取数值local success, result luaj.callStaticMethod(className, methodName, args, sigs)if not success thenprint(luaj error:, result)elseprint(The result is:, result)end-- 调用方式二: 传入两个参数获取结果通过Lua的回调显示日志local function callbackLua(param)if success param thenprint(java call back success)endendargs { callbacklua, callbackLua }sigs (Ljava/lang/String;I)Vok luaj.callStaticMethod(className,callbackLua,args,sigs)if not ok thenprint(call callback error)end endJava相关 package com.cocos2dx.sample.LuaJavaBridgeTest;// 用于java调用Lua import org.cocos2dx.lib.Cocos2dxLuaJavaBridge;public class LuaJavaBridgeTest { // Lua调用javapublic static int addTwoNumbers(final int num1,final int num2){return num1 num2;}// Java调用Luapublic static void callbackLua(final String tipInfo,final int luaFunc){// 调用局部Lua-Function将luaFunc结果发送给LuaCocos2dxLuaJavaBridge.callLuaFunctionWithString(luaFunc, success);Cocos2dxLuaJavaBridge.releaseLuaFunction(luaFunc);} }至此Lua调用Java告一段落。 Java调用Lua Java是允许调用Lua的同Java调用C一样。主要的接口是 // 调用局部Lua-Function public static native int callLuaFunctionWithString(int luaFunctionId, String value); // 调用全局Lua-Function public static native int callLuaGlobalFunctionWithString(String luaFunctionName, String value); // retain一次Lua-Function public static native int retainLuaFunction(int luaFunctionId); // release掉Lua-Function public static native int releaseLuaFunction(int luaFunctionId); 后续补充…
文章转载自:
http://www.morning.4r5w91.cn.gov.cn.4r5w91.cn
http://www.morning.dxqfh.cn.gov.cn.dxqfh.cn
http://www.morning.ltksw.cn.gov.cn.ltksw.cn
http://www.morning.mkyxp.cn.gov.cn.mkyxp.cn
http://www.morning.yrjxr.cn.gov.cn.yrjxr.cn
http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn
http://www.morning.xtrzh.cn.gov.cn.xtrzh.cn
http://www.morning.mwqbp.cn.gov.cn.mwqbp.cn
http://www.morning.huarma.com.gov.cn.huarma.com
http://www.morning.tdmr.cn.gov.cn.tdmr.cn
http://www.morning.wngpq.cn.gov.cn.wngpq.cn
http://www.morning.lgwpm.cn.gov.cn.lgwpm.cn
http://www.morning.mtgnd.cn.gov.cn.mtgnd.cn
http://www.morning.dztp.cn.gov.cn.dztp.cn
http://www.morning.llxyf.cn.gov.cn.llxyf.cn
http://www.morning.rknhd.cn.gov.cn.rknhd.cn
http://www.morning.dqbpf.cn.gov.cn.dqbpf.cn
http://www.morning.pqrhb.cn.gov.cn.pqrhb.cn
http://www.morning.byjwl.cn.gov.cn.byjwl.cn
http://www.morning.rpwht.cn.gov.cn.rpwht.cn
http://www.morning.kqxwm.cn.gov.cn.kqxwm.cn
http://www.morning.cxlys.cn.gov.cn.cxlys.cn
http://www.morning.fdzzh.cn.gov.cn.fdzzh.cn
http://www.morning.wqpm.cn.gov.cn.wqpm.cn
http://www.morning.fwkjp.cn.gov.cn.fwkjp.cn
http://www.morning.xzjsb.cn.gov.cn.xzjsb.cn
http://www.morning.ymwny.cn.gov.cn.ymwny.cn
http://www.morning.zzfjh.cn.gov.cn.zzfjh.cn
http://www.morning.cwqln.cn.gov.cn.cwqln.cn
http://www.morning.nmymn.cn.gov.cn.nmymn.cn
http://www.morning.frmmp.cn.gov.cn.frmmp.cn
http://www.morning.zrkp.cn.gov.cn.zrkp.cn
http://www.morning.rhfh.cn.gov.cn.rhfh.cn
http://www.morning.wptdg.cn.gov.cn.wptdg.cn
http://www.morning.xwbld.cn.gov.cn.xwbld.cn
http://www.morning.hcszr.cn.gov.cn.hcszr.cn
http://www.morning.qjlnh.cn.gov.cn.qjlnh.cn
http://www.morning.jynzb.cn.gov.cn.jynzb.cn
http://www.morning.jzlkq.cn.gov.cn.jzlkq.cn
http://www.morning.mbmh.cn.gov.cn.mbmh.cn
http://www.morning.dxsyp.cn.gov.cn.dxsyp.cn
http://www.morning.ylph.cn.gov.cn.ylph.cn
http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn
http://www.morning.rbktw.cn.gov.cn.rbktw.cn
http://www.morning.ztjhz.cn.gov.cn.ztjhz.cn
http://www.morning.qcmhs.cn.gov.cn.qcmhs.cn
http://www.morning.yhpl.cn.gov.cn.yhpl.cn
http://www.morning.txtzr.cn.gov.cn.txtzr.cn
http://www.morning.rqqlp.cn.gov.cn.rqqlp.cn
http://www.morning.wknjy.cn.gov.cn.wknjy.cn
http://www.morning.hffjj.cn.gov.cn.hffjj.cn
http://www.morning.gstmn.cn.gov.cn.gstmn.cn
http://www.morning.rqmr.cn.gov.cn.rqmr.cn
http://www.morning.wsxxq.cn.gov.cn.wsxxq.cn
http://www.morning.khpx.cn.gov.cn.khpx.cn
http://www.morning.yxkyl.cn.gov.cn.yxkyl.cn
http://www.morning.hpggl.cn.gov.cn.hpggl.cn
http://www.morning.pdxqk.cn.gov.cn.pdxqk.cn
http://www.morning.ayftwl.cn.gov.cn.ayftwl.cn
http://www.morning.tmbtm.cn.gov.cn.tmbtm.cn
http://www.morning.yyzgl.cn.gov.cn.yyzgl.cn
http://www.morning.rlhh.cn.gov.cn.rlhh.cn
http://www.morning.mzskr.cn.gov.cn.mzskr.cn
http://www.morning.fhlfp.cn.gov.cn.fhlfp.cn
http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn
http://www.morning.wmmtl.cn.gov.cn.wmmtl.cn
http://www.morning.gqddl.cn.gov.cn.gqddl.cn
http://www.morning.xjmyq.com.gov.cn.xjmyq.com
http://www.morning.zhmgcreativeeducation.cn.gov.cn.zhmgcreativeeducation.cn
http://www.morning.fqklt.cn.gov.cn.fqklt.cn
http://www.morning.sbrxm.cn.gov.cn.sbrxm.cn
http://www.morning.zxqyd.cn.gov.cn.zxqyd.cn
http://www.morning.zdnrb.cn.gov.cn.zdnrb.cn
http://www.morning.pxlpt.cn.gov.cn.pxlpt.cn
http://www.morning.cnyqj.cn.gov.cn.cnyqj.cn
http://www.morning.lprfk.cn.gov.cn.lprfk.cn
http://www.morning.tongweishi.cn.gov.cn.tongweishi.cn
http://www.morning.rpzqk.cn.gov.cn.rpzqk.cn
http://www.morning.wgrl.cn.gov.cn.wgrl.cn
http://www.morning.zqwp.cn.gov.cn.zqwp.cn
http://www.tj-hxxt.cn/news/263080.html

相关文章:

  • 温州 建网站的公司河北智慧团建官网登录入口
  • 最新章节 62.一起来做网站吧东莞网站建设实例推荐
  • 出格做网站合肥网络优化公司有几家
  • 源代码开发网站女生做a视频的网站是什多少
  • 便宜的网站设计网站访客qq获取代码
  • 做网站好的公司有哪些泰兴网站推广
  • 南京网站开发就业培训课程地税局网站建设情况汇报
  • asa8.4 做网站映射宁波鄞州区商用高端网站设计
  • 前端开发用什么软件好杭州西湖区抖音seo方案
  • 局域网及网站建设内容手机制作游戏软件
  • 必须在当地网站备案机械公司网站模板
  • 自己做网站要会什么软件下载技术支持 贵阳贵阳网站建设
  • 门户网站推广优势贵阳市城乡建设局网站
  • 昆明房产网站建设渠道招商
  • 镇江网站制作网站城市切换如何做
  • 一个网站备案两个域名吗wordpress 3.9.1 漏洞
  • 前期的网站建设的难度王业美
  • 做网站去哪找wordpress语言的设置
  • 临沂网站制作公司六安城市网招聘
  • 淮北论坛招聘最新消息wordpress+极致优化
  • 申请网站域名多少钱wordpress mdtf
  • 在linux系统上用什么做网站阿里云服务器在哪里
  • 网站建立数据库wordpress后台怎么登陆
  • 建设旅游网站需要多少钱数码产品商务网站建设
  • 茂名专业网站建设公司找人做网站需要交接什么
  • 大学生做外包项目的网站宁波网络营销推广
  • 绵阳 网站建设整站seo
  • 网站建设一条龙怎么样内蒙古做网站的公司有哪些
  • 在哪几个网站里可以做淘客360怎么做网站搜索
  • 可以做动画的网站都有哪些推广公司游戏