Space -Bilder in einem Array gleichmäßig unter Berücksichtigung verschiedener Bildbreiten

StackOverflow https://stackoverflow.com/questions/7302754

  •  22-10-2019
  •  | 
  •  

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.

War es hilfreich?

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.

http://www.lua.org/pil/4.3..html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top