如何获取网格数组

时间:2018-04-10 12:38:52

标签: lua gideros

myMesh = {}
myMesh[0].x = 30

不......没有工作。

myMesh = Mesh.new{}
myMesh[0].x = 30

不......不行。

一系列网格应该是可能的,但我不知道如何。有人可以帮忙吗?感谢

编辑: 谢谢你的回复。请原谅我这个愚蠢的错误。我刚刚意识到,"你在做什么废话J?"我真的想要一个网格的顶点数组,以便我可以使用循环来操纵它们。对此感到抱歉......虽然学习如何获得一系列网格物并没有什么坏处。

所以我想通了,因为我确信之前我使用过gml。

ptx = {}; pty = {}; ptz = {} 
ptx[1] = myMesh.x; pty[1] = myMesh.y; ptz[1] = myMesh.z; 

感谢您的帮助。我还了解到lua没有使用索引0

编辑:等待。这不起作用吗?

好吧现在这没有错误,所以我会看看它是否符合我的要求。

pMesh = {}
 for m=1, 6 do
    pMesh[m] = Mesh.new()
 end

pMesh[1].x = 0; pMesh[1].y = 0; pMesh[1].z = 0

谢谢你们。如果您有任何其他建议,我会全力以赴。

3 个答案:

答案 0 :(得分:1)

myMesh = {}
myMesh[0].x = 30

索引nil值会导致错误。

myMesh = {}创建一个空的Lua表。

不允许myMesh[0].x,因为没有myMesh[0]。 首先,您必须在索引0处插入一个表元素。

myMesh = {}
myMesh[0] = Mesh.new(true)
myMesh[0].x = 30

myMesh是一个网格数组的愚蠢名称,因为它表明它只是一个网格。 同样在Lua中,我们通常从索引1开始,这将使用Lua的标准表工具使事情变得更容易。 我不确定是否

mesh = Mesh.new()
mesh.x = 30

实际上还可以。为什么网格有x坐标?这未在手册中的Mesh属性中列出。

通常你会创建一个包含多个点的网格。如果你想要一个包含多个网格的数组,你只需将这些网格放入一个表中,除非有特定的用户数据类型。

答案 1 :(得分:0)

试试这个:

myMesh = {}
myMesh[0]= Mesh.new{}
myMesh[0].x = 30

答案 2 :(得分:0)

您需要初始化为表格,列和行:

myMesh = {}
myMesh[0] = {}
myMesh[0].x=30

myMesh = { [0]={} }
myMesh[0].x=30