电晕sdk奇怪的Z订购问题?

Jor*_*own 1 displayobject coronasdk

我正在尝试在游戏中的精灵图像下面创建一个圆形阴影.但是,出于某种原因,即使我先创建圆,精灵也总是出现在它下面.这是代码:

local circle = display.newCircle(100,100,30)
circle:setFillColor(0,0,0)
local hunter = display.newSprite(imageSheet,createAnimationSequence("Hunter",5))
Run Code Online (Sandbox Code Playgroud)

createAnimationSequence函数只是组织动画序列,所以这不是问题.我已经尝试将精灵和圆圈都放在自己的显示组中,即使这样也行不通.我很困惑这个问题,但它可能只是一个我没有看到的粗心错误.

圆圈出现,精灵也是如此,只有圆圈位于精灵的顶部而不是精灵的下方,即使我编码首先绘制它.

Dev*_*faR 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)
Run Code Online (Sandbox Code Playgroud)


Nav*_*yle 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()
Run Code Online (Sandbox Code Playgroud)

但要小心object:toBack(),它可能会导致对象移动到背景后面(如果有的话),它更喜欢在它上面使用它display.newGroup()