我遇到使用多个SKScene的Sprite工具包问题。每当我更改设备方向时,精灵套件都会呈现第一个SKScene。当我翻转iPhone时,游戏场景消失,设备显示菜单场景。
我该如何解决这个问题?
答案 0 :(得分:2)
感谢您的帮助。我用“if ( !skView.scene ) {...}
”解决了它:
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
SKView * skView = (SKView *)self.view;
if ( !skView.scene ) { // <------- !!
SKScene * scene = [MenuScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
}
}
答案 1 :(得分:0)
我猜你在viewcontroller的presentScene
方法中运行viewWillLayoutSubviews
,而不保证在某些情况下此方法会重复运行,例如调整视图大小时。