我有一个 lua“动画变量”,它有一个在动画循环中使用的回调函数。
local av = AnimationVariable(ticker.Position.Y)
...
av:addCallback( ** animation function goes here **)
跳过细节,这个 addCallback 函数在 C++ 中定义如下:
void LuaUIAnimationVariable::addCallback(luabind::object callback);
并且当动画变量被更新时,回调就这样执行(我们用一个参数调用函数):
luabind::call_function<void>(boost::ref(callback), newValue);
我的问题如下:如何将成员函数与 addCallback 一起使用?假设我有一个Ticker:animate(ypos)
函数,在 Ticker 实例上使用 addCallbackaddCallBack(ticker:animate)
不会编译,addCallBack(ticker.animate)
也不起作用。我知道lua中的成员函数有一个隐含的“self”第一个参数。
任何解决方案还是我被迫使用全局函数?