Обратные вызовы LuaBridge (передача функций lua в C++)
Как передать функции из LUA в C++ с помощью Luabridge(1.0.2)
local Callback=function()
print("Inside Callback function!");
end
А затем передать этот обратный вызов в C++:
self.Background:On("Click",Callback)
"Click" - это const std::string&, но как вы определяете Callback как функцию? Я пробовал несколько подходов (void*,std::function), но ни один из них не работает правильно.
1 ответ
Решение
Догадаться! Если вы пытаетесь передать функции, LuaBridge 2.0 (в ветке разработки) решает эту проблему, представляя LuaRef.
Ваша функция будет выглядеть так:
void DisplayObject::On( const std::string& Param1,LuaRef Param2 );
тогда просто вызовите функцию так:
Param2();