Unity での一時停止メニューの作成
一時停止メニューの追加は、あらゆる Unity ゲームにとって重要であり、プレイヤーに一呼吸おいてオプションにアクセスする時間を提供します。このチュートリアルでは、コード例と説明を含めて、その作成方法を説明します。
1. 一時停止メニューをデザインする
- ボタン (再開、オプション、終了) を含む希望のレイアウトをスケッチします。
 - 圧迫感を軽減するために、透明パネルの使用を検討してください。
 
2. キャンバスを作成する
- [階層] パネルで右クリックし、["UI -> Canvas"] を選択します。
 - 適切な位置に配置するには、"Render Mode" を "Screen Space - Overlay" に設定します。
 
3. メニューパネルを構築する
- キャンバスの下で右クリックし、"UI -> Panel" を選択します。
 - デザインに合わせてパネルのサイズを変更し、配置します。
 - 整理しやすくするために、名前を "PauseMenu" に変更します。
 
4. ボタンの追加
- 「PauseMenu」パネル内で右クリックし、「PauseMenu」パネルを選択します。 "UI -> Button."
 - 必要なボタンごとに繰り返します (再開、オプション、終了)。
 - 適切な名前を付けます (例: "ResumeButton")。
 - テキスト、サイズ、位置をカスタマイズします。
 
5. ロジックのスクリプト作成
- という名前の新しい C# スクリプトを作成します "PauseMenu.cs."
 - スクリプトを階層内の PauseMenu オブジェクトにアタッチします。
 
6. 一時停止機能
'PauseMenu.cs'
public class PauseMenu : MonoBehaviour
{
    public bool isPaused; // Flag to track pause state
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            // Toggle pause state on Escape key press
            isPaused = !isPaused;
            if (isPaused)
            {
                PauseGame();
            }
            else
            {
                ResumeGame();
            }
        }
    }
    void PauseGame()
    {
        // Set Time.timeScale to 0 to pause gameplay
        Time.timeScale = 0;
        // Make PauseMenu panel visible (activate its gameObject)
        PauseMenu.gameObject.SetActive(true);
    }
    void ResumeGame()
    {
        // Set Time.timeScale back to 1 to resume gameplay
        Time.timeScale = 1;
        // Hide PauseMenu panel (deactivate its gameObject)
        PauseMenu.gameObject.SetActive(false);
    }
}7. ボタンのインタラクション
- インスペクターウィンドウで、各ボタンを選択します。
 - "OnClick" の横にある「+」をクリックし、'PauseMenu' スクリプトをフィールドにドラッグします。
 - 適切な機能を選択します (たとえば、ResumeButton の場合は ResumeGame)。
 
8. 追加のタッチ
- ボタンのスタイルをカスタマイズしたり、サウンド効果を追加したり、オプション メニューを実装したりできます。
 - シーン間での再利用を可能にするために、prefabs の使用を検討してください。
 
結論
このガイドが、Unity で動作する一時停止メニューを構築する上で有利なスタートを切ることができれば幸いです。さらに機能を追加し、特定のゲームのニーズに合わせて調整することで、このベースを拡張することを忘れないでください。