所有人,尝试在程序中插入元素(使用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。