「シーンの切り替えがうまくいかない・・・」
「シーンの切り替えはできるようになったけど、ぱぱっと切り替わっちゃって味気ない・・・」
なんてことはありませんか?
少し前のわたしのことです・・・。
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
ゲームの形としては完成したけど・・・
クリア画面やゲームオーバー画面も作りたい。
タイトル画面に戻るだけでは面白みがないよね。
ということで今回はシーンを切り替える方法について深掘りします。
![顔 イラスト](https://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375-150x150.png)
![顔 イラスト](https://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375-150x150.png)
たくちん
- 未経験でも他業種でも「できる」ゲームの作り方を発信中
- 2歳の娘に挑戦する父ちゃんの背中をみて育ってほしい
- 娘と一緒に遊べるゲームを!と制作開始→苦労はあったが完成
新しいゲームも作ったよ!(えっへん)
iPhoneアプリとしてリリースもできました!
![](http://youcan-unity.online/wp-content/uploads/2023/10/Image-1-1024x473.jpg)
![](http://youcan-unity.online/wp-content/uploads/2023/10/Image-1-1024x473.jpg)
ひらがなーず~ひらがなあどべんちゃあ~
無料 posted withアプリーチ
せっかく始めたゲーム開発・・・。
挫折してしまうのはもったいない!
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
朝起きたら、ゲーム開発に関する知識詰め込まれてないかな・・・なんて。
アンケートで分かった「稼ぐこと」ができた学習方法をまとめました。
![](https://youcan-unity.online/wp-content/uploads/2023/04/挫折しない必勝法-3-300x158.png)
![](https://youcan-unity.online/wp-content/uploads/2023/04/挫折しない必勝法-3-300x158.png)
\ゲーム開発ができる「引き出し」が無限に!/
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
ゲーム開発ができる世界へワープしませんか?
シーンの切り替え方法
- シーンを作成
- シーンを遷移するスクリプト
- オリジナルゲームに当てはめる
シーンの作成
![](http://youcan-unity.online/wp-content/uploads/2023/11/2023-11-10-22.30.03-1024x994.jpg)
![](http://youcan-unity.online/wp-content/uploads/2023/11/2023-11-10-22.30.03-1024x994.jpg)
![](http://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-10-22.30.24.png)
![](http://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-10-22.30.24.png)
プロジェクトにNew Sceneができれば成功です。
続いてシーンを登録していきましょう。
同じ背景を使いたい場合はコピーするのが便利です。
背景の挿入ってなんだっけ?という方はこちらから。
![](https://youcan-unity.online/wp-content/uploads/2023/06/タイトル-2-300x158.png)
![](https://youcan-unity.online/wp-content/uploads/2023/06/タイトル-2-300x158.png)
同じ背景をコピーするための方法
どの部分をコピーすれば良いの?
画像とサイズに関わる部分をコピーすればOK。
つまり画像を選択するSprite Rendererとサイズを調整できるTransformですね。
コピーの仕方は画像にて解説します。
![](https://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-29-6.08.03-1024x477.png)
![](https://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-29-6.08.03-1024x477.png)
![](https://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-29-6.08.21-1024x578.png)
![](https://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-29-6.08.21-1024x578.png)
コンポーネントをコピーして貼り付けることで、簡単に同じ背景にすることができます。
![](http://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-29-6.11.55.jpeg)
![](http://youcan-unity.online/wp-content/uploads/2023/11/スクリーンショット-2023-11-29-6.11.55.jpeg)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
赤枠の部分をクリックすると詳細を確認できます。
シーンを遷移(移動)するスプリクト
特定のタグが付いたオブジェクトに触れたときシーンが変更されるスクリプト。
if (collision.CompareTag("boom"))
{
GameObject targetObject = GameObject.Find("GameManeger");
targetObject.GetComponent<Scene>().ChangeScene();
Destroy(collision.gameObject);
}
if (collision.CompareTag(“boom”)) もし触れたもののタグが(boom)だったら・・・
GameObject targetObject = GameObject.Find(“GameManeger”); ゲームオブジェクトからGameManegerを探してtargetObjectへ代入。
targetObject.GetComponent<Scene>().ChangeScene();targetObjectのScene(スクリプト)からChangeScene()関数を読み込む。
Destroy(collision.gameObject);触れたものは削除してね。
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
一文ずつにすると理解が深まりますね。
もうちょっとです!
using UnityEngine.SceneManagement;
public class Scene : MonoBehaviour
{
public void ChangeScene()
{
StartCoroutine(DelayedSceneChange());
}
using UnityEngine.SceneManagement; シーンを変更する場合はusing〜が必要。
public void ChangeScene() さきほどのChangeScene()関数の中身ですね。
StartCoroutine(DelayedSceneChange()); コルーチンを使ってシーンを切り替わるまでの秒数をコントロールする関数を呼んでいます。
public float waitTime = 2f;
IEnumerator DelayedSceneChange()
{
yield return new WaitForSeconds(waitTime);
SceneManager.LoadScene("GAMEOVERscene");
}
yield return new WaitForSeconds(waitTime); コルーチンを使って2f(2秒)遅延をもたせます。
SceneManager.LoadScene(“GAMEOVERscene”);GAMEOVERsceneを読み込んでシーンが切り替わります。
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
お疲れ様でした!
サクッと切り替わってしまって味気ない・・・
コルーチン詳細についての記事はこちらです。
![](https://youcan-unity.online/wp-content/uploads/2023/10/タイトル-9-300x158.png)
![](https://youcan-unity.online/wp-content/uploads/2023/10/タイトル-9-300x158.png)
オリジナルゲームに当てはめると・・・
private void OnTriggerExit2D(Collider2D collision)
{
if (collision.CompareTag("cat food gold"))
{
Destroy(collision.gameObject);
can += 1;
Scoretext.text = "Score:" + can + "/" + maxcan;
}
if (can >= 10)
{
SceneManager.LoadScene("clearscene");
}
スコアの管理をテキストで表示して10ポイント溜まったらシーンが変わるスプリクトです。
スコアを使ってシーン遷移(移動)
10個目を獲得した瞬間、シーンが切り替わりってますね。
またまた猫ちゃんが・・・!(我が家の猫様の写真が出るようにしました。)
シーンが切り替えがうまくいかないときのチェック
- シーンの登録
- スクリプトのシーン名確認
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
かなり苦戦しました・・・
解説します。
シーンの登録
新しいシーンを作成しても登録しなければ呼ばれません。
ファイル→ビルド設定をクリックして作ったシーンが登録されているかチェック。
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.24.25.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.24.25.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.24.42-1024x253.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.24.42-1024x253.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2024-03-07-5.03.03-1024x282.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2024-03-07-5.03.03-1024x282.png)
登録したいシーンを開いて「シーン追加」をクリックして、追加されていることを確認。
登録していないとこんなエラーがでます。
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.26.00-1024x22.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.26.00-1024x22.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
登録がされている場合は
シーン名が間違っている可能性が・・・。
スクリプトのシーン名確認
シーン名は任意で決められるから、スクリプトに書くとき間違えやすい。
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
まさかぁ・・・
と思いましたがわたし間違えてました。。
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.51.36.png)
![](http://youcan-unity.online/wp-content/uploads/2023/12/スクリーンショット-2023-12-05-5.51.36.png)
””の中がシーン名になるよう確認してみてくださいね〜。
\ゲーム開発ができる「引き出し」が無限に!/
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
ゲーム開発ができる世界へワープしませんか?
まとめ シーン切り替えのチェックポイント
シーンの切り替え方法をオリジナルゲームを使って解説しました。
これからやってみる方はスクリプトの1文ずつを読み解きながら進めると理解が深まるかと。
もし、うまくいかない場合は・・・
- シーンの登録
- スクリプトのシーン名確認
まさかぁ・・・と思ってもこの2つはやりがちなので確認してみてくださいね。
ちゃんと動いてくれると「できる」実感があって嬉しいものです。
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
![](http://youcan-unity.online/wp-content/uploads/2023/04/6475426C-3FE1-4F2C-8157-87930C20B9DA-e1682252393375.png)
シーンの切り替えがうまくいきますように。
個人ゲーム開発頑張っていきましょー!
ゲームの作り方総集編!
11ステップであなたもゲームが作れる。喜んでもらえる。
未経験からでも、分かる!が積み上がりゲームを完成できる。
詳細はこちらから。
![](https://youcan-unity.online/wp-content/uploads/2023/12/タイトル-13-300x158.png)
![](https://youcan-unity.online/wp-content/uploads/2023/12/タイトル-13-300x158.png)
コメント