3

皆さん、プログラムに要素を挿入しようとすると問題が発生します(Corona SDKで作成したため、LUAを使用しています)。

問題は、関数にオブジェクトを挿入すると、関数内のオブジェクトの後に別のオブジェクトをコードで宣言しても、前景に表示されることです

たとえば、私が書くと

local function obD()

local obD = display.newRect(_W-30, _H/2+160, 10, math.random(-140, -20))
localGroup:insert(obD)
obD.isFixedRotation = true
obD:setFillColor(255, 0, 0)

end

tmrD = timer.performWithDelay(1500, obD, maxOb)


local myText = display.newText("Hello World", _W-30, 310, "PUSAB", 8)
localGroup:insert(myText)

フォアグラウンドにあるはずのオブジェクトはmyTextになりますが、instedはobDに見えますが、私が書くと

local obD = display.newRect(_W-30, _H/2+160, 10, math.random(-140, -20))
localGroup:insert(obD)
obD.isFixedRotation = true
obD:setFillColor(255, 0, 0)

local myText = display.newText("Hello World", _W-30, 310, "PUSAB", 8)
localGroup:insert(myText)

myText が正常に表示されます (フォアグラウンドに表示されます)

この問題を解決するにはどうすればよいですか? ありがとう!:)

4

2 に答える 2

1

次のいずれかを使用できます(ポールが提案したように):

localGroup:insert(1, obD) -- This will make `obD` z-index to 1

また:

myText:toFront()  -- This will force the index of `myText` to the highest value/force forward

ノート:

  • これらのメソッドは、作成後にのみ呼び出しobDます (コードに従って)。
  • 2 番目の方法を使用するときは、必ずmyTextグローバル設定で宣言してください。(つまり、シーンの上部にあるように myText を宣言する必要がlocal myTextあります)。

コーディングを続ける.......:)

于 2013-10-01T04:26:00.753 に答える