为什么我的艺术作品在屏幕上显示2倍?

时间:2014-05-16 13:33:47

标签: image sprite-kit scale retina-display skspritenode

我正在创建一个通用应用程序。

我在插画家中创造了我的艺术,以适合iPhone屏幕,特别是640x1136像素。我导出了PNG并命名为myArt@2x.png,还有一个名为myArt.png的50%版本。艺术品位于地图集文件夹中。

我正在创建一个像这样的精灵节点:

NSString * backgroundName=@"starField";
SKSpriteNode *background = [SKSpriteNode spriteNodeWithImageNamed:backgroundName];
background.position = CGPointMake(screenWidth/2, screenHeight/2);
background.zPosition = LayerBackground;
[_worldNode addChild:background];

问题在于,当我在模拟器(iPhone 4 w / retina)中运行时,图像会按比例放大。我必须使用xScale和yScale将其恢复到实际大小。

为什么呢?我做错了什么?

谢谢, 丰富!

2 个答案:

答案 0 :(得分:0)

您需要设置我认为的SKNode的size属性。例如:

background.size = CGSizeMake(screenWidth, screenHeight);

答案 1 :(得分:0)

好吧,我想我解决了它 -

在调用 viewWillLayoutSubviews 之前,我不会开始创建我的内容。默认的 SpritKit 模板使用 viewDidLoad ,但我将其更改为 viewWillLayoutSubviews ,现在一切正常。

我想我正在尝试在视图之前创建内容" sort"本身...

不确定有什么不同但是有效。

-r