1

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

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

createAnimationSequence 函数只是组织动画序列,所以这不是问题。我尝试将精灵和圆圈放在自己的显示组中,即使这样也不起作用。我对这个问题感到非常困惑,但这可能只是一个我没有看到的粗心错误。

圆圈出现了,精灵也出现了,只有圆圈在精灵的顶部而不是在它的下面,即使我编码它是先绘制的。

4

2 回答 2

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)
于 2013-07-08T02:14:10.857 回答
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()

于 2013-07-08T02:11:17.000 回答