1

我正在使用最新版本的 LuaJit,需要一些帮助才能入门。我需要的是让一堆函数暴露给 Lua 环境,这些函数可以在脚本中被覆盖以运行用户提供的代码,然后在 C++ 中的设置事件期间调用这些函数

例如,当用户按下 TAB 键时,它将调用 lua 环境中的函数,例如 OnScoreboardOpen(),当用户释放 TAB 键时,它将调用相应的函数 OnScoreboardClose(),这些函数可以附加到元方法比如游戏或GM。

有人可以指点我一些教程或示例代码来展示如何实现这一点吗?非常感谢您的宝贵时间。

4

1 回答 1

2

基本上你使用这两个函数:lua_pushXXX 和 lua_pcall

取决于您如何命名 LUA 函数,它可以是普通函数或对象方法。IE

function OnScoreboardOpen()
end

或者

function Game:OnScoreboardOpen()
end

使用普通函数相对简单,只需执行以下操作:

// TODO: sanity check
lua_getglobal(L, name);
lua_pushnumber(L,123);
lua_pcall(...);
于 2014-07-11T04:26:50.573 回答