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)
}
然而,当我在模拟器和设备上运行应用程序时,我得到以下内容。
注意:如果我删除@ 2x它很合适,但我可以理解什么改变了,我没有在任何Sprite Kit注释中看到过这个?我甚至加载了我的旧iPhone 5游戏项目,并且所有@ 2x背景都非常适合它,它必须只是iOS 8。
答案 0 :(得分:0)
图像应该使用@ 2x,但问题是在GameScene.sks中我输入了屏幕分辨率,以像素为单位而不是点数(应该是375 x 667)此外,GameScene.sks上似乎存在问题模板,如果你按照我的方式以编程方式添加项目,它们通常不会显示。解决方案似乎是你必须向GameScene.sks添加至少一个节点(我刚添加了一个空的SKNode)