Unity でゲームを一時停止する方法

Unity に pause 機能を実装するチュートリアルへようこそ。このシンプルだが不可欠な機能は、プレーヤーのエクスペリエンスを大幅に向上させます。ステップバイステップのガイドを見てみましょう。

ステップ 1: PauseManager スクリプトを作成する

  • まず、Unity で新しい C# スクリプトを 作成し、それに "PauseManager" または任意の名前を付けます。

ステップ 2: 一時停止機能を実装する

  • スクリプトを開き、既存のコードを次のものに置き換えます。

'PauseManager.cs'

using UnityEngine;

public class PauseManager : MonoBehaviour
{
    private bool isPaused = false;

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Escape))
        {
            if (isPaused)
                ResumeGame();
            else
                PauseGame();
        }
    }

    void PauseGame()
    {
        Time.timeScale = 0f;
        isPaused = true;

        // Pause all audio
        AudioListener.pause = true;
    }

    void ResumeGame()
    {
        Time.timeScale = 1f;
        isPaused = false;

        // Resume all audio
        AudioListener.pause = false;
    }
}

ステップ 3: 空のゲームオブジェクトにスクリプトをアタッチする

  • シーン内に空のゲームオブジェクトを作成し、それに "PauseManager" スクリプトを追加します。このスクリプトは、オーディオの一時停止と再開を含む一時停止機能を処理するようになります。

ステップ 4: 必要に応じてカスタマイズする

  • ゲームの要件に応じてスクリプトを自由にカスタマイズしてください。特定のニーズに合わせて、キー トリガーを変更したり、機能を追加したり、動作を変更したりできます。

結論

実行中に指定されたキー (デフォルトは Escape) を押すと、ゲームはすべてのオーディオの一時停止を含め、シームレスに 一時停止 します。再開すると、ゲームとオーディオの両方がスムーズに継続され、より没入感のあるゲーム体験が提供されます。