2015-08-04 4 views
0

Я пытаюсь добавить вертикальный фон прокрутки в свой проект. С какой сцены я в интернете. Мой фон состоит из 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 проекта. Я пытаюсь найти способ сделать это, так что от моей игры потребуется гораздо меньше памяти, но я не могу ее найти. Что-то не так с этим? Если нет, следует ли лучше сосредоточиться на других частях проекта и сохранить его таким образом?

+0

Все ли эти изображения отличаются? Если да, попробуйте создать одно большое фоновое изображение. Если нет, сравните след памяти с [tiling them] (http://stackoverflow.com/a/19833309/1445366). –

+0

Да, они разные. Я поставил изображения вместе, но появился черный фон. Может быть, из-за размера изображения? Объединяя их все вместе, я получаю фон размером 8000x320 пикселей. –

+0

Трудно помочь, не зная, что именно эти 7 изображений и что вы пытаетесь выполнить. Вы говорите, что это 8000x320. Это значит, что это уровень боковой скроллера? но в вашем коде вы ставите их вертикально с помощью значения ySpacing. – prototypical

ответ

0

Вы можете создать фон в движении с векторного рисунка, используя приложение.

Еще один пункт. Оптимизированы ли ваши изображения? Если нет, вы можете бесплатно использовать ImageOptim.