2017-09-01 102 views
0

我正在使用SpriteKit庫構建iOS遊戲。我有一個明星的背景。但是,我不想上傳靜態圖像,因爲它可能會根據設備大小錯誤地縮放。所以我得到了一個我可以重複填寫屏幕的png。我試過這樣做:在SKScene中設置重複背景

self.backgroundColor = UIColor(patternImage: UIImage(named: "background.png")!); 

但是,它只將背景設置爲黑色。有沒有人有任何建議如何做到這一點?

+0

@ the4kman我想,以及,雖然 – Pablo

+0

沒有成功您可以考慮使用[粒子](https://stackoverflow.com/questions/39298383/background-animation-with-depth-in-spritekit)創建星星。 –

+0

你是否使用瓷磚地圖進行了調查? – 0x141E

回答

0

我認爲這會幫助你,首先使用下面的代碼設置背景:

for index in 0..<2 { 
      let bg = SKSpriteNode(imageNamed: "Your image name") 
      bg.position = CGPoint(x: index * Int(bg.size.width), y: 0) 
      bg.anchorPoint = CGPoint(x: 0, y: 0) 
      bg.name = "background" 

      self.addChild(bg) 
     } 

,然後使用此代碼移動背景:

self.enumerateChildNodes(withName: "background", using: {(node, stop) -> Void in 
      if let bg = node as? SKSpriteNode { 
       bg.position = CGPoint(x: bg.position.x - 3.0, y: bg.position.y) 

       if bg.position.x <= -bg.size.width { 
        bg.position = CGPoint(x: bg.position.x + bg.size.width * 2, y: bg.position.y) 
       } 
      } 
     }) 
+0

我並不是真的想擁有那麼多的精靈 – Pablo