[Unity2D]游戏暂停Time.timeScale
Time.timeScale 时间缩放
传递时间的缩放。这可以用于减慢运动效果。
当timeScale传递时间1.0时和实时时间一样快。当timeScale传递时间0.5时比实时时间慢一半。
当timeScale传递时间为0时游戏基本上暂停了,如果你的所有函数是和帧速率无关的。
除了realtimeSinceStartup,timeScale影响所有时间和增量时间基于Time类的变量。
如果降低timeScale,建议也降低Time.fixedDeltaTime同样的数值。
当timescale设置为0时,FixedUpdate函数将不会被调用。
using UnityEngine; using System.Collections; public class Pauser : MonoBehaviour { private bool paused = false; // Update is called once per frame void Update () { if(Input.GetKeyUp(KeyCode.P)) { paused = !paused; } if(paused) Time.timeScale = 0; else Time.timeScale = 1; } }
浙公网安备 33010602011771号