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
谢谢你们。如果你还有其他建议的话,我会留心的。
发布于 2018-04-10 14:39:22
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属性中没有列出这一点。
通常,您会创建一个具有多个点的网格,如果您想要一个多个网格数组,您只需将这些网格放到一个表中,除非存在特定的用户数据类型。
发布于 2018-04-10 13:32:00
试试这个:
myMesh = {}
myMesh[0]= Mesh.new{}
myMesh[0].x = 30
发布于 2018-04-10 14:23:48
您需要将表、列和行初始化为:
myMesh = {}
myMesh[0] = {}
myMesh[0].x=30
或
myMesh = { [0]={} }
myMesh[0].x=30
https://stackoverflow.com/questions/49753934
复制相似问题