包含此页的版本:
不含此页的版本:
Time.timeScale 属性定义了游戏世界中相对于实时的时间流逝速率。一个Time.timeScale值为 1.0 表示您的游戏时间与实时匹配。值为 2.0 时,游戏中的时间流逝速度是现实世界中的两倍,从而加快了游戏中的动作速度。值为 0.5 会将游戏速度减慢到一半。值为零会使您的游戏时间完全停止。
Time.timeScale实际上并没有减慢执行速度,而是更改了报告给Update和FixedUpdate函数与 Time.deltaTime 和 Time.fixedDeltaTime 一起使用。
你Update当你减小时间尺度时,函数可能会被调用,但Time.deltaTime每一帧都会更少。其他脚本函数不受时间刻度的影响,因此例如,您可以在游戏暂停时显示具有正常交互的 GUI。
对于慢动作等特殊时间效果,有时可以减慢游戏时间的流逝,以便代码中的动画和基于时间的计算以较慢的速度进行。此外,有时您可能希望完全冻结游戏时间,例如游戏暂停时。
时间窗口有一个属性,可用于全局设置时间刻度,但通常使用 Time-timeScale 属性从脚本中设置值更有用:
//C# script example
using UnityEngine;
using System.Collections;
public class ExampleScript : MonoBehaviour {
void Pause() {
Time.timeScale = 0;
}
void Resume() {
Time.timeScale = 1;
}
}