数组中的图片,间距不正确

这些形状位于图像的顶部。

代码看起来像这样:

    local xOffset = 0

    for i = 1, levelPacks[prevCurrentLevelPack][prevCurrentLevel].ammount do

        if i == 1 then --设置第一个

            shapesPrevArray[i].x = 30
            shapesPrevArray[i].y = 41
            shapesPrevArray[i].isVisible = true

        end

        if i > 1 then --设置其余的

            --上一个的宽度和x值加起来使它们相邻。
            xOffset = shapesPrevArray[i - 1].width + shapesPrevArray[i - 1].x
            print("i:" .. i .. " width:" .. shapesPrevArray[i - 1].width .. " x value:" .. shapesPrevArray[i - 1].x .." xoffset:" .. xOffset)
            shapesPrevArray[i].x = xOffset
            shapesPrevArray[i].y = 41
            shapesPrevArray[i].isVisible = true
            xOffset = 0

        end

    end

我的目标是将数组中所有图像都以相同的间距分隔开。数组中的图像宽度不同。.x值位于形状的左上角。感谢任何帮助。

原文链接 https://stackoverflow.com/questions/7302906

点赞
stackoverflow用户675568
stackoverflow用户675568

根据评论,每个形状的 width 实际上是它们将被绘制的两倍。因此,您需要将所有宽度相加,然后将总和除以 2;这将为形状提供所需的总宽度。从您想要占用的屏幕总宽度中减去这个值,这将给出可用空间的数量。然后将这个数减去 1,这将给出要添加到每个形状右侧的空间量(大致相等,因为它可能不会被完美地分割;只需向下取整即可)。因此,每个形状的偏移量为前一个形状的偏移量加上它的一半宽度,再加上我们刚刚计算出的值。我不懂 Lua,所以我会把编码交给你。

2011-09-05 00:39:28