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 に答える