一. 先找到 你工程目录下
frameworks / runtime-src/Classes/AppDelegate.cpp文件。
lua_State* L = engine->getLuaStack()->getLuaState();
LuaStack* stack = engine->getLuaStack();
stack->setXXTEAKeyAndSign("2dxLua", strlen("2dxLua"), "XXTEA", strlen("XXTEA"));
stack->setXXTEAKeyAndSign("2dxLua", strlen("2dxLua"), "XXTEA", strlen("XXTEA"));
//register custom function
//LuaStack* stack = engine->getLuaStack();
//register_custom_function(stack->getLuaState());
//LuaStack* stack = engine->getLuaStack();
//register_custom_function(stack->getLuaState());
其中注释的代码就是开启一个虚拟栈。你可以在注释后面 加自己定义的函数
比如 lua_register(L , "test_lua_bind", test_lua_bind);
就是把 一个自己定义的函数 名 绑定成 test_lua_bind函数。
注册成lua的全局函数.
你需要在AppDelegate.cpp 这个文件的上面 定义 你的test_lua_bind函数
比如:
int test_lua_bind(lua_State *L)
{
printf_s("111111111");
return 1;
}
其中lua_State 是你的虚拟栈
这个函数是打印1,
然后重新编译下你的工程。
在main.lua中
print(test_lua_bind()) 就好了。
在lua中 全局调用 这个函数名:
比如 test_lua_bind()
就会打印11111111111了