2016-08-04 21 views
1

爲什麼不能正常工作?我試圖把我所有的對象表放在一張表中,並使用forloop遍歷它們並繪製。它顯示一個錯誤消息說:「=」,在第5行Lua和Love2D,表格中的表格錯誤

function love.load() 
solidstatic = { 
ground = {x = 0,y = 160,width = 1000,height = 1000}, 
box = {x = 80,y = 100,width = 15,height = 15} 
} 

end 


function love.draw() 
for i,obj in ipairs(solidstatic) do 
love.graphics.rectangle("fill",obj[x],obj[y],obj[width],obj[height]) 
end 
end 

(編輯)解決了這個錯誤的問題,我是跑錯.lua文件「}」預計近。但仍然沒有在屏幕上繪製任何東西

+0

'solidstatic'表沒有數組鍵,所以'ipairs'不會遍歷任何東西。 –

回答

0

由於該表中沒有數組鍵,因此您需要使用pairs而不是ipairs來遍歷solidstatic中的元素。

1

兩件事。 首先,您必須使用Pair而不是ipairs來列出不是數字的鍵。

for i, v in pairs(table) do 
    ... 
end 

您還必須將變量索引爲字符串。

t = { 
    x = 1 
} 

t['x'] = 1 
-- or 
t.x = 1 

這是因爲不使用引號就會使用不存在的全局變量x進行索引。