[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;
    }
}

 

posted on 2014-09-26 17:20  linzheng  阅读(1183)  评论(0)    收藏  举报

导航