加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x lua LuaJavaBridge

发布时间:2020-12-14 19:40:06 所属栏目:百科 来源:网络整理
导读:cocos2d-x为我们封装了LuaJavaBridge,避免了jni的繁琐,现在可以轻松的实现lua和android端的互调了,引读 LuaJavaBridge - Lua 与 Java 互操作的简单解决方案 看个例子 1、lua调用android端 lua代码 --引入LuaJavaBridge local luaj = require "luaj" local

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");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读