Como fazer a cena do meu kit de sprite aparecer acima de um UIView?
Pesquisei, mas não encontrei nada que resolvesse diretamente o meu problema: tenho umSKScene
com váriosSKNodes
cada um comSKSpriteNode
objetos para o meu jogo e estou usando um plano de fundoUIImageView
(há algumas coisas que eu preciso fazer com o histórico que não podem ser razoáveis com o kit de sprite - pelo menos que eu saiba); o problema que estou tendo é que oUIImageView
aparece acima de tudo e não consigo ver meus objetos de jogo.
No meu controlador de exibição (arquivo .m), tenho o seguinte código para chamar minha cena
@implementation GameViewController
- (void)viewDidLoad
{
[super viewDidLoad];
SKView * skView = (SKView *)self.view;
SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
NoGameScene
acima, eu tenho váriosSKNodes
onde todos os meus objetos de jogo são filhos de (por exemplonodeHDU
, nodePlay
, nodePauseMenu
...) e estou usando umUIImageView
como meu plano de fundo (alterno entre cenas de plano de fundo ao longo do tempo e estou usando algumas boas transições, comoUIViewAnimationOptionTransitionCrossDissolve;
não poderia conseguir isso com umSKSpriteNode
como plano de fundo sem usar váriosSKSpriteNodes
e uma intrincada variedade deSKActions
então eu estou usandoUIImageView
)
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;
No entanto, oImageBackground
acima é a única coisa que vejo ao executar o aplicativo no Xcode. Os outros objetos do meu jogo (filhos de outros nós) existem e váriosNSLog
estão sendo chamadas, mas parecem aparecer por trás doImageBackground
Eu tenho. O código acima "belowSubview" e "sendSubviewToBack" não ajuda.
Então, como posso enviar oimageBackground
realmente ser o fundo?