---
title: "レッスン 5.3 - ゲームオーバー"
content_type: tutorial
url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp?language=ja"
language: ja
difficulty: beginner
duration_minutes: 70
unity_version:
  - "2020.3"
  - "2020.2"
  - "2020.1"
  - "2019.4"
  - "2019.3"
  - "2019.2"
  - "2019.1"
  - "2018.4"
supported_unity_versions:
  - name: "2020.3"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2020.3"
  - name: "2020.2"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2020.2"
  - name: "2020.1"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2020.1"
  - name: "2019.4"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2019.4"
  - name: "2019.3"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2019.3"
  - name: "2019.2"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2019.2"
  - name: "2019.1"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2019.1"
  - name: "2018.4"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja&version=2018.4"
available_languages:
  - name: "en"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-1.md?language=en"
  - name: "es"
    url: "https://learn.unity.com/tutorial/leccion-5-3-game-over.md?language=es"
  - name: "ja"
    url: "https://learn.unity.com/tutorial/lesson-5-3-game-over-jp.md?language=ja"
  - name: "ko"
    url: "https://learn.unity.com/tutorial/5-3gang-geim-obeo.md?language=ko"
last_updated: "2026-08-04T14:23:10.000Z"
---

# レッスン 5.3 - ゲームオーバー

「Game Over」テキストとリセットボタンを実装し、標的の出現停止とスコアリセットを行ってゲームを再開できるようにします。

**概要：**

前のレッスンで素晴らしいスコアのカウンターを追加しましたが、ゲームの出来栄えを左右する UI 要素は他にもたくさんあります。このレッスンでは、クリックするべき標的オブジェクトがセンサーより下に落ちたときに表示されるゲームオーバー時のテキストを作成します。ゲームオーバーになっている間は、標的が出現しなくなります。また、ゲームオーバーになるとスコアはリセットされます。加えて、ゲームオーバーになった後にゲームをやり直すためのボタンを追加します。

**プロジェクトの成果物：**

画面下部のセンサーの下にクリックするべき標的が落ちた場合、標的の出現を停止し、画面全体に「Game Over」のメッセージが表示されます。「Game Over」メッセージのすぐ下には「Reset Game」ボタンがあり、このボタンをクリックするとスコアをリセットしてゲームが再起動します。これで、もう一度ゲームを楽しむことができます。

## 1. 導入

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/8a34462d-fe41-48f2-8ae6-2347ec0f4dc8_CWC_Intro_5_3.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20200728/4c2252e1-efd9-4398-b89c-f32f17c64999_CWC_Intro_5_3.vtt.vtt))

## 2. ゲームオーバーのテキストオブジェクトを作る

> _ゲーム終了時に「Game Over」というテキストを表示させたい場合、まずは「Game Over」という新しい UI テキスト要素を作成してカスタマイズするところから始めるのがよいでしょう。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/66245298-203d-48bd-8b21-53775d1c5ebc_CWC_U5.L3.S1.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/92e74bf3-4808-4bec-92f4-88db81f0da6e_188_Lesson_5.3_Create_a_Game_Over_text_object.en.vtt))

1. **キャンバス**上で右クリックし、UI > **TextMeshPro - Text** と選択して新しくオブジェクトを作成し、名前を「Game Over Text」に変更します。
2. インスペクターで、**Text**（テキストの内容）、**Pos X**、**Pos Y**、**Font Asset**（フォントアセット）、**Size**（文字サイズ）、**Style**（スタイル）、**Color**（色）、および **Alignment**（文字揃え）の設定を編集します。
3. 「Wrapping」の設定を「Disabled」にします。

## 3. ゲームオーバーの文字を表示する

> _ゲームオーバー時のテキストが画面に表示されるようになりましたが、今はただそこにあるだけで、視界が遮ってしまっています。一旦非表示にして、ゲーム終了時に再び表示されるようにしましょう。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/11b1bc7d-d990-47df-947f-195ea4ec2acc_CWC_U5.L3.S2.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/bdd36130-5563-4ec6-a5b3-5c76ba8c506f_189_Lesson_5.3_Make_GameOver_text_appear.en.vtt))

1. GameManager.cs で、新しく **public TextMeshProUGUI gameOverText;** を作成し、インスペクターで **Game Over** オブジェクトを割り当てます。
2. Active チェックボックスの**チェックを外す**と、Game Over オブジェクトのテキストがデフォルトで**無効（非表示）**になります。
3. **_Start()_** で、Game Over オブジェクトのテキストを有効（表示）にします。

![](https://connect-mediagw.unity.com/h1/20190523/learn/images/9b4a175e-82f3-4337-b616-fddfe5eb0c41_5_3_2.png)

## 4. GameOver 関数を作る

> _とりあえずゲーム開始時に「Game Over」という文字が表示されるようにしましたが、本当はクリックするべきオブジェクトを 1 つでも逃して、画面外に落ちた時にこの文字を表示させたいものです。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/3dafae69-ebeb-447e-8799-0ca440bf98fa_CWC_U5.L3.S3.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/82d3973f-3bb8-4419-9ba2-7c989627d3ea_190_Lesson_5.3_Create_GameOver_function.en.vtt))

1. 新しく **_public void GameOver()_** 関数を作成し、ゲームオーバー時のテキストを有効にするコードをその中に**移動**します。
2. Target.cs で、標的が**センサー**に衝突した場合に **_gameManager.GameOver()_** を呼び出します。
3. **クリックしてはいけないオブジェクト**に新しく「Bad」タグを追加し、センサーに衝突したのがこの Bad タグの付いたオブジェクトではない場合にのみゲームオーバーをトリガーする条件を追加します。

