異なる画像幅を考慮して、配列内のスペース画像を均等に出します
質問
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
誰かが私を助けてくれませんか?なぜこのビットがそれらを間隔を置いていないのかを理解できません。
xoffset = shapesprevarray [i -1] .width + shapesprevarray [i -1] .x
誰かがそれがそうでない理由を説明でき、私を正しい方向に向けてくれるなら、私は感謝します。
ありがとう。
解決
削除する必要があります i = i + 1
数値には次の構文があります。
for var=exp1,exp2,exp3 do something end
そのループは、EXP1からEXP2へのVARの各値に対して何かを実行し、EXP3をVARをインクリメントするステップとして使用します。この3番目の式はオプションです。不在の場合、Luaはステップ値として1つを想定します。
所属していません StackOverflow