【SpriteKit】スタート画面を作ってみた

ゲーム開始画面はゲームの顔。

ということで、ゲームの開始画面を作ってみました。

シーンエディタでラベルと画像を配置して出来上がり。

シーンのサイズはiPhoneXのサイズにしました。

ポイントとしてはフォントに「Avenir Next」のヘビーイタリックを使っている点。

カッコいいフォントですね。

あとはボタンが押されたらゲーム画面に遷移するところ。

class MenuScene: SKScene {
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        // タッチしたボタンによって処理を分ける
        for touch: AnyObject in touches {
            let location = touch.location(in: self)
            let node = self.atPoint(location)
          
            if ( node.name == "start"){
                // ゲームシーンを呼び出して初めからスタート。
                self.view?.presentScene(GameScene(size: self.size), transition: .crossFade(withDuration: 0.6))
            }
        }
    }
}

もう一度スタート画面に戻る時は以下のコードで戻るようにしました。

        if let menuScene = SKScene(fileNamed: "MenuScene"){
            menuScene.scaleMode = .aspectFill
            self.view?.presentScene(menuScene, transition: .crossFade(withDuration: 0.6))
        }

作成したシーンファイルをファイル名で指定して呼び出します。

aspectFillを指定すると、iPhoneX以外のスマホで動かした時でもいい感じにアスペクトを合わせてくれます。

ABOUTこの記事をかいた人

個人アプリ開発者。Python、Swift、Unityのことを発信します。月間2.5万PVブログ運営。 Twitter:@yamagablog