我創造我的地圖模塊稱爲映射的LUA表對象,這個函數創建一個新的實例:爲什麼我的lua表格對象是空的?
function Map:new (o)
o = o or {
centers = {},
corners = {},
edges = {}
}
setmetatable(o, self)
self.__index = self
return o
end
,並在我的島模塊,我把這段代碼中的第幾行:
local map = require (*map module location*)
Island = map:new()
,當我打印中心,角落和表的數量,他們都站出來爲0
我有單獨的模塊角:新的(),中心:新的(),與邊緣:新的( )
爲什麼中心,角點和邊緣的長度輸出爲0?
編輯:
這是我輸入到中心表例如(四角和邊緣是相似的)
function pointToKey(point)
return point.x.."_"..point.y
end
function Map:generateCenters(centers)
local N = math.sqrt(self.SIZE)
for xx = 1, N do
for yy = 1, N do
local cntr = Center:new()
cntr.point = {x = 0.5+xx - 1, y = 0.5+yy - 1}
centers[pointToKey(cntr.point)] = cntr
end
end
return centers
end
大小始終是一個完美的正方形
'map:new()'返回一個帶有「轉角」鍵的表格,指向空表格。爲什麼你會期望尺寸與零不同? – GoojajiGreg
在檢查「Island.corners」中的元素數量之前,你正在做'table.insert(Island.corners,Corner:new())'嗎? – GoojajiGreg
@GoojajiGreg再次檢查,我明白你的意思,所以我深入一點。對不起,混淆 – Denfeet