シーン移動の処理を実装する
ボタンをクリックした時に別のシーンに移動する処理を作ります。
(メイン画面からバトル画面に遷移するようなイメージです)
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-0.19.08-1024x816.png)
遷移元と遷移先のシーンを作成する
プロジェクトウィンドウで右クリックし、<作成 – シーン>から遷移元と遷移先のシーンを作成します。ここでは遷移元をMain、遷移先をBattleとしています。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-0.28.51-1024x783.png)
ボタンのUIを配置する
Unityのヒエラルキーウィンドウを右クリックしてUI – Buttonを選択します。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-11-3.07.32-717x1024.png)
キャンバスが配置され、その中にボタンのオブジェクトが配置されます。
キャンバスのサイズがシーンと合っていない場合は、インスペクターウィンドウからCanvasに以下の設定をします。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-0.39.45.png)
- レンダーモードでスクリーンスペース – カメラを選択
- レンダーカメラにMain Cameraをドラッグ&ドロップ
今回はMainシーンに移動用のボタンとキャラクターの画像を配置しています。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-0.12.45.png)
スクリプトを作成する
配置したボタンにBATTLEシーンに遷移する処理を追加します。
C#のスクリプトChangeScene.csを作成し、以下の処理を記載します。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class ChangeScene : MonoBehaviour
{
// インスペクタビューから設定するシーン名
public string sceneName;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
/// <summary>
/// インスペクタビューから設定したシーンを読み込む
/// <summary>
public void LoadScene()
{
SceneManager.LoadScene(sceneName);
}
}
追記したusingはシーン遷移に必要なパッケージとなっています。
using UnityEngine.SceneManagement;
LoadSceneはインスペクタビューの引数にシーン名を設定してシーン移動するメソッドです。
// インスペクタビューから設定するシーン名
public string sceneName;
// 中略
/// <summary>
/// インスペクタビューから設定したシーンを読み込む
/// <summary>
public void LoadScene()
{
SceneManager.LoadScene(sceneName);
}
スクリプトをアタッチする
作成したボタンにChangeScene.csをアタッチします。Scene NameにはBattle(移動先シーン名)を設定します。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-1.02.12.png)
インスペクタウィンドウのクリック時()の部分で+ボタンをクリックします。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-1.03.46.png)
なし(オブジェクト)の部分にボタンオブジェクトをドラッグ&ドロップし、No Functionの部分に<ChangeScene – LoadShcene>を選択します。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-1.05.58.png)
- なし(オブジェクト): ボタンをドラッグ&ドロップ
- No Function: ChangeScene – LoadSceneを選択
ボタンをクリックした時にシーン遷移ができます。
![](https://squareiooi.com/wp-content/uploads/2021/03/スクリーンショット-2021-03-12-0.19.08-1-1024x816.png)
おわりに
今回はUnityでシーン遷移する方法について記載しました。
キャラクター、モンスター素材については、以下のサイトの素材を使用させていただきました。(敬称略)