2016-12-27 3 views
1

У меня есть SKCamera в моей сцене, и она движется с мячом, который можно выбросить. Я хочу создать бесконечный прокручиваемый фон, но когда я это делаю, камера просто оставляет фон. Кто-нибудь знает, как это сделать?Могу ли я сделать бесконечный прокручиваемый фон в SKCamera?

ответ

1

Я сделал Вертикальная прокрутки фона, как это:

  • Создание фона класс:

    import SpriteKit 
    
    class BGClass: SKSpriteNode { 
    
    func moveBG(camera: SKCameraNode) { 
        if self.position.y - self.size.height - 10 > camera.position.y { 
         self.position.y -= self.size.height * 3 
        } 
    } 
    } 
    
  • Создание 3 фона:

    var bg1 : BGClass? 
    var bg2 : BGClass? 
    var bg3 : BGClass? 
    
  • Создание функции в GameScene

    func manageBackgrounds() { 
        bg1?.moveBG(mainCamera!) 
        bg2?.moveBG(mainCamera!) 
        bg3?.moveBG(mainCamera!) 
    } 
    
  • Вызов manageBackground() в Update:

    override func update(currentTime: NSTimeInterval) { 
        mangePlayer() 
        moveCamera() 
        mangeBackgrounds() 
        createNewClouds() 
    } 
    

Для Горизонтальный прокруткой (Добавить 3 фоновое изображение после того, как друг с другом и установить камеру на первом изображении):

  • изменить класс фона следующим образом:

    import SpriteKit 
    
    class BGClass: SKSpriteNode { 
    
    func moveBG(camera: SKCameraNode) { 
         if self.position.x - self.size.width - 10 > camera.position.x { 
        self.position.x -= self.size.width * 3 
        } 
    } 
    } 
    
  • в функции камеры перемещения:

    func moveCamera() { 
        self.mainCamera?.position.x += 3 
    } 
    
+0

Есть ли способ сделать Horizontal? @Mina –

+0

Моя камера только прокручивает по горизонтали. Я не уверен на 100%, как это сделать. –

+0

это как я объявляю bg? @Mina var bg1: BGClass? = BGClass (imageNamed: «Деревья») var bg2: BGClass? = BGClass (imageNamed: «Деревья») var bg3: BGClass? = BGClass (imageNamed: "Trees") –

Смежные вопросы