Как сделать так, чтобы моя сцена с набором спрайтов появилась над UIView?
Я провел некоторые поиски, но не нашел ничего, что напрямую касалось моей проблемы: у меня естьSKScene
с несколькимиSKNodes
каждый сSKSpriteNode
объекты для моей игры, и я использую фонUIImageView
(есть некоторые вещи, которые мне нужно сделать с фоном, которые нельзя сделать разумно с помощью набора спрайтов - насколько мне известно); проблема у меня в том чтоUIImageView
появляется над всем, и я не вижу свои игровые объекты.
В моем контроллере представления (файл .m) у меня есть следующий код для вызова моей сцены
@implementation GameViewController
- (void)viewDidLoad
{
[super viewDidLoad];
SKView * skView = (SKView *)self.view;
SKScene * scene = [GameScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
вGameScene
выше у меня есть несколькоSKNodes
где все мои игровые объекты являются детьми (например,nodeHDU
, nodePlay
, nodePauseMenu
...), и я используюUIImageView
в качестве фона (я переключаюсь между фоновыми сценами с течением времени и использую некоторые приятные переходы, такие какUIViewAnimationOptionTransitionCrossDissolve;
не мог сделать это сSKSpriteNode
в качестве фона без использования несколькихSKSpriteNodes
и сложный массивSKActions
так что я используюUIImageView
)
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;
Тем не менееImageBackground
выше это единственное, что я вижу при запуске приложения в Xcode. Существуют другие объекты из моей игры (дети других узлов), и различныеNSLog
заявления называются, но они, кажется, появляются заImageBackground
Я имею. Код выше «underSubview» и «sendSubviewToBack» не помогают.
Так как я могу отправитьimageBackground
на самом деле быть фоном?