我在 Lua 和 Corona 中对点击游戏的库存系统进行了大量研究。我遇到过这个例子,我正在做类似的事情,但我需要一个动态库存系统。我的意思是,如果我有 4 个插槽,并且它们都已满,则第五个对象转到下一个插槽,因此右侧会有一个箭头,因此我可以单击 ; 并转到下一页。假设有 5 个项目,我有 4 个插槽,第五个插槽将在下一页上。我使用第三个项目,然后第三个插槽将是空的,所以我希望第四个和第五个项目自动移回第三个和第四个插槽。我很难弄清楚这一点。感谢提前。
local myInventoryBag={}
local maxItems = 10 -- change this to how many you want
myInventoryBag[5]=3 -- Hammer for instance
myInventoryBag[4]=7 -- A metal Pipe for instance
local function getImageForItem(thisItem)
local itemNumber = tonumber(thisItem)
local theImage=""
if itemNumber==3 then
theImage="hammer.png"
elseif itemNumber == 7 then
theImage="metalpipe.png"
elseif ... -- for other options
...
else
return nil
end
local image = display.newImage(theImage)
return image
end
local function displayItems()
local i
for i=1,#myInventoryBag do
local x = 0 -- calculate based on the i
local y = 0 -- calculate based on the i
local image = getImageForItem(myInventoryBag[i])
if image==nil then return end
image.setReferencePoint(display.TopLeftReferencePoint)
image.x = x
image.y = y
end
end