2013-04-21 121 views
1

如何從LUA傳遞函數C++使用Luabridge(1.0.2)LuaBridge回調(通過Lua函數和C++)

local Callback=function() 
    print("Inside Callback function!"); 
end 

然後該回調傳遞給C++:

self.Background:On("Click",Callback) 

「Click」是const std :: string &,但是如何將Callback定義爲函數?我已經嘗試了一些方法(void *,std :: function),但沒有一個能正確工作。

回答

5

想通了!如果您嘗試傳遞函數,LuaBridge 2.0(在開發分支中)通過引入LuaRef來解決此問題。

你的功能應該是這樣的:

void DisplayObject::On(const std::string& Param1,LuaRef Param2); 

然後只需調用函數像這樣:

Param2(); 

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

+0

LuaRef現在在LuaBridge的主分支截至5月中旬2013。 – 2013-06-21 02:04:32