Space -Bilder in einem Array gleichmäßig unter Berücksichtigung verschiedener Bildbreiten
Frage
local xOffset = 0
for i = 1, levelPacks[prevCurrentLevelPack][prevCurrentLevel].ammount do
if i == 1 then --setup first one
shapesPrevArray[i].x = 30
shapesPrevArray[i].y = 41
shapesPrevArray[i].isVisible = true
end
if i > 1 then --setup the rest
--width of previous one plus the x value of the previous one to make them next to eachother.
xOffset = shapesPrevArray[i - 1].width + shapesPrevArray[i - 1].x
print("offset: " .. xOffset)
shapesPrevArray[i].x = xOffset
shapesPrevArray[i].y = 41
shapesPrevArray[i].isVisible = true
xOffset = 0
end
i = i + 1
end
i:2 width:60 x value:30 xoffset:90
i:3 width:40 x value:90 xoffset:130
i:4 width:50 x value:130 xoffset:180
i:5 width:70 x value:180 xoffset:250
Kann mir bitte jemand helfen? Ich kann nicht herausfinden, warum dieses Stück sie nicht ausstößt.
xoffset = Shapesprevarray [i - 1] .Width + Shapesprevarray [i - 1] .x.
Wenn jemand erklären könnte, warum es nicht ist, und mich in die richtige Richtung weisen, wäre ich dankbar.
Vielen Dank.
Lösung
Sie sollten entfernen i = i + 1
Ein numerisches für die folgende Syntax:
for var=exp1,exp2,exp3 do something end
Diese Schleife führt für jeden Wert von Var von exp1 nach exp2 etwas aus, wobei Exp3 als Schritt zum Inkrement von VAR verwendet wird. Dieser dritte Ausdruck ist optional; Bei Abwesenheit nimmt Lua einen als Schrittwert an.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow