【问题标题】:Space images in an array out evenly, taking into account different image widths考虑到不同的图像宽度,将数组中的图像均匀分布
【发布时间】:2011-11-10 07:00:53
【问题描述】:
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 = shapePrevArray[i - 1].width + shapesPrevArray[i - 1].x

如果有人能解释为什么不这样做并指出我正确的方向,我将不胜感激。

谢谢。

【问题讨论】:

    标签: arrays image lua spacing


    【解决方案1】:

    你应该删除i = i + 1

    数字 for 的语法如下:

    for var=exp1,exp2,exp3 do
      something
    end
    

    该循环将为从 exp1 到 var 的每个值执行一些操作 exp2,使用 exp3 作为递增 var 的步骤。这第三个表达式 是可选的;当不存在时,Lua 假定步长值为 1。

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

    【讨论】:

    • 感谢删除它,知道为什么形状的间距不正确吗?
    • 你能用 xOffset 打印 i、shapesPrevArray[i - 1].width、shapesPrevArray[i - 1].x 并将它们留在你的问题中吗?
    • 我认为 xoffset 没有任何问题,因为它正在正常增长。您的问题可能不在此处的代码中。
    • 我的所有代码都可以在这里找到:pastebin.com/itiEzRJK 如果你喜欢我的图像的奇怪之处,我可以向你展示我的图像是如何打印的。可以在这里找到它在屏幕上的样子:[IMG]www3.picturepush.com/photo/a/6472916/img/6472916.png[/IMG]
    • 您需要使用更正的循环代码发布一个新问题,因为如果您这样更改问题,我的回答将无效。
    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 2013-04-03
    • 1970-01-01
    • 2020-08-06
    • 2021-04-12
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    相关资源
    最近更新 更多