【发布时间】:2021-02-06 04:30:07
【问题描述】:
我正在为我正在工作的游戏引擎编写一个材质系统,其中 Lua 脚本基本上用作材质的配置文件。
我将值存储在表中,但对于向量值(vec2、vec3 等),我在主表中嵌入了一个表来保存多个值,如下所示:
material = {
color = {0.2, 0.3, 1}
}
我想获得color 的各个值,这就是我尝试获得的第一个值:
lua_getglobal(L, "material");
if (!lua_istable(L, -1)) {return;};
lua_pushstring(L, "color");
lua_gettable(L, -2);
if (lua_istable(L, -1)) {
lua_rawgeti(L, -1, 0);
printf("%f\n", lua_tonumber(L, -1));
}
lua_pop(L, 1);
但它只打印0.0,无论color 表中的第一个值如何。我做错了什么?
【问题讨论】: