SwiftとSpriteKitを使って1分でゲームを作る

##Swift+SpriteKit
WWDC2014で iOSアプリの新たな開発言語である「Swift」が登場しました。
今回はゲームのフレームワーク「SpriteKit」を使って簡単なゲームを作ってみたいと思います。

##Xcode6 Beta をダウンロードします.
iOSDevCenterからDLできます。
（iOS Developer Programへの登録(有償)が必要です)
https://developer.apple.com/devcenter/ios/index.action

##iOS>Application>Gameを選択します
![スクリーンショット 2014-07-03 23.17.42.png](https://qiita-image-store.s3.amazonaws.com/0/43766/fe088376-5bf5-a109-1323-d91799dc2f74.png)

##ProductNameを適当に入力、Languageに「Swift」を選択、GameTechnologyを「SpriteKit」にします
![スクリーンショット 2014-07-03 23.18.15.png](https://qiita-image-store.s3.amazonaws.com/0/43766/80b68187-18b6-c893-09fd-c20dd9a9ce7b.png)

##プロジェクトが開きます。
今回使用するのはGameScene.swift(ゲームロジック)です。確認してみましょう。

##画像を用意してプロジェクトフォルダにDrag&Dropで突っ込みます。入れた画像は右下のwindowに表示されます。
![スクリーンショット 2014-07-04 0.49.42.png](https://qiita-image-store.s3.amazonaws.com/0/43766/0f23a7be-7aa6-9e7c-e722-b18d5ace0c84.png)

##画像を移動するときはCopy Imagesにチェックを入れるようにしましょう
![スクリーンショット 2014-07-04 0.49.49.png](https://qiita-image-store.s3.amazonaws.com/0/43766/73e3e88e-f472-208f-e81b-30114ddb4880.png)

##必要な画像はすべて読み込みます
![スクリーンショット 2014-07-04 0.49.57.png](https://qiita-image-store.s3.amazonaws.com/0/43766/5c4ff3b5-a679-e0ea-0491-c05c9ea092e6.png)

>今回は「シアンのゆりかご」
>http://cyanyurikago.web.fc2.com/
>からフリーの画像素材 
>背景　"bg-space1.png"
>プレイヤー "thunderbird.png"をお借りしました。
>ターゲットマーカーはお手製です。 "marker.png"
![marker.png](https://qiita-image-store.s3.amazonaws.com/0/43766/7389bfbb-1e24-31af-0d38-5d412f61ea3d.png)

##GameScene.swiftにゲームロジックを書きます。
(ユーザーがタップした場所にターゲットマーカーが表示され、
それに追従してプレイヤーが移動するという簡単なゲームサンプルです)

	import SpriteKit

	class GameScene: SKScene {
	    
	    var player : SKSpriteNode!
	    var targetMarker : SKSpriteNode!
	    
	    override func didMoveToView(view: SKView) {
	        //背景画像。SKSPriteNodeで画像を読み込む。
	        let backGround = SKSpriteNode(imageNamed:"bg-space1.png")
	        self.addChild(backGround)
	        backGround.position = CGPointMake(500,300)
	        
	        //画面をタッチした場所を示すターゲットマーカー
	        self.targetMarker = SKSpriteNode(imageNamed:"marker.png")
	        self.addChild(targetMarker)
	        self.targetMarker.position = CGPointMake(300,300)
	        
	        //プレイヤーとなるキャラクター画像
	        self.player = SKSpriteNode(imageNamed:"thunderbird.png")
	        self.addChild(player)
	        self.player.position = CGPointMake(300,300)
	    }
	    
	    override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
	        /* Called when a touch begins */
	        for touch: AnyObject in touches {
	            let location = touch.locationInNode(self)
	            //タッチした場所にターゲットマーカーを動かす
	            self.targetMarker.position = location
	        }
	    }
	   
	    override func update(currentTime: CFTimeInterval) {
	        /* Called before each frame is rendered */
	        //ターゲットマーカーの場所にプレイヤーを移動させる。
	        if(self.player.position.x < self.targetMarker.position.x){
	            self.player.position.x += 1;
	        }else if(self.player.position.x > self.targetMarker.position.x){
	            self.player.position.x -= 1;
	        }
	        if(self.player.position.y < self.targetMarker.position.y){
	            self.player.position.y += 1;
	        }else if(self.player.position.y > self.targetMarker.position.y){
	            self.player.position.y -= 1;
	        }
	    }
	}

##シュミレーターで実行してみます。
ぉぉお、動いたー！
![スクリーンショット 2014-06-06 18.16.27.png](https://qiita-image-store.s3.amazonaws.com/0/43766/b03924d8-2a9f-63fd-b2e0-c7d1bd5afb22.png)

##おしまい
ということで、SwiftとSpriteKitを使えば、非常に簡単にiOS用のゲームを作成することができます。
Cocos2d-xを使っていた人などは違和感なく使うことができそうです。Let's enjoy Swift!!