我正在创建一个通用应用程序。
我在插画家中创造了我的艺术,以适合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将其恢复到实际大小。
为什么呢?我做错了什么?
谢谢, 丰富!
答案 0 :(得分:0)
您需要设置我认为的SKNode的size属性。例如:
background.size = CGSizeMake(screenWidth, screenHeight);
答案 1 :(得分:0)
好吧,我想我解决了它 -
在调用 viewWillLayoutSubviews 之前,我不会开始创建我的内容。默认的 SpritKit 模板使用 viewDidLoad ,但我将其更改为 viewWillLayoutSubviews ,现在一切正常。
我想我正在尝试在视图之前创建内容" sort"本身...
不确定有什么不同但是有效。
-r