【问题标题】:Can we change InterfaceOrientations from SKScene in spritekit?我们可以从 spritekit 中的 SKScene 更改 InterfaceOrientations 吗?
【发布时间】:2013-12-11 07:22:26
【问题描述】:

在我的 spritekit 游戏中有不止一个级别。有些关卡处于横向模式,有些处于纵向模式。由于第一级处于横向模式,所以当我调用第一个 SKScene 时,我将视图控制器设置为

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscapeRight;
}

但是当我想加载我的第二个场景时,它会以纵向模式显示,它会以横向模式显示。现在如何在第二级将方向从横向更改为纵向。我的游戏中只有一个视图控制器。

提前致谢。

【问题讨论】:

    标签: ios7 xcode5 sprite-kit


    【解决方案1】:

    我认为不可能通过代码更改设备的方向。 您可以告诉用户将他们的设备旋转到下一个(或当前)级别并进行相应的处理。

    确保您的应用程序支持多个方向,并在您要使用纵向的新场景中添加以下代码:

    - (BOOL)shouldAutorotate {
    return YES;
    }
    
    - (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
    }
    

    我希望这会有所帮助。

    【讨论】:

    • 我遇到了这个问题,我突然想到我可以只旋转场景直到用户旋转设备。然后它会切换到纵向模式,我可以旋转回来。这似乎比要求他们每次都旋转它更无缝。当然我会做的是不说就提示他们:)
    • 不过,另一个问题是,现在您必须设法让它们旋转回横向。另外,如果您不希望以纵向播放给定级别,您如何限制它?因为它是自动旋转的。多么痛苦....
    • 另一个选项是不允许自动旋转。自己旋转它,并在你的游戏代码中根据你如何根据尺寸和处理输入来布局场景。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 2011-08-31
    • 2012-01-17
    • 2018-10-05
    • 1970-01-01
    • 2021-12-17
    • 2018-01-20
    相关资源
    最近更新 更多