【问题标题】:Images in an array, not spacing correctly数组中的图像,间距不正确
【发布时间】:2011-11-10 07:13:48
【问题描述】:

形状位于图像的顶部。

http://picturepush.com/public/6472916

代码如下所示:

    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("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 值位于形状的左上角。任何帮助将不胜感激。

【问题讨论】:

  • 看起来这段代码会将形状彼此相邻放置,它们之间没有空格。屏幕截图中不是这种情况。每个形状只是白色部分,还是还包括一些黑色?
  • 您好,感谢您的回复,形状不是图像文件,它们是通过设置宽度和高度值定义的矩形。然后我将其缩小一半。所以不应该有黑色!
  • 要么,要么 .width 没有正确初始化......

标签: arrays image lua spacing lua-table


【解决方案1】:

根据评论,每个形状的width 实际上是绘制时的两倍。所以你要做的就是把所有的宽度加起来,然后除以 2;这为您提供了形状所需的总宽度。从您要占用的屏幕总宽度中减去它;这为您提供了可用的空间量。然后除以形状的数量,减一;这为您提供了添加到每个形状右侧的空间量(大约,因为它可能不会精确划分;只是向下舍入)。所以每个形状的偏移量是前一个形状的偏移量,加上它的一半宽度,再加上我们刚刚计算的值。我不知道 Lua,所以我会把编码留给你。

【讨论】:

  • 感谢它的完美运行,尽管当较小的图像紧挨着较大的图像时,它会稍微弄乱间距。 picturepush.com/public/6472963 有没有办法解决这个问题?再次感谢刘易斯。
  • @Lewis Elliott:这实际上有点离谱;我测量了这些像素数:20(间隙 41)25(间隙 44)35(间隙 29)15。我建议您将新代码添加到问题中(同时保留旧代码),以便对其进行审查。
  • 我已经上传了你在 Lua 中告诉我的内容,并使它变得更简单,这样人们就可以看到形状的来源。谢谢stackoverflow.com/questions/7309452/…
猜你喜欢
  • 2016-09-18
  • 2017-11-25
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 2016-07-22
  • 2013-02-13
相关资源
最近更新 更多