【发布时间】:2014-03-18 13:40:19
【问题描述】:
我在横向模式下使用 sprite kit 制作了一个游戏。唯一允许的方向是横向左侧和横向右侧。当我在游戏中选择横幅广告时,不是冻结场景并返回游戏中的原始点,而是整个场景重新初始化(音乐播放器重新启动,内容显示为开始屏幕等)。
当我翻转手机以切换方向时,也会发生同样的事情。我怎样才能防止这种情况?
【问题讨论】:
标签: ios objective-c orientation sprite-kit
我在横向模式下使用 sprite kit 制作了一个游戏。唯一允许的方向是横向左侧和横向右侧。当我在游戏中选择横幅广告时,不是冻结场景并返回游戏中的原始点,而是整个场景重新初始化(音乐播放器重新启动,内容显示为开始屏幕等)。
当我翻转手机以切换方向时,也会发生同样的事情。我怎样才能防止这种情况?
【问题讨论】:
标签: ios objective-c orientation sprite-kit
至于当你翻手机的时候你需要这个……
- (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];
}
}
我仍在调查 iAd 问题,如果有什么我会更新。
【讨论】:
感谢您的回复。这就是问题所在。我一直在我的根视图控制器的viewWillLayoutSubviews 方法中初始化场景。我将场景初始化移至 viewDidLoad 方法并解决了问题。
【讨论】: