如何在 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 步:将脚本附加到空游戏对象

  • 在场景中创建一个空游戏对象,并为其添加 attach "PauseManager" 脚本。该脚本现在将处理暂停功能,包括音频的暂停和恢复。

第 4 步:根据需要定制

  • 您可以根据您的游戏要求随意自定义脚本。您可以更改按键触发器、添加其他功能或修改行为以满足您的特定需求。

结论

现在,当在运行时按下指定的键(默认为 Escape)时,游戏将无缝 pause,包括所有音频的暂停。恢复后,游戏和音频都将顺利继续,提供更身临其境的游戏体验。

推荐文章
如何在 Unity 中触发过场动画
受 Poppy Playtime 启发,在 Unity 中创建 GrabPack
在 Unity 中创建子弹时间效果
在 Unity 中创建交互式对象
在 Unity 中实现动力学交互
在 Unity 中使用特定钥匙打开抽屉和橱柜
Unity 中没有库存的分拣系统