SpriteKit - Как перейти на новую сцену с таймером - PullRequest
0 голосов
/ 12 февраля 2019

В настоящее время я пытаюсь встроить загрузочную сцену в свою игру SpriteKit с моим логотипом разработчика, и мне нужно перейти к MainMenuScene, скажем, через 5 секунд.Как бы я поступил так.

Мой код сейчас выглядит так, что в основном это просто фон / изображение логотипа.

import SpriteKit

class LoadingScene: SKScene {

override func didMove(to view: SKView) {

    let background = SKSpriteNode(imageNamed: "fatscoprion")
    background.position = CGPoint (x: self.size.width / 2, y: self.size.height / 2)
    background.zPosition = -1
    self.addChild(background)
   }
}

1 Ответ

0 голосов
/ 12 февраля 2019

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

Пример:

class LoadingScene: SKScene {
    var timer = Timer()

    override func didMove(to view: SKView) {
        let background = SKSpriteNode(imageNamed: "")
        background.position = CGPoint (x: self.size.width / 2, y: self.size.height / 2)
        background.zPosition = -1
        self.addChild(background)
        //Create a Scheduled timer thats will fire a function after the timeInterval
        timer = Timer.scheduledTimer(timeInterval: 5.0,
                                     target: self,
                                     selector: #selector(presentNewScene),
                                     userInfo: nil, repeats: false)
    }

    @objc func presentNewScene() {
        //Configure the new scene to be presented and then present.
        let newScene = SKScene(size: .zero)
        view?.presentScene(newScene)
    }

    deinit {
        //Stops the timer.
        timer.invalidate()
    }
}
...