У меня есть lua "переменная анимации", которая имеет функцию обратного вызова, используемую в цикле анимации.
local av = AnimationVariable(ticker.Position.Y)
...
av:addCallback( ** animation function goes here **)
Пропустив подробности, эта функция addCallback определена в C++ следующим образом:
void LuaUIAnimationVariable::addCallback(luabind::object callback);
а при обновлении переменной анимации callback выполняется как таковой (мы вызываем функцию с одним аргументом):
luabind::call_function<void>(boost::ref(callback), newValue);
У меня следующий вопрос: Как я могу использовать функцию-член с addCallback? Предполагая, что у меня есть функция Ticker:animate(ypos)
, использование addCallback для экземпляра Ticker addCallBack(ticker:animate)
не компилируется, а addCallBack(ticker.animate)
не работает. Я понимаю, что функции-члены в lua имеют неявный первый параметр «я».
Любое решение или я вынужден использовать глобальную функцию?