如何根据Sprite Kit中的设备更改屏幕尺寸?

Dvo*_*ole 3 ios sprite-kit

我注意到以前没有的问题 - 在iPhone 5及相关设备上,我的游戏在顶部和底部显示黑色区域.

我使用它的标准代码,它表明即使在大型设备上skView.bounds.size也是320x480.

- (void)viewWillLayoutSubviews
{
    [super viewWillLayoutSubviews];

    SKView * skView = (SKView *)self.view;
    skView.showsFPS = YES;
    skView.showsNodeCount = YES;
    //skView.showsPhysics = YES;

    if (!skView.scene) {
        NSLog(@"size: %@", NSStringFromCGSize(self.view.frame.size));
        SKScene * scene = [MainMenuScene sceneWithSize:skView.bounds.size]; //[MyScene sceneWithSize:skView.bounds.size];
        scene.scaleMode = SKSceneScaleModeAspectFill;
        [skView presentScene:scene];
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑:它正确地确定iPad尺寸.

EDIT2:改变场景大小不会增加其高度.我尝试手动设置为320,568没有用.

EDIT3:它在默认的Xcode项目中显示相同的黑色条纹.这里有点不对劲.

这是一个截图:

在此输入图像描述

Dvo*_*ole 5

不知何故,Xcode没有为项目提供默认启动图像.在我添加了启动图像之后,它开始工作了.


use*_*144 5

https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html中,文档说'要让系统知道您的应用支持iPhone 6屏幕大小,请包含故事板启动应用程序包中的屏幕文件.在运行时,系统会查找故事板启动屏幕文件.如果存在此类文件,系统会假定您的应用程序明确支持iPhone 6和6 Plus,并以全屏模式运行.如果没有这样的图像,系统会报告较小的屏幕尺寸(320×480点或320×568点),以便您的应用程序的基于屏幕的计算继续正确.然后缩放内容以适应更大的屏幕.'

我解决了选择'Project' - >'App Icons and Launch Images' - >'Launch Image source'然后让Xcode生成文件.也可以从旧项目中复制此文件.(在Xcode 5.1.1或之前制作的项目).

在xCode 6中为iOS 8+创建项目然后尝试在iOS 7或更低版​​本上执行应用程序时也会发生这种情况.