我有一个旨在动态更改 3D 数组或表的大小的函数,但它一直说它返回值 nil 因为它超出了界限。这是它的代码:
function resize()
temp = { }
for h=1, height do
table.insert( temp , { } )
for y=1, length do
table.insert ( temp[h], { } )
for x=1, width do
num = 16
if #blocks <= height then
if #blocks[h] <= length then
if #blocks[h][y] <= width then
num = blocks[h][y][x]
end
end
end
table.insert( temp[h][y] , num )
end
end
end
blocks = temp
end
我知道它的评论不是很好,但想法是它创建一个具有更改尺寸的新表,然后将块的数据叠加在新表上,最后用新的临时表覆盖块。
长度宽度和高度以递增或递减的方式更改,但一次只能更改一次。
我不确定我是否解释得足够清楚,如果没有让我知道,我会尝试更详细地解释。
谢谢大家,詹姆斯