謎の歩行生物(仮)【PART39】~シーン遷移の処理について~
かなり前からシーン遷移の処理を変更していたのですが、そういえばそれを書いてなかったな~と思ったので、今のタイミングでそれもついでに書いておきます。
といっても正直「何を今さら」という内容でもあるのですが…。
というのも、この開発のPart11で「Application.LoadLevel 」の注意点について触れているのですが、Unity5.3のバージョンアップからこの処理は非推奨になっているんですね。で、変わりに「SceneManager.LoadScene」の使用が推奨されています。
ですので、そちらの使い方についてちょこっとだけ触れておこうと。
まずSceneManagerを使う際は必ずそのスクリプトの名前空間(namespace)に
using UnityEngine.SceneManagement;
と追加します。
↑こんな感じ。で、実際にシーンを呼び出す時には
SceneManager.LoadScene (“シーン名”);
と記述します。
シーン名から直接シーンを呼び出す際は単純にこれでOK。
あとはシーン名ではなく、シーン番号を入れて使うパターンもあります。シーン番号とはBuild Settingsを開いた時にシーンの右側にある番号です。
シーン番号を使う場合は
SceneManager.LoadScene (シーン番号);
と記述すればOK。
ただ、直接シーン名やシーン番号を入れるのもあまり使い勝手が良いわけじゃないな~と思います。そんな場合はシーン名やシーン番号を変数に入れて使うパターン。
例えばステージをリトライして今いるシーンと同じシーンを呼び出したい場合は、
とすれば、どのステージでも使えるモノになります。1行目で「Scene_now」という変数に現在のシーン名を入れて、2行目でその変数からシーンを呼び出します。
もう1つ例としてシーン番号を使って、現在のステージから次のステージにシーンを移動したい場合、
とすると、現在のシーンから次のシーン番号を呼び出すことができます。まぁその場合ステージのシーンは番号順に並んでいないといけないわけですが。
まぁでもシーン名やシーン番号を直接入れて使うよりは幾分マシかと思います。
他にもシーンに別のシーンを追加したり、シーンを削除したり色々な使い方が出来るようになっているので、便利な使い方を模索してみるのも面白いと思います。
スポンサーリンク |
スポンサーリンク |