所有人,尝试在程序中插入元素(使用Corona SDK制作,因此使用LUA)时遇到了麻烦。

问题是,当我在函数中插入对象时,它出现在前景中,即使我在代码中在函数中的对象之后声明了另一个对象

例如,如果我写

local function obD()

local obD = display.newRect(_W-30, _H/2+160, 10, math.random(-140, -20))
localGroup:insert(obD)
obD.isFixedRotation = true
obD:setFillColor(255, 0, 0)

end

tmrD = timer.performWithDelay(1500, obD, maxOb)


local myText = display.newText("Hello World", _W-30, 310, "PUSAB", 8)
localGroup:insert(myText)

应该在前景中的对象将是myText,但是被插入的对象会出现obD,而如果我写
local obD = display.newRect(_W-30, _H/2+160, 10, math.random(-140, -20))
localGroup:insert(obD)
obD.isFixedRotation = true
obD:setFillColor(255, 0, 0)

local myText = display.newText("Hello World", _W-30, 310, "PUSAB", 8)
localGroup:insert(myText)

myText按应有的方式显示(出现在前景中)

我该怎么做才能解决此问题?谢谢! :)

最佳答案

您使用performWithDelay,这会延迟函数的执行。这导致localGroup:insert(obD)在执行localGroup:insert(myText)之后执行,从而将其置于前台。

您可以将第一个插入更改为localGroup:insert(1, obD)以“强制”其索引并将其放在后台。有关详细信息,请参见GroupObject

10-07 12:41