LoginSignup
1

More than 5 years have passed since last update.

SceneManagerで,ゲームのシーンを切り替えよう.(Ocu5Game.make)

Posted at

SceneManagerとは

Unityがシーンをコントロールするclassを用意してくれています.

それが UnityEngine.SceneManagement classです.

   -SceneManager.Load    シーンを追加

   -SceneManager.Unload   シーンを削除

などを用いてシーンを切り替えます.

シーンを整理

A:バトルフィールド (BattleField) ・・・常時表示
B:タイトルシーン (Title)
C:ゲームプレイシーン (Play)
D:リザルトシーン (Result)

今回はシンプルに4つのシーンを組み合わせで,ゲームは構築されているとします.
Aのバトルプレイスは常時表示されており,それに載せるシーンが B → C → D 入れ替わっていくといった感じです.

具体例

現在,BattleFieldと,Titleシーンがあるところに,Playのシーンを追加する例を紹介します.

using UnityEngine;
using UnityEngine.SceneManagement; //デフォルトでは記載されていないので追加する.
    void ChangeScene()
    {   
        //Playシーンの追加
        SceneManager.LoadScene("Play", LoadSceneMode.Additive);
        //Titleシーンの削除
        SceneManager.UnloadSceneAsync("Title"); 
    }

LoadSceneMode.Additive は現在,A,Bのシーンがあるところに,Playのシーンを追加するといった状況の際につけます. 多くの場合で,このような状況だとは思われるので,LoadSceneMode.Additiveまでセットで覚えましょう.(反対に何もシーンがないところに,.Additiveでシーンを加えようとするとエラーになります.)

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1