Search code examples
iosswiftsprite-kitskscene

Simplest Way To Change Scene In Swift + Sprite Kit


I am just wondering what the simplest way to change scenes in Swift + Sprite Kit is?


Solution

  • when changing between scenes, you're going to need to set up a transition, how the scene will change to the next and define which scene you want to transition to.

    For the transition,

     var transition:SKTransition = SKTransition.fadeWithDuration(1)
    

    The fadeWithDurationcan be replaced with any SKTransition a list of which can be found in the documentation https://developer.apple.com/library/prerelease/ios/documentation/SpriteKit/Reference/SKTransition_Ref/index.html

    as for defining the scene,

    var scene:SKScene = GameScene(size: self.size)
    

    You're stating which scene you wish to transition to, in this case GameScene, but should be replaced with whichever scene you wish to transition to.

    In order to start the transition, call:

    self.view?.presentScene(scene, transition: transition)
    

    Which will move to the scene scene which was set up in the line prior, using the transition transition which was also defined.