2016-05-26 7 views
0

Ich habe einen SpriteNode in einer Szene erstellt und er ist da, aber er steckt hinter all den UImageln und UIButtons, die ich auf das Storyboard gezogen habe.SpriteNode hinter UIImages

Ich habe versucht, die .zPosition des SpriteNode zu 99999999999999 zu ändern, aber das spielt keine Rolle.

Was muss ich tun, damit der SpriteNode vor den meisten Bildern angezeigt wird? Oder kann ich nur ein Hintergrundbild haben?

Antwort

0

Leider ist dies für Sie unmöglich. Sie kombinieren zwei Rendering-Hierarchien (UIKit und Sprite Kit), deren untergeordnete Elemente (UIView bzw. SKNode) sich nicht vermischen.

SKNodes werden in der SKScene gerendert, die sie enthält. Das fertige gerenderte Bild wird als Bild für die Ebene des SKView verwendet. Von dort aus bilden UIKit (und CoreAnimation) die UIViews.

eine Hierarchie für Veranschaulichungszwecke:

  • UIView
    • UIButton
    • UIButton
    • SKView (rendert ein SKScene Objekt)
      • SKNode
      • SKLabelNode
      • SKLabelNode
    • UIImageView
+0

Also muss ich alles programmatisch in der SpriteKit Szene hinzufügen? Oder kann ich Bilder per Drag & Drop verschieben? Vielen Dank. – Bezz

+0

Sie können Sprite Kit Scene-Dateien (.sks) verwenden, die wie .xibs nur für Sprite Kit sind. Sie können Knoten und Sprites in dieser Datei mit Xcode einrichten. Sie können eine neue Sprite Kit-Szene mit Xcode erstellen (unter Neue Datei -> iOS -> Ressource -> SpriteKit-Szene). – CloakedEddy