LuaBridge回调(将lua函数传递给c ++)

Gra*_*pes 1 c++ lua binding luabridge

如何使用Luabridge(1.0.2)将函数从LUA传递给C++

local Callback=function()
    print("Inside Callback function!");
end
Run Code Online (Sandbox Code Playgroud)

然后将该回调传递给c ++:

self.Background:On("Click",Callback)
Run Code Online (Sandbox Code Playgroud)

"Click"是const std :: string&,但是如何将Callback定义为函数?我尝试了一些方法(void*,std :: function),但这些方法都没有正常工作.

Gra*_*pes 5

弄清楚了!如果你试图传递函数,LuaBridge 2.0(在开发分支中)通过引入LuaRef来解决这个问题.

你的功能看起来像这样:

void DisplayObject::On( const std::string& Param1,LuaRef Param2 );
Run Code Online (Sandbox Code Playgroud)

然后就像这样调用函数:

Param2();
Run Code Online (Sandbox Code Playgroud)

https://github.com/vinniefalco/LuaBridge/tree/develop