[Unity初心者] 画面を切り替える方法について タイトル画面とゲーム画面の遷移方法をまとめました!

2019年6月14日

Unity

前回、簡単なルーレットを作成しました。

Unity ルーレット

ゲームアプリっぽくしようと思えば、1画面だけで終わらず、色々画面を切り替えた方がかっこいいですよね。

今回は勉強用にタイトル画面を用意し、タイトル画面→ゲーム画面への切り替え方法をまとめました!

Unity 画面切り替え

タイトル用の新しいシーンを作成する

Unityではゲーム画面・タイトル画面・クリア画面と、画面毎に “シーン" という形で分けていきます。

前回のルーレットは “Game" というシーン名にし、今回新たにタイトル用のシーンを用意します。

“ファイル > 新しいシーン" を選択します。

Unity 新しいシーンの作成

“ファイル > 別名で保存" を選び、"TitleScene" とします。

Unity 新たに用意したシーン

画面中央にタイトル用のテキストを用意する

画面左側 “ヒエラルキー > 作成 > UI > テキスト" を選択します。

Unity テキストの追加

“ヒエラルキー" 項目に “Canvas" と “Text" が追加されました。

ここで “Text" を選択し、右側 “インスペクター" 項目のテキスト欄を記入しましょう。

今回はわかりやすく、"Roulette"とし、文字色を白、少し文字を大きくしました。

Unity テキストの設置

画面を切り替えるプログラムを用意する

C#スクリプトを用意する

画面下 “プロジェクト" 項目にある “作成" ボタンを押し、"C#スクリプト" を選択しましょう。

“C#" と表示されたファイルが作成されます。

ファイル名が決めれるので “TitleDirector" としてください。

Microsoft Visual Studioでコードを用意する

C#スクリプトファイル “TitleDirector" をダブルクリックしましょう。

“Microsoft Visual Studio" が起動します。

ここに以下の文をコピペ、もしくは差分を見て手書きでコードを書いてください。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class TitleDirector : MonoBehaviour
{
    void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            SceneManager.LoadScene("Game");
        }
    }
}

主にやっている内容は

  • マウスの左クリックでルーレット画面を呼び出す

になります。

2つの関数を使っているので参考程度に載せておきます。

public static bool GetMouseButtonDown (int button);

説明
ユーザーがマウスボタンを押したフレームの間だけ true を返します

引用元:Unity スクリプトリファレンス

public static void LoadScene (int sceneBuildIndex, SceneManagement.LoadSceneMode mode= LoadSceneMode.Single);
public static void LoadScene (string sceneName, SceneManagement.LoadSceneMode mode= LoadSceneMode.Single);

パラメーター
sceneName Name or path of the Scene to load.
sceneBuildIndex Index of the Scene in the Build Settings to load.
mode Allows you to specify whether or not to load the Scene additively. See LoadSceneMode for more information about the options.

説明
Loads the Scene by its name or index in Build Settings.

引用元:Unity スクリプトリファレンス

LoadScene() を使う場合、以下の一文が必要になるので忘れず付けるようにしてください。

using UnityEngine.SceneManagement;

“SceneManager.LoadScene(“Game");" としているので、"Game" シーンを呼び出すようにしています。

空オブジェクトを用意し、画面切り替えスクリプトを紐づける

左側 “ヒエラルキー" 項目、"作成 > 空のオブジェクトを作成" を選択します。

Unity 空のオブジェクトを用意

あとは画面下 “プロジェクト" 項目から “TitleDirector" をドラッグ&ドロップで空のオブジェクトに適応させましょう。

ビルド設定でシーンを追加する

最後に、"ファイル > ビルド設定" を選択しビルドに含めるシーンを追加しましょう。

ビルド設定画面上 “ビルドに含まれるシーン" にタイトル画面の “TitleScene"、ルーレット画面の “Game" を追加します。

“プロジェクト" 項目からドラッグ&ドロップで移動させてもOKです!

あとはチェックを忘れないようにしましょう!

Unity シーンの追加

テスト実行してみる

これで全ての準備が整いました!

“シーン" 上にある再生ボタン▶を押し、ルーレットをクリックしてみてください。

初めに “Roulette" と表示されたタイトル画面が表示され、クリックするとルーレット画面に切り替わるようになりました!

Unity 画面切り替え

慣れの問題かもしれませんが、遷移画面を用意するだけでも結構簡単にはいかないものですね。

うまくクラスなんかを作っていくと良いのかもしれませんが追々勉強していきましょう!

以上、Unityの画面切り替え方法まとめでした!

↓ クリックしてもらえると頑張れます

PVアクセスランキング にほんブログ村