1 周前我用 LuaBridge 做了第一个小测试,它可以从脚本中得到一个 int。
现在我删除了这段代码并尝试在我的游戏引擎中包含 Lua 脚本,但它不再工作。我试图用这个回到基本代码:
#include <iostream>
#include "lua5.2/lua.hpp"
#include "LuaBridge/LuaBridge.h"
using namespace luabridge;
int main()
{
lua_State* L;
L = luaL_newstate();
if(!luaL_loadfile(L, "../../script.lua"))
std::cout << "failed loading" << std::endl;
LuaRef s = getGlobal(L, "nmbr");
int luaInt = s.cast<int>();
std::cout << luaInt << std::endl;
return 0;
}
用这个脚本
nmbr = 30
它给了我:
PANIC:单元格到 Lua API 的未受保护错误(错误参数 #2(预期数字,得到 nil)) 中止(核心转储)
当我尝试从脚本中获取字符串或函数时也是如此,但我不知道我在这方面做错了什么。
感谢您的回答:)