【SpriteKitで始める #1】プロジェクト作成編

2015.12.01
SwiftでSpriteKitを使う記事第1回のアイキャッチ画像

こんにちは、@Yuuです。

前回の第0回では、SpriteKitとはどんなものか、どのような事を考えて作るのか、について書きました。

第1回の今回は、これから複数回解説を行う際のベースとなるプロジェクトファイルの作り方を解説します。ここで作るプロジェクトをベースに今後のファイルを作るので、しっかり作っていきましょう!

スポンサーリンク

解説を行う環境

今回僕が解説を行う環境です。

  • OS:OS X Yosemite10.10.5
  • Xcode:7.1

Xcodeのバージョンが7以降なのでSwift2での解説になります。 Swift(無印)でも書き方はほぼ一緒だと思いますが、違う場合はご了承下さい。

基本となるプロジェクトを作成する

では早速基本となるプロジェクトを作っていきたいと思います。
今回行う作業は大まかに以下の4つを行います。

  1. 新規プロジェクトの作成
  2. View Controllerの設定
  3. Sceneの設定
  4. View ControllerからGame Sceneを呼び出す

です。
では順番に解説していきます。

1. 新規プロジェクトの作成

Xcodeのメニューバーから
File -> New -> Project..を選択し、新しいプロジェクトを作成していきます。

SpriteKitは、そもそもゲームを作るフレームワークです。
Xcodeには新規プロジェクトを作成する際に「Game」という項目があります。ですが、今回は「Single View Application」を選択します。
Single View Applicationを選択

「Game」という項目があるのになぜ選択しないかというと、「Game」を選択してしまうと様々なファイルを自動的に生成してくれてしまうからです。
逆に「Single View Application」はほぼ何もない状態からプロジェクトを作っていきます。
確かに「Game」を選択した場合は、様々なファイルを自動的に生成してくれるので非常に便利ではあります。ですが、初めてプロジェクトを作る際には、1から作る方が覚えると思うので、今回は「Single View Application」でまっさらな状態から始めてみましょう!

プロジェクト名は以下のように「GameSample01」というプロジェクト名にしましたが、ここは好きな名前にして頂いて構いません。
プロジェクト名を付ける

また、この後に設定するプロジェクトを保存するフォルダも好きな場所で構いません。

2. View Controllerの設定

プロジェクトの作成が完了したら「Main.storyboard」を開いて下さい。

するとView Controller内に「View」と書かれた項目があります。
こちらのViewを選択し右側のサイドバーのShow the Identity inspectorというタブ項目から
Custom Class -> Class内に「SKView」と記載します。
viewをSKViewに変更する

次にViewController.swiftファイルの編集を行います。

ViewController.swiftを開いてimport UIKitと書かれているすぐ下にimport SpriteKitと記載します。

そしてviewDidLoad()内にコードを追記し、viewDidLoad()を以下のように変更します。

6行目のskView.showsFPSや8行目のskView.showsNodeCountはFPSの表示、Nodeの数の表示を行うためのものなのですが、詳しい説明は後述しますね。

ここまで行った後のViewController.swiftの全文は以下のようになります。

上記のコードでは、プロジェクトを作った時に自動的に作られるdidReceiveMemoryWarning()というメソッドは使用しないので削除してあります。

ここまででViewController.swiftでの作業は一旦終了です。

3. Sceneの設定

次にSceneを追加します。

Sceneて何なんだよ!?という方は第0回の記事の「ゲームの遷移にはSceneを使う」という辺りを読んでみて下さい。

今回追加するSceneの名前は「GameScene」という名前にしたいと思います。

ファイルを追加するので、メニューバーから
File -> New -> File...と選択するか、下記画像のようにサイドバーのGameSample01というフォルダの上で右クリックをして「New File...」という項目を選択して下さい。
New File..を選択する

制作するファイルの種類を選択する画面で「Swift File」を選択します。
Swift Fileを選択する

ファイル名に「GameScene.swift」と付け、createボタンを押してファイルを作成します。

作成したGameScene.swiftを選択し、まずファイルを作成した時に自動的に書かれているコードを全て削除しちゃいましょう。
そして以下のコードをまるっとコピーして貼り付けて下さい。

6行目のdidMoveToView(view: SKView)というメソッドが、GameSceneが呼び出され最初に実行されるメソッドです。
今回は「// Sceneが呼ばれた時の処理を記載する」というコメントアウトしか書いていませんが、今後はここに様々な処理を書いていきます。

ここまでの処理を行ったプロジェクトの画像を一応貼っておきますね。
GameScene全文

4. View ControllerからGame Sceneを呼び出す

最後にViewControllerを起動した時にGameSceneを呼び出す設定を記述します。

追記した後のViewController.swiftは以下のようになります。

追加したのはハイライトしている15~18行目です。

コメントアウトにも書いていますが、16行目でGameSceneを作成し、18行目でviewに表示するように設定しています。

ここまで記述が出来たら起動してみましょう!
起動後、以下のように真っ黒な画面が表示されれば成功です。
シミュレータで確認

ほぼ真っ黒で何も表示されていませんが、ちゃんとGameSceneが呼ばれているはずなので安心して下さいね。

すごく分かりづらいかと思うのですが、画面右下に
nodes:1 60.0 fps
と表示されているのが分かるでしょうか?
(画像を縮小して表示しているので、クリックして拡大表示すると多少見やすくなるかと思います)

「nodes:1」というのは、画面に表示されているNodeが1個あるよ!
という意味です。

SceneもNodeの1つと換算されるようで(以前はSceneは数に入らなかったと思います)、「nodes:1」と表示されています。

このNodeの数を表示する設定は、先ほどのコードの13行目に書かれているskView.showsNodeCount = trueという一文です。
ここをskView.showsNodeCount = falseとすることで、Nodeの数を非表示にすることが出来ます。

次に「60.0 fps」というのは、1秒間に画面を更新する回数が60回だよ!
という意味です。

fpsの値を表示する設定は、先ほどのコードの11行目skView.showsFPS = trueになります。
fpsの値を表示しないようにするには、skView.showsFPS = falseとすることで、fpsの値を非表示にする事が出来ます。

ここまでで、今後のベースとなるプロジェクトの作成は終了です。
お疲れ様でした。

今回作成したGameSample01というプロジェクトは、GitHubにも上げてありますので、もしよろしければ以下のリンクより参考にしてみて下さい。

tkray/GameSample01 - GitHub

あとがき

いかがでしたでしょうか?
今回の記事だとSpriteKitが難しいんだか簡単なんだか、まだサッパリですよね。
次回から様々なNodeを使って、文字を表示したり物体を表示してみたいと思います。

SpriteKit#2の記事は、2015年12月下旬公開予定です。

SpriteKit#2の記事書きました!
【SpriteKitで始める #2】SKLabelNode

ではでは
今回はこの辺で!ヽ(•̀ω•́ )ゝ✧

SwiftでSpriteKitを使う記事第1回のアイキャッチ画像

この記事が気に入ったらいいね!
して最新情報をチェックしよう!

スポンサーリンク