import SpriteKit

class GameScene: SKScene {
    // Play button node
    let playButton = SKSpriteNode(imageNamed: "play")
    
    override func didMoveToView(view: SKView) {
        // Position the play button in the middle of the screen
        // It position the button in the middle of the frame.
        self.playButton.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
        
        // Add the button to the screen
        self.addChild(self.playButton)
        
        // Set the background color
        self.backgroundColor = UIColor(hex: 0x809DFF)
    }
    
    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        for touch:AnyObject in touches{
            // Grab the touch location
            let location = touch.locationInNode(self)
            // Retrieve the sprite in that location
            // If the sprite at that location is matching play button, the do something!
            if( self.nodeAtPoint(location) == self.playButton){
                let playScene = PlayScene(size:self.size)
            }
        }
    }
   
    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
}

import SpriteKit

class GameScene: SKScene {
    // Play button node
    let playButton = SKSpriteNode(imageNamed: "play")
    
    override func didMoveToView(view: SKView) {
        // Position the play button in the middle of the screen
        // It position the button in the middle of the frame.
        self.playButton.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
        
        // Add the button to the screen
        self.addChild(self.playButton)
        
        // Set the background color
        self.backgroundColor = UIColor(hex: 0x809DFF)
    }
    
    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
        for touch:AnyObject in touches{
            // Grab the touch location
            let location = touch.locationInNode(self)
            // Retrieve the sprite in that location
            // If the sprite at that location is matching play button, the do something!
            if( self.nodeAtPoint(location) == self.playButton){
                println("Start playing")
            }
        }
    }
   
    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
}

--- 
+++ 
@@ -23,7 +23,7 @@
             // Retrieve the sprite in that location
             // If the sprite at that location is matching play button, the do something!
             if( self.nodeAtPoint(location) == self.playButton){
-                println("Start playing")
+                let playScene = PlayScene(size:self.size)
             }
         }
     }
Create a new PlayScene object with the same size of the current scene
