Chapter7 シーンを切り替える
複数のシーンを作成して、シーン遷移を行ってみます。
「タイトル」画面 →「メインゲーム」画面 →「ゲームオーバー」画面 と遷移してみます。
ボタンクリックで遷移、敵に当たったら遷移、というサンプルになります。
エディター内で新規シーンを追加した場合、
「Build Settings」設定にて、追加したシーンを登録していく必要があります。
これをしないとゲーム出力の際に、追加シーンが出力されないので注意です。
シーンを切り替える仕組みのスクリプトでは、
「SceneManager.LoadScene(<シーン名>)」を記述します。
ここでの注意点は、
「SceneManager」を使用する際は、「using UnityEngine.SceneManagement;」の記述も忘れないようにすることです。
Unity側で設定してくれているクラス定義みたいなものでしょうか。
UIなどを使用する場合も、同じようにusingで指定する必要があったかと思われます。
初心者のうちは凡ミスで記述忘れをしそうなので覚えておきたいところです。
そして、お化けに接触したら、ゲームオーバー画面に遷移するテストプレイです。
シーン遷移で気になったこととしては、
遷移前の配置オブジェクトなどの使用率?(メモリ解放?)はどうなるのか、ということでした。
そのままゲーム画面 → 遷移 → ゲーム画面 → 遷移と続けていった場合、
メモリ消費率が上がっていくとなると、遷移の前に使用していたオブジェクトを消滅させていく必要がでてきます。
例によってChatGPTちゃんに聞いてみました。
「SceneManager.LoadScene(<シーン名>)」での遷移に関しては、
遷移時に自動でメモリ解放をしてくれるみたいなので安心です。
シーン遷移方法
Unityゲーム作りだと、複数シーンを作っていくようなことはあまりない、みたいな情報も得ましたが、どうなんでしょう。
ノベル・アドベンチャー系だと複数シーンで分けていった方が管理もしやすそうと思ってしまいます。
実際に作っていく中でまた学びがありそうです。
コメント