我注意到之前没有的问题 - 在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];
}
}
编辑: 它正确地确定了iPad尺寸。
EDIT2:改变场景大小不会增加其高度。我尝试手动设置为320,568无效。
EDIT3:它在默认的Xcode项目中显示相同的黑色条纹。这里出了点问题。
以下是截图:
答案 0 :(得分:5)
不知何故,Xcode没有为项目提供默认启动图像。在我添加了启动图像后,它们全都开始工作了。
答案 1 :(得分:5)
在https://developer.apple.com/library/ios/releasenotes/General/WhatsNewIniOS/Articles/iOS8.html中,文档说“要让系统知道您的应用支持iPhone 6屏幕尺寸,请在应用套装中添加故事板启动屏幕文件。在运行时,系统会查找故事板启动屏幕文件。如果存在此类文件,系统会假定您的应用程序明确支持iPhone 6和6 Plus,并以全屏模式运行。如果没有这样的图像,系统会报告较小的屏幕尺寸(320×480点或320×568点),以便您的应用程序的基于屏幕的计算继续正确。然后缩放内容以适应更大的屏幕。'。
我通过选择'项目' - >'应用图标和启动图像' - >'启动图像来源'然后让Xcode生成文件。也可以从旧项目中复制此文件。 (在Xcode 5.1.1或之前的项目上制作的项目。)
在xCode 6中为iOS 8+创建项目,然后尝试在iOS 7或更低版本上执行应用程序时,也会发生这种情况。
答案 2 :(得分:0)
要更改场景的视图大小,您可以执行此操作
SKView * skView = (SKView *)self.view;
CGSize viewSize = self.view.bounds.size;
viewSize.height *= 2;
viewSize.width *= 2;
SKScene * scene = [MainMenuScene sceneWithSize:viewSize];
scene.scaleMode = SKSceneScaleModeAspectFill;
场景viewSize将在这里缩放2.