アプリ制作記2 タイトル画面

前回はとりあえずSwift版のプロジェクトを作りました。今回はタイトル画面を作ってみます。

 

Sceneと画像の追加

フォルダ右クリックからのファイル追加から始めます。

f:id:daidaidaily:20180519090755p:plain

 

SwiftファイルとSpriteKitSceneファイルを追加して、各々をTitleSceneと命名。

f:id:daidaidaily:20180519090902p:plain

f:id:daidaidaily:20180519090911p:plain

 

TitleScene.sksの右上の設定で、このsksに対応するクラスがTitleScene.swift内で指定されたTitleSceneクラスである事を指定しておきます。自分は忘れっぽいので、これをしなかったことでおいおい?表示されんやんなんてことが度々ありました。

f:id:daidaidaily:20180519091451p:plain

 

タイトル画面の絵と、その後使う予定のボタンの絵を通常時と押下時の2パターンつくりました。それを、フォルダごとプロジェクトに含めて、図の左のように整理しておきます。

f:id:daidaidaily:20180519091703p:plain

 

Sceneと画像の連携 からの表示

画像の整理ついでに、図の左のようにSceneも整理。

f:id:daidaidaily:20180519092048p:plain

 

デフォルトで入っているGameSceneとTitleSceneを同じフォルダに入れてまとめただけ。Xcode場でソースコードを移動させると、実際に保存されているファイルも勝手に連動して移動してくれます。整理した後、TitleScene.sks上でColor Spriteをドラッグして設置します。

 

追加したNode設定で、図の右にあるTexture、Position、Sizeを変更して、画面いっぱいいっぱいになるように設定します。

f:id:daidaidaily:20180519092325p:plain

 

最後に、GameViewController内のViewDidLoad関数を下記のように編集し、初期表示画面をGameSceneからTitleSceneに変更します。

 

  override func viewDidLoad() {

        super.viewDidLoad()

        //SKViewを取得

        let skView = self.view as! SKView

        //TitleSceneを生成

        let scene = TitleScene(fileNamed: "TitleScene")

        //画面をフィットさせる

        scene!.scaleMode = .aspectFill

        //現在シーンを設定する。

        skView.presentScene(scene)

    }

 

Swift表記の細かいミスでちょいちょいエラーが出たけど、なんとか実行までこぎつけて、無事テスト機でタイトル画面が表示できました。お疲れ様でした。

f:id:daidaidaily:20180519093917p:plain