メニューとゲームシーンを切り換える

Unityで、メニューシーンとゲームシーンを切り換えてみます。前回の記事と同じく、以下の動画を参考にしました。

参考にした動画

完成したゲーム

学んだこと

シーンを作成して登録する

シーンの作成は、AssetウィンドウでSceneを作るだけです。

Sceneの作成

MenuSceneとGameSceneの2つを用意して、MenuSceneには「PlayStart」のボタンを、GameSceneにはゲーム画面の背景画像を設定しておきます。

MenuScene:Playボタンを追加
GameScene:背景画像を追加

作成したシーンは、BuildSettingsに登録しておく必要があります。File > BuildSetting を選び、ウィンドウを表示します。そして Scenes in build にシーンを登録させます。

MenuSceneとGameSceneをBuild Settingsに登録する

PLAYボタンを押したらシーンを切り換える

シーンを切り換えるイベント(関数)を用意して、ボタンを押したときにそのイベントを発生させるようにします。

まず、シーンを切り換えるイベントを作成します。ボタンの
GameObjectにC#スクリプトを追加します。

ボタンにC#スクリプト(PlayGameButton.cs)を追加する

スクリプトを開いて、シーン切り替えイベント(関数)を作成します。

using UnityEngine;
using UnityEngine.SceneManagement; // ここを追加

public class PlayGameButton : MonoBehaviour
{
    // Playボタンを押したときに呼ぶイベント(ゲームシーンに切り換える)
    public void PlayGame()
    {
        SceneManager.LoadScene("GameScene");
    }
}

最後に、ボタンのOnClickイベントに、先ほど作成したPlayGameButton.csコンポーネントのPlayGame() を指定すれば完了です。

ボタンのOnClickイベントの指定

これでシーン切り替えは完了です。以下のようにPlayGameボタンを押すとゲームシーンに切り替わります。

MenuシーンとGameシーンの切り替え

まとめ

今回は、Unityでシーンを切り換える方法を学びました。

ただ、今回のシーンの切り替え処理ではパタッと急激に切り替わってしまいます。気持ちよくシーンを切り換えるには、フェード処理が必要になります。また次回以降、フェードさせつつシーンを切り換える方法を学習していきたいと思います。