如何让我的背景使用更少的内存?

时间:2015-08-04 03:57:11

标签: ios swift sprite-kit

我正在尝试为项目添加垂直滚动背景。从我在互联网上的场景。我的背景由8个图像组成,每个[320x1000px] .png文件。所以我最终为此做的是:

//Layered Nodes
var backgroundNode: SKNode!

 override init(size: CGSize) {
    super.init(size: size)

    scaleFactor = self.size.width / 320.0

    // Background
    backgroundNode = createBackgroundNode()
    addChild(backgroundNode)

}

func createBackgroundNode() -> SKNode {

    let backgroundNode = SKNode()
    let ySpacing = 1000.0 * scaleFactor

    for index in 0...3 {

        let node = SKSpriteNode(imageNamed:String(format: "bg%d", index + 1))
        node.setScale(scaleFactor)
        node.anchorPoint = CGPoint(x: 0.5, y: 0.0)
        node.position = CGPoint(x: self.size.width / 2, y: ySpacing * CGFloat(index))
        backgroundNode.addChild(node)

    }

    return backgroundNode
}

问题是,他们使用了高达50Mb的项目。我正试图找到一种方法来做到这一点,因为它会减少我的游戏内存,但我似乎无法找到它。这有什么不对吗?如果没有,我应该最好地关注项目的其他部分并保持这种方式吗?

1 个答案:

答案 0 :(得分:0)

您可以使用 app。

在矢量绘图中随时创建背景

另一点。您的图像是否已优化?如果没有,您可以免费使用ImageOptim