0

我对使用多个 SKScene 的 Sprite 套件有疑问。每次我更改设备方向时,sprite kit 都会呈现第一个 SKScene。当我翻转 iPhone 时,游戏场景消失,设备显示菜单场景。

我怎样才能解决这个问题?

4

2 回答 2

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];
    }
}
于 2013-12-30T17:32:20.007 回答
0

我猜你是presentScene在 viewcontroller 的viewWillLayoutSubviews方法中运行的,但没有防止这种方法在某些情况下会重复运行,例如在调整视图大小时。

于 2013-12-30T11:31:27.703 回答