シーン遷移の基本

シーン遷移の基本を学びます.

ここでは,トップ画面>ゲーム画面>エンド画面の3つのシーンを移動しまたトップ画面へ戻ります.

 

ワークフロー

  • シーンを作成
  • ボタンを作成
  • スクリプトを作成
  • ボタンにスクリプトをアサイン
  • ビルド設定をする
  • 実行する

 

トップシーンを作成する

  1. トップ画面用シーンを作成する
  2. トップ画面用シーンに適宜UI>Textを入れて遷移時にどの画面にいるか分かるようにする
  3. トップ画面にGameObject>UI>Buttonでボタンを作成する
  4. 位置調整をする(参考画像)

 

スクリプト作成

  1. scnChangeというファイル名でスクリプトを作成する(※ファイル名とclass名は同一にすること)
  2. 全て以下に入れ替え保存する(※このスクリプトは他でも使い回しできます)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using UnityEngine.SceneManagement;//これを必ず追加しないと使えない


public class scnChange : MonoBehaviour {

    public string scnName;//変数scnNameをInspectorからセットできるようにする
	
	
    public void goScene(){
        SceneManager.LoadScene(scnName);//変数scnNameのシーンにシーン遷移する
    }

}

 

スクリプトをボタンにアサインする

  1. GameObject>CreateEmpty で空のオブジェクトに上で作成したスクリプトをコンポーネントに追加する
  2. Scn Nameの欄にジャンプ先のシーン名を入力する(※これがInspectorに表示されるのは10行目の変数宣言をpublicにしているから)
  3. ボタンを選択し,OnClickの+ボタンでリストを追加する
  4. 追加したリストに作成した空のオブジェクト(1でスクリプトがついているもの)をアサインする
  5. NoFunctionのプルダウンからscnChange>goSceneを選択する(13行目のpublic void goScene を実行するという意味,publicがついているとボタンから押せる)

ビルド設定をおこなう

  1. File>Build Settings…でビルド設定を開き,ドラッグ&ドロップで,ここで作成した最初のシーンと,これまで作成しらゲームのシーンを追加する
  2. 保存し,トップ画面用シーンを再生し,ボタンを押してシーン遷移するか確認する
  3. シーン遷移後,ゲーム画面の明るさが少し暗いようでしたら,そのシーンのWindow>Lightingを選び,AutoGenerateのチェックを外し,Generateを一度押しておきます

 

実習

  • エンドシーンを作成する
  • ゲームシーンからエンドシーンエンドシーンからトップシーンへとジャンプさせ3つのシーンを1周できるようにすること