gpt4 book ai didi

c++ - 从 C++ 调用 Lua 函数

转载 作者:行者123 更新时间:2023-11-30 04:03:06 25 4
gpt4 key购买 nike

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

例如,当用户按下他们的 TAB 键时,它会从 lua 环境中调用一个函数,例如 OnScoreboardOpen() 并且当用户释放他们的 TAB 键时,它会调用相应的函数 OnScoreboardClose() 这些函数可以被附加到像 Game 或 GM 这样的元方法。

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

最佳答案

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

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

function OnScoreboardOpen()
end

function Game:OnScoreboardOpen()
end

使用plain function比较简单,只需要:

// TODO: sanity check
lua_getglobal(L, name);
lua_pushnumber(L,123);
lua_pcall(...);

关于c++ - 从 C++ 调用 Lua 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24689882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com