我刚开始一个新的Sprite Kit项目来学习如何使用它.我观看并阅读了很多教程,但没有教程可以解答我的问题/问题.
我想为我的iPhone 5S创建一个应用程序.因此屏幕尺寸为1136x640.我为我的应用程序创建了一个1136x640背景图像.但是,当我将图像添加到我的应用程序时,它可能会变大!iOS模拟器只显示图像的中间部分.
有人能告诉我我必须使用什么屏幕尺寸以及为什么?
非常感谢!
这是我从教程中复制的代码.代码位于initWithSize方法的myScene.m文件中
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:@"myBackground"];
background.position = CGPointMake(CGRectGetMidX(self.frame),CGRectGetMidY(self.frame));
[self addChild:background];
Run Code Online (Sandbox Code Playgroud)
编辑:
我在谷歌搜索并发现了这个:
必须使用"viewWillLayoutSubviews"更改viewDidLoad方法.
这是这个方法:
- (void)viewWillLayoutSubviews
{
[super viewWillLayoutSubviews];
// Configure the view.
SKView * skView = (SKView *)self.view;
skView.showsFPS = YES;
skView.showsNodeCount = YES;
// Create and configure the scene.
SKScene * scene = [MyScene sceneWithSize:CGSizeMake(skView.bounds.size.width*2,skView.bounds.size.height*2)];
scene.scaleMode = SKSceneScaleModeAspectFill;
// Present the scene.
[skView presentScene:scene];
}
Run Code Online (Sandbox Code Playgroud)
起初,scene = MySceneWithSize行是:
SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];
Run Code Online (Sandbox Code Playgroud)
但那时只是iPhone 5屏幕尺寸的一半(568x320).所以我不得不加倍大小.有人知道为什么吗?
我SKScene在启动期间设置了以下方式:
-(id)initWithSize:(CGSize)size {
if (self = [super initWithSize:size]) {
self.backgroundColor = [SKColor clearColor];
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
但不知何故,我得到的是以下,黑色,根本不清楚:

我在这里错过了什么?如何让这个场景清晰?我已经把视野保持清晰,但这仍然是我得到的.
更新:我也尝试过设置,myView.opaque = NO;但这根本没有帮助.