Wie wird meine Sprite-Kit-Szene über einer UIView angezeigt?
Ich habe etwas gesucht, aber nichts gefunden, was mein Problem direkt angeht: Ich habe einSKScene
mit mehrerenSKNodes
jeder mitSKSpriteNode
Objekte für mein Spiel und ich verwende einen HintergrundUIImageView
(es gibt einige Dinge, die ich mit dem Hintergrund machen muss, die mit dem Sprite-Kit nicht zumutbar sind - zumindest meines Wissens); Das Problem, das ich habe, ist, dass dieUIImageView
erscheint über allem und ich kann meine Spielobjekte nicht sehen.
In meinem View Controller (.m-Datei) habe ich den folgenden Code zum Aufrufen meiner Szene
@implementation GameViewController
- (void)viewDidLoad
{
[super viewDidLoad];
SKView * skView = (SKView *)self.view;
SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
In demGameScene
oben habe ich mehrereSKNodes
wo alle meine Spielobjekte Kinder von sind (zum BeispielnodeHDU
, nodePlay
, nodePauseMenu
...) und ich benutze einUIImageView
als Hintergrund (Ich wechsle im Laufe der Zeit zwischen Hintergrundszenen und verwende einige nette Übergänge wieUIViewAnimationOptionTransitionCrossDissolve;
konnte dies nicht mit einem @ erreichSKSpriteNode
als Hintergrund ohne Verwendung mehrererSKSpriteNodes
und ein kompliziertes Array vonSKActions
Also benutze ichUIImageView
)
UIView *backgrounds = [[UIView alloc] init];
[self.view insertSubview:backgrounds belowSubview:self.view];
UIImageView *imageBackground = [[UIImageView alloc] initWithFrame:CGRectMake(0,0,self.view.frame.size.width,self.view.frame.size.height)];
[backgrounds addSubview:imageBackground];
[backgrounds sendSubviewToBack:imageBackground];
[imageBackground setImage:[UIImage imageNamed:@"1-A.png"]];
imageBackground.alpha=1.0;
DerImageBackground
oben ist das einzige, was ich sehe, wenn ich die App in Xcode starte. Die anderen Objekte aus meinem Spiel (Kinder anderer Knoten) existieren und verschiedeneNSLog
-Anweisungen werden aufgerufen, scheinen jedoch hinter dem @ zu steheImageBackground
Ich habe. Der Code über "belowSubview" und "sendSubviewToBack" hilft nicht.
So wie kann ich das @ sendimageBackground
eigentlich der Hintergrund sein?