如何在 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,包括所有音频的暂停。恢复后,游戏和音频都将顺利继续,提供更身临其境的游戏体验。