Обратные вызовы 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();

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

Другие вопросы по тегам