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函数只是组织动画序列,所以这不是问题.我已经尝试将精灵和圆圈都放在自己的显示组中,即使这样也行不通.我很困惑这个问题,但它可能只是一个我没有看到的粗心错误.
圆圈出现,精灵也是如此,只有圆圈位于精灵的顶部而不是精灵的下方,即使我编码首先绘制它.
您可以使用索引将您的圈子直接放在群组后面
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)
在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()