SKSpriteNode を他のすべてのノードの前面に移動するにはどうすればよいですか?
UIView では、bringSubviewToFront を使用して uiview を他のビューの前面に表示できます。
SKSpriteNode を他のすべてのノードの前面に移動するにはどうすればよいですか?
UIView では、bringSubviewToFront を使用して uiview を他のビューの前面に表示できます。
「前面に出す」ことはできませんが、変更することはできますzPosition
。
ノードが高いほどzPosition
、後でレンダリングされます。
したがってzPositions
、-1、0、1 の 3 つのノードがある場合、-1 が後ろに表示されます。次に 0 です。次に 1 が先頭に表示されます。
それらがすべてデフォルトzPosition
の 0.0 を使用する場合、それらは親ノードの子配列に表示される順序でレンダリングされます。
ドキュメントですべてを読むことができます。
SWIFT 4
通常、さまざまなレイヤーを簡単に管理できるように、zPositions を確立する列挙型を作成します。
enum ZPositions: Int {
case background
case foreground
case player
case otherNodes
}
したがって、新しいアイテムをセットアップするときは、次の方法で簡単に zPosition を指定できます。
button.zPosition = CGFloat(ZPosition.otherNodes.rawValue)
(ボタンの zPosition が最大になりました)