-1

所以,我有一个数组

//loop here
nummobs = nummobs + 1
Mobs = {}
Mobs[nummobs] = Entity.Init(x(locations to spawn mob), y(locations to spawn mob),"testMob")

然后,调用draw方法...

for i = 0, table.getn(Mobs) do
    Mobs[i].draw()
end

错误:map.lua:54(Mobs[i].draw() 行):尝试索引字段“?” (一个零值)......但它有一些东西!对?

有人尝试过这样的事情吗?任何人都可以修复它吗?

谢谢

内特

4

1 回答 1

2

Lua 对数组使用从 1 开始的索引。因此,数组的范围是[1, n]包含在内的,其中n是元素的数量。

更重要的是,您可以使用ipairs而不必写出循环组件:

for i, mob in ipairs(Mobs) do
  mob:draw()
end

哦,永远不要使用getn; 请改用#长度运算符

于 2012-08-25T15:33:27.450 回答