cocos2d-x lua LuaJavaBridge
来源:互联网 发布:q das软件使用说明 编辑:程序博客网 时间:2024/04/28 18:55
cocos2d-x为我们封装了LuaJavaBridge,避免了jni的繁琐,现在可以轻松的实现lua和android端的互调了,引读
LuaJavaBridge - Lua 与 Java 互操作的简单解决方案
看个例子
1、lua调用android端
lua代码
--引入LuaJavaBridge local luaj = require "luaj" local className="com/lua/java/Test" --包名/类名 local args = { "hello android", callbackLua } local sigs = "(Ljava/lang/String;I)V" --传入string参数,无返回值 --luaj 调用 Java 方法时,可能会出现各种错误,因此 luaj 提供了一种机制让 Lua 调用代码可以确定 Java 方法是否成功调用。 --luaj.callStaticMethod() 会返回两个值 --当成功时,第一个值为 true,第二个值是 Java 方法的返回值(如果有) --当失败时,第一个值为 false,第二个值是错误代码 local ok,ret = luaj.callStaticMethod(className,"test",args,sigs) if not ok then item:setString(ok.."error:"..ret) end
android端的代码
package com.lua.java;/** * 引入Cocos2dxLuaJavaBridge */import org.cocos2dx.lib.Cocos2dxLuaJavaBridge;public class Test {public static void test(final String param,final int luaFunc){System.out.println("----传过来的参数----param:"+param);System.out.println("-------luaFunc:"+luaFunc);/** * 给lua返回一个字符串 */Cocos2dxLuaJavaBridge.callLuaFunctionWithString(luaFunc, "success");/** * 移除luaId */Cocos2dxLuaJavaBridge.releaseLuaFunction(luaFunc);}}
2、android端调用lua
lua代码,调用的是全局函数
function testAndroid(parameters) print("--testAndroid--",parameters)cc.Director:getInstance():endToLua()end
android端
import org.cocos2dx.lib.Cocos2dxLuaJavaBridge;
/*** testAndroid lua中的方法名* androidLua 传递给lua函数的参数值*/Cocos2dxLuaJavaBridge.callLuaGlobalFunctionWithString("testAndroid", "androidLua");
0 0
- cocos2d-x lua LuaJavaBridge
- cocos2d lua调用java LuaJavaBridge
- cocos2d-x 与 lua
- Cocos2d-x Lua action
- cocos2d-x嵌入lua
- cocos2d-x lua开发
- Cocos2d-x lua 触屏
- cocos2d-x lua
- cocos2d-x lua 定时器
- cocos2d-x +lua
- cocos2d-x lua physics
- cocos2d-x Lua
- Cocos2d-x Lua 初步
- lua QUICK-COCOS2D-X
- lua、java相互调用 LuaJavaBridge
- Cocos2d-x Cocos2d-JS Cocos2d-lua概述
- cocos2d-x 中使用lua
- Cocos2d-x+lua HelloLua介绍
- 黑马程序员--关于MYSQL数据编码问题
- 【转载】c语言结构体指针初始化
- UBUNTU环境下的NFS服务器搭建
- 黑马程序员——java基础之易忘点总结(三)
- AS3抽取指定字符方法
- cocos2d-x lua LuaJavaBridge
- Cognos审计模块(一)- 日志库配置
- poj解题报告——2196
- Android App隐藏Navigation Bar
- 运算符优先级
- tolua绑定
- 数据库基本概念-《数据库系统概论 王珊》读书笔记1
- Azure 媒体服务支持 DASH 实时传送流
- 使用Sandcastle生成类库说明文档示例(图文)