![](https://connect-mediagw.unity.com/h1/20200423/learn/images/9947571a-613e-47cf-8c4b-f7ff421be254_Screen_Shot_2020_04_23_at_10.30.15_AM.png)

## 5. ゲームオーバーになったらオブジェクトの生成と得点の計算を止める

> _「Game Over」の文字が画面に表示したい時に表示されるようになりましたが、今の状態では文字が表示されてもゲーム自体は続いています。本当の意味でゲームを停止させ、これを「ゲームオーバー」と呼ぶためには、標的の生成を止めて、プレイヤーのスコアの計算も行わないようにする必要があります。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/b51d42e9-c166-4840-a4c7-87e7197e6c7d_CWC_U5.L3.S4.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/665773f4-0680-435f-a058-3b50406528d2_191_Lesson_5.3_Stop_spawning_and_score_on_GameOver.en.vtt))

1. _新しく **public bool isGameActive;** を作成します。_
2. _**Start()** の最初の行で **isGameActive = true;** と設定し、**GameOver()** では **isGameActive = false;** と設定します。_
3. _ゲームオーバー時にオブジェクトが出現しないようにするには、**SpawnTarget()** のコルーチンで、**while (true)** を **while (isGameActive)** に変更します。_
4. _スコアの計算を停止するには、Target.cs の **OnMouseDown()** 関数に「**if (gameManager.isGameActive) {**」で始まるブロックを追加します。_

![](https://connect-mediagw.unity.com/h1/20190523/learn/images/7de074f4-3955-4529-9392-17c2dd3be05a_5_3_4.png)

## 6. 再スタートボタンを追加する

> _ゲームオーバーにする仕組みは見事に機能するようになりましたが、ゲームをやり直す方法がありません。プレイヤーがゲームを再度遊べるようにするために、ここではじめて UI ボタンを作成します。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/a81b51f4-c94b-4783-862b-7d75fd7a425b_CWC_U5.L3.S5.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20200728/70736801-5e7d-4717-9bac-febd42048f0a_CWC_U5.L3.S5.vtt.vtt))

1. **キャンバス**を右クリックして、_Create > UI > Button_ を選択します。
2. ボタンの名前を「Restart Button」に変更します。
3. Restart ボタンをちょうどよい場所に配置するため、Game Over テキストを**一時的に有効**にし、位置を合わせたら再度**無効**にします。
4. 子オブジェクトの Text を選択して、**テキスト**を「Restart」に変更して、**フォント**、**スタイル**、および**サイズ**も適切に設定します。

## 7. 再スタートボタンを機能させる

> _再スタートボタンをシーンに追加していい感じになってきました。あとは実際に動作させてゲームを再スタートさせてみましょう。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/6fb06954-47d6-4701-bb69-1dff78b687dc_CWC_U5.L3.S6.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/6027a4d8-bd58-4753-9bca-d2cb0a89d8ea_193_Lesson_5.3_Make_the_restart_button_work.en.vtt))

1. GameManager.cs に、**_using UnityEngine.SceneManagement;_** を追加します。
2. 現在のシーンを再ロードする **_public void RestartGame()_** 関数を新しく作成します。
3. **ボタン**のインスペクターで、「**+**」をクリックして新しく **On Click イベント**を追加し、**_Game Manager_** オブジェクトをドラッグして **_GameManager.RestartGame()_** 関数を選択します。

```csharp
using UnityEngine.SceneManagement;

public void RestartGame()
{
     SceneManager.LoadScene(SceneManager.GetActiveScene().name);
}
```

## 8. ゲームオーバー時に再スタートボタンを表示する

> _再スタートボタンは上手く動くようになりましたが、ゲーム中ずっと表示されていると邪魔です。「Game Over」のメッセージと同じように、ゲーム進行中は再スタートボタンを非表示にしましょう。_

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/72c339b0-2802-4ff4-9f60-58fd85fbbd87_CWC_U5.L3.S7.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/c46c7ee8-e629-4921-bf96-b2ba8021eeb2_194_Lesson_5.3_Show_restart_button_on_game_over.en.vtt))

1. GameManager.cs の先頭に、「**_using UnityEngine.UI;_**」を追加します。
2. 新しく **_public Button restartButton;_** を宣言し、インスペクターで **Restart Button** を割り当てます。
3. インスペクターで、**Restart Button** の「Active」チェックボックスの**チェックを外します**。
4. **_GameOver_** 関数で、**Restart Button** を有効にする処理を書きます。

![](https://connect-mediagw.unity.com/h1/20190523/learn/images/9115fc91-9457-4e48-b9e7-2d3fb2a53431_5_3_7.png)

## 9. レッスンのまとめ

[Video](https://connect-mediagw.unity.com/h1/20200728/videos/e6b8bb06-8563-4369-b026-a24e69c9c035_CWC_U5.L3.SRecap.mp4) ([Transcript (ja_jp)](https://connect-mediagw.unity.com/h1/20220506/ad52053c-e241-4920-86ad-607bdd7aea37_195_Lesson_5.3_Lesson_Recap.en.vtt))

新しい機能：

- 再スタートボタン付きできちんと動作するゲームオーバー画面
- 再スタートボタンをクリックするとゲームがリセットされる

新しい概念とスキル：

- ゲームの状態
- ボタン
- On Click イベント
- シーン管理ライブラリ
- UI ライブラリ
- ゲーム状態を制御するためのブーリアン

次のレッスン：

- 次のレッスンでは、ボタンを使ってゲームの難易度を選べるようにしてみましょう。
