Objective c 更改设备方向时,场景将更改回“开始场景”
我对使用多个场景的精灵套件有问题。每次我更改设备方向时,sprite kit都会显示第一个场景。当我翻转iPhone时,游戏场景消失,设备显示菜单场景Objective c 更改设备方向时,场景将更改回“开始场景”,objective-c,orientation,sprite-kit,skscene,Objective C,Orientation,Sprite Kit,Skscene,我对使用多个场景的精灵套件有问题。每次我更改设备方向时,sprite kit都会显示第一个场景。当我翻转iPhone时,游戏场景消失,设备显示菜单场景 我怎样才能解决这个问题 我猜您可以在viewcontroller的viewWillLayoutSubviews方法中运行presentScene,而不必担心在某些情况下,例如调整视图大小时,此方法会重复运行。感谢您的帮助。我用“如果(!skView.scene){…}解决了这个问题: -(void)视图将布局子视图 { [超级视图将布局子视图];
我怎样才能解决这个问题 我猜您可以在viewcontroller的
viewWillLayoutSubviews
方法中运行presentScene
,而不必担心在某些情况下,例如调整视图大小时,此方法会重复运行。感谢您的帮助。我用“如果(!skView.scene){…}
解决了这个问题:
-(void)视图将布局子视图
{
[超级视图将布局子视图];
SKView*SKView=(SKView*)self.view;
如果(!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];
}
}