2012-08-25 58 views
-1

所以,我有一個數組數組中的對象幫助Lua?

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

然後,調用引法...

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

錯誤:map.lua:54(怪物[I] .draw()行):嘗試索引字段'?' (一個零值)......但它有它的東西!對?

任何人都可以嘗試這樣的事情嗎?任何人都可以修復它?

由於

內特

回答

2

Lua使用基於1的索引陣列。因此,數組的範圍是[1, n](含),其中n是元素的數量。

更重要的是,你可以使用ipairs並沒有寫出來的循環組件:

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

哦,而且從不使用getn; use the # length operator instead