
こんにちは!カトサンラボのかとこうです。
この記事では、ゲーム制作でよく使う
「ゲームオーバー処理」
について解説をしていきます。
今回の内容では、
「プレイヤーが障害物にぶつかったときに
ゲームオーバーになって時間が停止する」
というシンプルな仕組みを作成していきますね。
Unityの操作にまだ慣れていない方でも、
手順通りに進めれば簡単にできますよ!
今回の目標
以下のような処理を作っていきます。
- プレイヤーがトゲ(障害物)にぶつかったら
- ゲームオーバーのログを表示
- 時間を停止してゲームがストップする
作業の流れ(全5ステップ)

▼ 動画での解説はこちら(1時間24分34秒くらいから)
1. ゲームオーバー用のC#スクリプトを作成しよう
まずは、ゲームオーバー処理を書くための
C#スクリプトを作ります。
C#スクリプトの作成手順
- Unityのプロジェクトウィンドウで「+」ボタンをクリック
- 表示されたメニューから「C# Script」を選択する
- 作成されたスクリプトに
CollisionGameOver
という名前を付けましょう(名前は自由です)
完成図

2. スクリプトをトゲのオブジェクトにつけよう
作成したゲームオーバー用の
C#スクリプトをトゲの
オブジェクトにくっつけましょう。
C#スクリプトをトゲにつける手順
- ヒエラルキーでthornDot(トゲ)をクリック
- インスペクターを表示する
- プロジェクトウィンドウから
CollisionGameOver
スクリプトを、インスペクターにドラッグ&ドロップする
完成図

3. ゲームオーバーの時間停止の処理をスクリプトに書こう
次はC#スクリプトを開いて、
ゲームオーバーの時間停止の処理を
実際に書いていきましょう!
ゲームオーバー用のC#スクリプトを
ダブルクリックして開きます。
スクリプトに以下のようなコードを書きます(コピペも可)
using System.Colections;
using System.Colections.Generic;
using UnityEngine;
public class ColisionGameOver : MonoBehaviour
{
// 衝突した時に処理が行われる関数
public void OnColisionEnter2D(Colision2D colision)
{
// もしプレイヤーが障害物にぶつかった時にゲームオーバーの処理を行う
if (colision.gameObject.tag == "Player") // もしぶつかったゲームオブジェクトのタグがプレイヤーだったら
{
Debug.Log("ぶつかったよ!ゲームオーバー!");
Time.timeScale = 0; // ゲームをストップするコード
}
}
}
4. プレイヤーのタグを「Player」に設定しよう
スクリプトでは「Player」というタグを使うことで
プレイヤーを判別しています。
そのためUnity側でもタグの設定が必要です。
タグの設定手順
- ヒエラルキーでPlayerをクリック
- インスペクターのTag欄をクリック
- 「Player」を選択(なければ「Add Tag」で追加)する
完成図

5. テストプレイで動作確認をしよう!
ここまで出来たらテストプレイを行って
ゲームオーバーの動作確認をしていきましょう。
ゲームオーバーの動作確認の手順
- シーン上部の「▶︎再生ボタン」をクリックしてプレイを開始する
- プレイヤーがトゲにぶつかると…
- コンソールウインドウのログに「ぶつかったよ!ゲームオーバー!」と表示される
- そしてゲームがストップする
▶︎ コンソールを見やすくするために、事前にログをクリアしておくのがおすすめです。
→ ConsoleウインドウのClearをクリックする
完成図

補足:もっとゲームらしくするには?
今回はコンソールにログを表示することと
ゲームの停止を使用することで
ゲームオーバーを表現しました。
これをより本格的にしたい場合は…
- 「Game Over」テキストの表示
- リトライボタンの追加
- 専用のゲームオーバー画面へ切り替え
…といった拡張も可能です。
まとめ
今回の記事ではゲームオーバーの処理を作成してきました。
今回の内容では、
「プレイヤーが障害物にぶつかったときに
ゲームオーバーになり時間を停止する」
というシンプルな仕組みを作成してきましたが、
OnCollisionEnter2D()
で衝突を検知するif (tag == "Player")
でプレイヤーと判定するTime.timeScale = 0
でゲームを停止する
といった内容を作成することで、
基本的なゲームオーバー処理が完成しましたね!
次の内容では床のプレハブ化と
Unityにおけるプレハブについての
説明を行っていこうと思います。
また記事を読んでいただけると嬉しいです。
それではここまで読んでいただきありがとうございました!
▼ 次の記事はこちら