Lua - 在循环中扩展表

我有以下代码片段:

for index, child in pairs(workspace.IMG:GetChildren()) do
    xyz = child.Position
    ImgScript = {}
    table.insert(ImgScript, -1, child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z)
end

所以,workspace.IMG是一个模型,其中有许多砖块。我正在尝试将该模型转换为脚本构建器的脚本。因此,我可以使其对每个砖块执行Instance.new('Part', script) blah blah blah,但这相当于一个大型脚本。因此,我正在制作一个具有所有必要信息(BrickColor和Position)的表。以下是我想要表格看起来像的内容:

{{BrickColor Number,X,Y,Z},{123,14,52,65},{156,13,52,65}等}

但是我目前拥有的脚本不会生成这种类型的表格。它什么也不做;实际上,我不希望它执行我要求的操作;我只是不知道如何使它生成这类表格。

点赞
用户107090
用户107090

我想你想要这个:

ImgScript = {}
-- 遍历workspace中IMG的子元素
for index, child in pairs(workspace.IMG:GetChildren()) do
    xyz = child.Position
    table.insert(ImgScript,{child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
end
2015-09-23 02:36:58
用户11649
用户11649
在循环前面加上这行代码:
    
ImgScript = {}

否则,每轮循环将会创建一个新表并且放弃之前的那个。

如果你希望`ImgScript`表以"header"条目开头,可以在那里添加。

当然,`table.insert`调用应该是这样的:

table.insert(ImgScript, {child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})

最终,整个脚本将是这样的:

ImgScript = {{'BrickColor Number', 'X', 'Y', 'Z'}}
for index, child in pairs(workspace.IMG:GetChildren()) do
    local xyz = child.Position
    table.insert(ImgScript, {child.BrickColor.Number, xyz.X, xyz.Y, xyz.Z})
end
2015-09-23 02:39:55