我刚刚开始了一个新的雪碧套件项目来学习如何使用它。我看并阅读了很多教程,但是没有一个教程能回答我的问题/问题。
我只想为我的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];编辑
我在谷歌上搜索发现了这个:
viewDidLoad方法必须更改为"viewWillLayoutSubviews“。
以下是一种方法:
- (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];
}首先,场景= MySceneWithSize行是:
SKScene * scene = [MyScene sceneWithSize:skView.bounds.size];但是它仅仅是iPhone 5屏幕大小的一半(568x320)。所以我得把尺寸加倍。有人知道为什么吗?
发布于 2014-05-05 17:48:44
我确实用雪碧做背景。
double escalax = self.size.width/ sprite.size.width ;
double escalay = self.size.height/ sprite.size.height ;
SKAction *mostrar = [SKAction scaleXTo:escalax y:escalay duration:0];希望能帮上忙!
https://stackoverflow.com/questions/19471761
复制相似问题