我对使用多个 SKScene 的 Sprite 套件有疑问。每次我更改设备方向时,sprite kit 都会呈现第一个 SKScene。当我翻转 iPhone 时,游戏场景消失,设备显示菜单场景。
我怎样才能解决这个问题?
我对使用多个 SKScene 的 Sprite 套件有疑问。每次我更改设备方向时,sprite kit 都会呈现第一个 SKScene。当我翻转 iPhone 时,游戏场景消失,设备显示菜单场景。
我怎样才能解决这个问题?
感谢您的帮助。我用“ 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];
}
}
我猜你是presentScene
在 viewcontroller 的viewWillLayoutSubviews
方法中运行的,但没有防止这种方法在某些情况下会重复运行,例如在调整视图大小时。