¿Cómo hacer que la escena de mi kit de sprites aparezca sobre una UIView?
He realizado algunas búsquedas, pero no he encontrado nada que aborde directamente mi problema: tengo unSKScene
con variosSKNodes
cada uno conSKSpriteNode
objetos para mi juego, y estoy usando un fondoUIImageView
(Hay algunas cosas que necesito hacer con los antecedentes que no se pueden hacer razonablemente con el kit de sprites, al menos que yo sepa); el problema que tengo es que elUIImageView
aparece sobre todo y no puedo ver los objetos de mi juego.
En mi controlador de vista (archivo .m) tengo el siguiente código para llamar a mi escena
@implementation GameViewController
- (void)viewDidLoad
{
[super viewDidLoad];
SKView * skView = (SKView *)self.view;
SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
En elGameScene
arriba, tengo variosSKNodes
donde todos mis objetos de juego son hijos de (por ejemplonodeHDU
, nodePlay
, nodePauseMenu
...), y estoy usando unUIImageView
como mi fondo (estoy cambiando entre escenas de fondo con el tiempo y estoy usando algunas transiciones agradables comoUIViewAnimationOptionTransitionCrossDissolve;
no podría lograr esto con unSKSpriteNode
como fondo sin usar múltiplesSKSpriteNodes
y una intrincada variedad deSKActions
así que estoy 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;
sin embargo, elImageBackground
arriba es lo único que veo cuando ejecuto la aplicación en Xcode. Los otros objetos de mi juego (hijos de otros nodos) existen, y variosNSLog
se llaman declaraciones, pero parecen aparecer detrás delImageBackground
Yo tengo. El código de arriba "belowSubview" y "sendSubviewToBack" no ayudan.
Entonces, ¿cómo puedo enviar elimageBackground
para ser realmente el fondo?