我使用的是最新版本的LuaJit,需要一些帮助才能开始使用。我需要的是让一堆暴露给Lua环境的函数可以在脚本中重写以运行用户提供的代码,然后在C ++中设置事件期间调用这些函数
例如,当用户按下他们的TAB键时,它将从lua环境调用一个函数,例如OnScoreboardOpen(),当用户释放他们的TAB键时,它将调用相应的函数OnScoreboardClose()这些函数可以附加像游戏或通用汽车这样的元方法。
有人可以指点我一些教程或示例代码,说明如何实现这一目标吗? 非常感谢你的时间。
答案 0 :(得分:2)
基本上你使用这两个函数:lua_pushXXX和lua_pcall
取决于您如何命名LUA函数,它可以是普通函数或对象方法。 即。
function OnScoreboardOpen()
end
OR
function Game:OnScoreboardOpen()
end
使用普通功能相对简单,只需:
// TODO: sanity check
lua_getglobal(L, name);
lua_pushnumber(L,123);
lua_pcall(...);