如何获得网格数组

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

嗯...不行。

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

也不行。

网格数组应该是可行的,但我不知道怎么做。有人可以帮忙吗?谢谢

编辑: 谢谢您的回复。对不起,由于我只是想要网格顶点的数组,以便我可以使用循环来操作它们。“What nonsense are you doing 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

谢谢大家。如果您有其他建议,我会耳闻目睹。

点赞
用户107090
用户107090

试一试:

myMesh = {}
myMesh[0]= Mesh.new{}
myMesh[0].x = 30
2018-04-10 13:32:00
用户7504558
用户7504558

你需要将其初始化为一个表格,并且设置行和列:

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

或者

myMesh = { [0]={} }
myMesh[0].x=30
2018-04-10 14:23:48
用户2858170
用户2858170
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.new() 的语法是否正确。为什么网格要有一个 x 坐标?这不在手册中列出的 Mesh 的属性列表中。

通常,您会创建具有多个点的网格,如果您想要多个网格的数组,则可以将这些网格简单地放入表格中,除非有特定的用户数据类型。

2018-04-10 14:39:22