适用于iPhone 5,6和6的SpriteKit SKScene尺寸加

时间:2016-05-13 05:02:35

标签: ios swift sprite-kit skspritenode skscene

我正在尝试使用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",我会得到相同的结果。

1 个答案:

答案 0 :(得分:0)

iPhone 5和6专门没有这样的地方。他们都拍摄了@ 2x图片。因此,在两个设备中,它将选择@ 2x图像。

您需要以编程方式或基于条件设置。

请参阅我的旧问题:Images.xcassets taking wrong image for the iPhone 6?