unity保存游戏暂停时的time代码
时间: 2023-07-09 08:13:54 浏览: 91
在 Unity 中,保存游戏暂停时的时间可以使用 Time.timeScale 属性。Time.timeScale 控制时间的缩放比例,当它的值为 0 时,时间将暂停。因此,你可以在游戏暂停时将 Time.timeScale 的值设置为 0,然后在游戏继续时将其恢复到之前的值。
以下是一些示例代码,用于保存当前时间和 Time.timeScale 的值,并在游戏暂停和继续时使用它们:
```csharp
// 保存时间和 timeScale 的值
private float savedTime = 0f;
private float savedTimeScale = 1f;
// 暂停游戏
void PauseGame()
{
// 保存当前时间和 timeScale 的值
savedTime = Time.time;
savedTimeScale = Time.timeScale;
// 设置 timeScale 为 0,暂停时间
Time.timeScale = 0;
}
// 继续游戏
void ResumeGame()
{
// 恢复之前保存的时间和 timeScale 的值
Time.timeScale = savedTimeScale;
savedTimeScale = 1f;
savedTime = 0f;
}
// 在 Update 函数中判断是否需要暂停游戏
void Update()
{
if (Input.GetKeyDown(KeyCode.Escape))
{
if (Time.timeScale == 0)
{
// 继续游戏
ResumeGame();
}
else
{
// 暂停游戏
PauseGame();
}
}
}
```
这个示例代码可以通过按下 Escape 键来暂停和继续游戏。在暂停游戏时,它保存当前时间和 Time.timeScale 的值,并将 Time.timeScale 设置为 0。在继续游戏时,它恢复之前保存的时间和 Time.timeScale 的值。