精灵套件会使图像变大吗?

时间:2014-04-23 02:54:45

标签: ios objective-c sprite-kit

我正在开发一个sprite kit游戏,我无法弄清楚为什么它不会按照我想要的方式扩展我的图像。游戏是横向的。这是我遇到问题的代码:

SKSpriteNode *Pathway = [SKSpriteNode spriteNodeWithTexture:[SKTexture textureWithImageNamed:@"path.png"] size:CGSizeMake(568, 220)];
Pathway.zPosition = -1.0;
Pathway.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
Pathway.name = @"Pathway";

[self addChild:Pathway];

基本上我希望屏幕上的纹理如下:enter image description here

但由于某些原因,即使我更改纹理的大小(568,220),它也会缩放图像并且不适合屏幕。

我尝试使用的[Pathway setScale:0.7];接近我正在寻找的尺寸,但我需要精确到568 x 220. 即使我正在设置它,它仍然会扭曲我的形象尺寸为568 x 220?

如果需要更多信息,请告诉我,我认为这应该足够了。

2 个答案:

答案 0 :(得分:7)

我很确定你是在装有Retina显示屏的设备上进行测试的。

将path.png重命名为path@2x.png并使用[SKTexture textureWithImageNamed:@"path"]代替[SKTexture textureWithImageNamed:@"path.png"]。这应该可以解决你的问题。

阅读Apple的教程Supporting High-Resolution Screens In Views了解更多信息。

答案 1 :(得分:0)

使用setScale直接缩放内容比例,从而产生与缩放前相同宽高比的精灵。

尝试设置xScale和yScale属性以进行缩放,而不考虑宽高比