【Swift2】SingleView(第一画面)からSpriteKit(第二画面)を表示する方法

#完成図
SingleView(第一画面)からボタンを押すと、SpriteKit(第二画面)に移行する。
####SingleView(第一画面)
<img width="832" alt="スクリーンショット 2016-02-21 22.30.45.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/df18b782-6292-a260-048a-5df6dbdb4e70.png">
####SpriteKit(第二画面)
<img width="832" alt="スクリーンショット 2016-02-21 22.30.52.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/f8679f00-fc1a-8cd5-7d2b-01578a4cfb29.png">

#Step1. Main.storyborad を実装する
- ゲーム画面用の View Controllerを追加する
- Toolbar を追加する
- Segues を設定する。
<img width="528" alt="スクリーンショット 2016-02-21 21.11.07.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/a2cd7346-5d6b-4998-a6ac-e4cb936f7fbc.png">

#Step2. フレームワークを追加する
- Build Phases -> Link Binary With Libraries から
- +を押す
- SpriteKit と入力し、SpriteKit.frameworkを追加する
<img width="999" alt="スクリーンショット 2016-02-21 21.16.58.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/544d2d3d-5cfb-6f9f-3b9d-1d9fa4c38460.png">

#Step3. ゲーム画面用　View Controller を設定する
1. Main.storyboardを右クリックし、New File -> iOS -> Source から Cocoa Touch Class を追加する
2. Sublass of:を UIViewCOntroller　にする
3. Class: をViewController_game にする（任意の名前）
4. Next を押す
5. Create を押す
<img width="496" alt="スクリーンショット 2016-02-21 21.23.37.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/24f3af76-41c5-5005-4ca5-82e2f518b631.png">
6. Main.storyboardから二つ目のView Controller のshow the identity inspectorからCustom Class を3.で追加した ViewController_gameに設定する

<img width="254" alt="スクリーンショット 2016-02-21 21.30.04.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/4e1bb1f6-7740-7083-85cd-c3b33c44b34d.png">
7. ゲーム画面を表示する Viewを追加する
8. View の Custom Class を SKView　に設定する
<img width="730" alt="スクリーンショット 2016-02-21 21.33.28.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/ff00fc05-059d-d367-70bd-6de3661dfc5e.png">

# Step4. ゲームを実装する
1. Main.storyboardを右クリックし、New File -> iOS -> Source から Swift File を追加する
2. 名前をGameScene.swiftに設定し、Createを押す
<img width="426" alt="スクリーンショット 2016-02-21 21.37.29.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/f17f1d0e-13a6-c5be-8ae6-55e2b111e5bd.png">

3. GameScene.swiftを実装する


```swift:GameScene.swift
import SpriteKit

class GameScene: SKScene {
	
	var testLavel = SKLabelNode()
	
	override func didMoveToView(view: SKView) {
		
		self.backgroundColor = UIColor.blackColor()
		
		testLavel.fontName = "Helvetica"
		testLavel.fontSize = 50
		testLavel.text = "表示成功"
		testLavel.fontColor = SKColor.whiteColor()
		testLavel.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame))
		testLavel.zPosition = 1
		self.addChild(testLavel)

	}
	
	override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
	}
	
	override func update(currentTime: CFTimeInterval) {
	}
}
```

#Step5. ViewController_game.swift の設定をする

1. Main.storyboard から View の Outlet を作成する
2. Name を game_scene
3. Type を SKView　とする
<img width="778" alt="スクリーンショット 2016-02-21 21.52.11.png" src="https://qiita-image-store.s3.amazonaws.com/0/62115/46bbf591-685c-a421-274f-c9efc456be96.png">
4. ViewController_game.swiftの設定をする

```swift:ViewController_game.swift
import UIKit
import SpriteKit

class ViewController_game: UIViewController {

	@IBOutlet weak var game_scene: SKView!
	
    override func viewDidLoad() {
        super.viewDidLoad()

		// シーン
		let gscene = GameScene()
		let skview = self.game_scene
		
		gscene.size = game_scene.frame.size

		
		// FPSカウント表示
		skview.showsFPS = true
		skview.showsNodeCount = true
		
		skview.presentScene(gscene)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()

    }
}
```

以上です。

ありがとうございました。

# 参考文献
- [SpriteKit Scene管理パターンまとめ](http://qiita.com/AuraOtsuka/items/d1e3eed171317dabd707)
- [SingleViewから始める場合](http://spritekit.blog.jp/archives/3222052.html)
- [iOS逆引きリファレンス [9] / Sprite Kit でゲームを作りたい（その1）](http://objectclub.tumblr.com/post/80660530323/ios%E9%80%86%E5%BC%95%E3%81%8D%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9-9-sprite-kit-%E3%81%A7%E3%82%B2%E3%83%BC%E3%83%A0%E3%82%92%E4%BD%9C%E3%82%8A%E3%81%9F%E3%81%84%E3%81%9D%E3%81%AE1)