sig 函数参数表说明一定要写正确
否则调用的过程会出现Failed to find method id 错误,jvm查找不到函数id
package com.cocos2dx.sample.LuaJavaBridgeTest; import org.cocos2dx.lib.Cocos2dxLuaJavaBridge; public class LuaJavaBridgeTest { public static int addTwoNumbers(final int num1,final int num2){ return num1 + num2; } public static void callbackLua(final String tipInfo,final int luaFunc){ Cocos2dxLuaJavaBridge.callLuaFunctionWithString(luaFunc, "success"); Cocos2dxLuaJavaBridge.releaseLuaFunction(luaFunc); } }比如上面的这个例子
在 lua中这样调用
local args = { 2 , 3}
local sigs = "(II)I"
local luaj = require "cocos.cocos2d.luaj"
local className = "com/cocos2dx/sample/LuaJavaBridgeTest/LuaJavaBridgeTest"
local ok,ret = luaj.callStaticMethod(className,"addTwoNumbers",args,sigs)
sigs表示两个int型整数,一个int型返回值

本文详细解释了在Cocos2DX项目中使用sig函数参数表的重要性,以及如何正确设置以避免调用过程中出现的Failed to find method id错误。通过实例演示了在Lua和Java间传递参数的方法。
577

被折叠的 条评论
为什么被折叠?



