我正在尝试在游戏中的精灵图像下面创建一个圆形阴影。但是,出于某种原因,即使我首先创建圆,精灵也总是出现在它下面。这是代码:
local circle = display.newCircle(100,100,30)
circle:setFillColor(0,0,0)
local hunter = display.newSprite(imageSheet,createAnimationSequence("Hunter",5))
createAnimationSequence函数只是组织动画序列,所以这不是问题所在。我已经尝试将精灵和圆圈都放在自己的显示组中,即使这样也行不通。我对此问题感到很困惑,但这可能只是一个我没有看到的粗心错误。
圆圈出现,精灵也是如此,只有圆圈位于精灵的顶部而不是精灵的下方,即使我编码首先绘制它。
答案 0 :(得分:7)
您可以使用索引
直接将您的圈子放在群组后面local group = display.newGroup()
local circle = display.newCircle(100,100,30)
circle:setFillColor(0,0,0)
local hunter = display.newSprite(imageSheet,createAnimationSequence("Hunter",5))
group:insert(1,circle)
group:insert(2,hunter)
答案 1 :(得分:6)
在Corona SDK中,你无法直接更改z-index,有一个解决方法。
您可以使用object:toBack()和object:toFront()
local circle = display.newCircle(100,100,30)
circle:setFillColor(0,0,0)
local hunter = display.newSprite(imageSheet,createAnimationSequence("Hunter",5))
circle:toFront()
hunter:toFront()
但要注意object:toBack()
,它可能导致对象移到后面(如果有的话),更喜欢在display.newGroup()