各位,当我尝试在我的程序中插入一个元素时遇到了麻烦(使用 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,但 insted 显示为 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了解详情。
关于android - 在函数中时在前景中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19104279/