所以我试图为lua和irrlicht编写一个程序,目前我正在创建一个函数来创建一个可以从命令行实时调用的网格(在这种情况下,一个简单的三角形)。
例如,在程序运行时,如果我写" addMesh({{0,0,0},{5,0,0},{0,0,5}})&#34 ;在命令行中,将在这三个坐标处使用它的角来制作三角形。
现在,我知道如何创建可以从命令行调用的函数,这不是我的问题所在。我的问题是:
int addMesh(lua_State* L){
luaL_checkType(L, 1, LUA_TTABLE);
}
到目前为止,我已经被教过,如果你想(例如)发送的第一个参数是一个表,你可以使用luaL_checktype(L,1,LUA_TTABLE)。那么,在这个例子中,这是真的。但是,如何访问数据中的数据,就像其中的三个顶点中的任何顶点一样?
我需要访问它们并分析它们的数据,以便我可以从它们创建一个简单的网格。任何帮助都将不胜感激。
答案 0 :(得分:2)
检查后它实际上是一个表格,您可以使用lua_gettable
,lua_rawget
等函数遍历它。
Programming in Lua是一个很好的起点,其他长期资源如lua-users也可能提供有用的示例。
此外,一旦您开始在Lua周围编写C代码,您的语言版本的参考手册将成为您最好的朋友。您可以在Lua官方网站上find it。
希望有所帮助。