- Unityでシーンを読み込む方法を知りたい
ということを解決するのが、この記事となっています。
SceneManager.LoadScene("A"); | 「A」Sceneを読み込む |
SceneManager.LoadScene( SceneManager.GetActiveScene().name); |
現在のSceneを読み込む |
上のスクリプトを使うことが必要です。
ここではボタンを押したら、シーンを読み込むようにします。
ボタンを押したらシーンを読み込む方法
- 【Scene In Build】に作ったSceneを入れる
- Buttonを作成
- Canvasにスクリプトを追加、アタッチ
- 作ったスクリプトを開く
- スクリプトを書く
- ボタンを押したときのイベントを設定する
もうC#のファイルを作成している方は、⑤からご覧ください。
【Scene In Build】に作ったSceneを入れる
●【Scene In Build】に作ったシーンを入れる流れ
【File】→【Build Setting】→【Sceneをドラッグ&ドロップする】
ここで現在のsceneや読み込みたいSceneをすべていれてください。
Button作成
【Hierarchy】→【Create】→【UI】→【Button】
【Canvas】と【Button】が作成できていることを確認してください。
Canvasにスクリプトを追加、アタッチ
【Canvasを選択】→【Inspector】→【Add Component】→【New script】→【名前は最初を大文字にして、なんでもどうぞ】
これでスクリプトの追加、アタッチが完了です。
作ったスクリプトを開く
さきほど作ったスクリプトをタブルクリックして、開いてください。自分は「GameFinish」という名前にしたので、それをダブルクリックします。
ダブルクリック後は「Visual Studio」か「MonoDevelop」が開きます。どちらでも構ません。
スクリプトを書く
以下のスクリプトが必要になります。書き終わったら、保存しておいてください。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// 1.UIシステムを使うときに必要なライブラリ
using UnityEngine.UI;
// 2.Scene関係の処理を行うときに必要なライブラリ
using UnityEngine.SceneManagement;
public class GameFinish : MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
// 3.OnRetry関数が実行されたら、sceneを読み込む
public void OnRetry()
{
// 「ButtonScene」を自分の読み込みたいscene名に変える
SceneManager.LoadScene("ButtonScene");
}
}
1.UIシステムを利用するときに必要なライブラリ
// 1.UIシステムを使うときに必要なライブラリ
using UnityEngine.UI;
ボタンはUIになります。そのため、このライブラリを読み込んでください。
2.Scene関係を操作するときに必要なライブラリ
// 2.Scene関係の処理を行うときに必要なライブラリ
using UnityEngine.SceneManagement;
今回はSceneを読み込むので、このライブラリを使います。
3.関数が実行されたら、Sceneを読み込む
// 3.OnRetry関数が実行されたら、sceneを読み込む
public void OnRetry()
{
//「ButtonScene」を自分の読み込みたscene名に変える
SceneManager.LoadScene("ButtonScene");
}
SceneManager.LoadScene("A"); | 「A」Sceneを読み込む |
SceneManager.LoadScene( SceneManager.GetActiveScene().name); |
現在のSceneを読み込む |
「OnRetry」関数が実行されたら、Sceneを読み込むようにしています。
ボタンを押したときのイベントを設定する
【Button選択】→【Inspector】→【On Click】→【+をクリック】→【Canvasをドラッグ&ドロップ】→【GameFinish(先ほど自分で作成したスクリプトの名前)】→【OnRetry()をクリック】
クリックしたときOnRetry()が実行されるように設定しています。
ゲームを実行して、ボタンを押して見る
カメラを動かして、ボタンがGameビューで見れる位置にもっていって、ボタンをおしてみましょう。
自分は読みこんだSceneになにも設置していないので、なにも表示されなくなります。
どうでしょうか。自分の読み込みたいsceneを読み込めるようになりましたか。
まとめ
SceneManager.LoadScene("A"); | 「A」Sceneを読み込む |
SceneManager.LoadScene( SceneManager.GetActiveScene().name); |
現在のSceneを読み込む |
Unityでゲームを作りたいのなら、【Unity2D&3Dサンプルゲーム】動画よりわかりやすく記事でゲームを作ろうでゲームを作ってみるのはどうでしょうか
さぎのみや(@saginomiya8)でした。SNSでシェアしてね( ・∇・) 一生無双モードで頑張る。
コメント