iOS8 Retina @ 2x图像不像iOS7那样缩放?

时间:2014-10-31 15:11:04

标签: swift ios8 sprite-kit

Xcode 6.1(iOS 8.1)改变图像处理方式的方式。在我之前的Sprite Kit游戏(Xcode 5,iOS 7)中,我使用以下全屏图像作为背景:

MainBackground_IP5@2x.png // RESOLUTION: 640 x 1136, it fills screen.

现在在Xcode 6.1中我正在测试以下代码(见下文),我正在使用的图像是:

MainBackground_IP6@2x.png // RESOLUTION: 750 x 1334

CODE:

func setupBackdrop() {
    println(__FUNCTION__)
    let backdropSprite = SKSpriteNode(imageNamed: "MainBackground_IP6")
    backdropSprite.anchorPoint = CGPointZero
    backdropSprite.position = CGPointZero
    self.addChild(backdropSprite)
}

然而,当我在模拟器和设备上运行应用程序时,我得到以下内容。

enter image description here

注意:如果我删除@ 2x它很合适,但我可以理解什么改变了,我没有在任何Sprite Kit注释中看到过这个?我甚至加载了我的旧iPhone 5游戏项目,并且所有@ 2x背景都非常适合它,它必须只是iOS 8。

enter image description here

1 个答案:

答案 0 :(得分:0)

图像应该使用@ 2x,但问题是在GameScene.sks中我输入了屏幕分辨率,以像素为单位而不是点数(应该是375 x 667)此外,GameScene.sks上似乎存在问题模板,如果你按照我的方式以编程方式添加项目,它们通常不会显示。解决方案似乎是你必须向GameScene.sks添加至少一个节点(我刚添加了一个空的SKNode)