使用循环创建具有不同偏移量的对象

以下是用for循环创建4个对象的代码:

for i=1,4 do
    local obj = display.newRect(sceneGroup, 40, 60)
    obj.y = (obj.height + 80) * i
end

这段代码可以创建四个对象,其起始点为60(obj.height),每个对象之间间隔80。

现在我想改变起始点,但保持它们之间的间距(80),也就是我想把起始点改为250而不是60。我尝试了不同的方法,但都没能做到正确。

点赞
用户7026995
用户7026995

从 Corona documentation 关于 display.newRect() 的说明:

概述:

创建一个矩形对象。本地原点位于矩形的中心,锚点初始化为此本地原点。

语法:

display.newRect( [parent,] x, y, width, height )

尝试:

local x, y = display.contentWidth * 0.5, 250-- 决定放置第一个矩形的位置
local obj = {} -- 引用以供后续使用

for i=1, 4 do
    obj[i] = display.newRect(x, y, 40, 60)
    y = y + obj[i].height + 80
end
2016-11-11 09:02:56