循环遍历矩阵

我正在创建一个简单的矩阵,如下所示:

for x = 050 do
  current_level [x] = {}

  for y = 050 do
      current_level [x] [y] = grabTile();
  end
end

之后,我尝试读取它,但是某种方式 x 现在是一个对象而不是数字,而 y 看起来完全正常!

我尝试读取它的方式:

for x,value in pairsself.map)do
如果值== ni then print"none");返回;end;
for y,object in pairs(value)do
如果对象== ni then print"none");返回;end;
对象:render(x,y); - 这里 x 是一个对象
end

我刚开始接触 lua,所以我可能做错了一些明显的事情。我该如何让这个工作?

我得到 x 的内容是:table: 0x07c8d530 这个值在整个迭代中保持不变。

点赞
用户5675002
用户5675002
`object:render(x,y);` --这里x是一个对象

这一行使用了冒号语法。它是对`object.render(object,x,y)`调用的语法糖。

所以你的`render()`函数必须将第一个`self`参数声明为`function render(self, x, y)` 或者用另一种定义的语法糖隐含地声明: `function object:render(x,y)`。

不相关的提示。如果将第一个循环转换为以下形式,它将更快/更小:

for x = 0, 50 do local row = {}

for y = 0, 50 do row[y] = grabTile(); end current_level[x] = row end


2018-10-16 06:41:00