我正在尝试使用SpriteKit为iPhone 5,6和6 plus构建应用程序。我为每个分辨率创建了一个背景图像:
image-1.png // of size 1136 x 640, for iPhone 5
image-1@x2.png // of size 1334 x 750, for iPhone 6
image-1@x3.png // of size 2208 x 1242, for iPhone 6 plus
在Xcode 7中,当我在iPhone 6和6的模拟器上运行我的代码时,会自动选择正确且相应的图像。但是当我运行iPhone 5的代码时,选择了iPhone 6图像(image-1@x2.png)而不是正确的图像(image-1.png)。为什么呢?
在SKScene.didMoveToView()中,我将场景大小设置为视图的帧大小:
self.size = view.frame.size
当我将图像添加到场景时,我会这样做:
self.addChild(SKSpriteNode(imageNamed:"image-1"))
如果我使用" image-1.png",我会得到相同的结果。
答案 0 :(得分:0)
iPhone 5和6专门没有这样的地方。他们都拍摄了@ 2x图片。因此,在两个设备中,它将选择@ 2x图像。
您需要以编程方式或基于条件设置。
请参阅我的旧问题:Images.xcassets taking wrong image for the iPhone 6?