Time类:是unity中获取信息的接口类,只有静态属性,realtimeSinceStartup、smoothDeltatime、time
realtimeSinceStartup:程序运行实时时间
基本语法:public static float realtimeSinceStartup{get;}
次属性用于返回从游戏启动到现在以运行的实时时间(只读),以秒为单位。次属性通常可用Time.time代替使用,但realtimeSinceStartup的返回值不受TimeScacle属性变化的影响。
using UnityEngine;
using System.Collections;
public class RealtimeSinceStartupScript : MonoBehaviour {
public Rigidbody rg;
// Use this for initialization
void Start () {
Debug.Log("Time.timeScale的默认时间是:"+Time.timeScale);
//观察方体在timescacle变化前后的移动速度
rg.velocity = Vector3.forward * 2.0f;
Time.timeScale = 0.5f;
}
// Update is called once per frame
void Update () {
Debug.Log("Time.timescacle的当前值:"+Time.timeScale);
Debug.Log("Time.time:"+Time.time);
Debug.Log("Time.realtimeSinceStartup:"+Time.realtimeSinceStartup);
}
void OnGUI()
{
if(GUI.Button(new Rect(10.0f,10.0f,200.0f,45.0f),"Time.timeScacle=0.5f"))
{
Time.timeScale = 0.5f;
}
if (GUI.Button(new Rect(10.0f, 60.0f, 200.0f, 45.0f), "Time.timeScacle=1.0f"))
{
Time.timeScale = 1.0f;
}
}
}
SmoothDeltaTime属性 平滑时间间隔
Public static float smoothDeltaTime{get;}
此属性用于返回Time.delatime的平滑输出值(只读)。Time.smoothdeltatime比Time.delatime的波幅震荡更平滑,通常time.smoothdeltatime的累加和比Time.delatime的累加稍微大些Time.smoothdaltatime主要用于在FixedUpdate方法中需要平滑过度的计算。
using UnityEngine;
using System.Collections;
public class RealtimeSinceStartupScript : MonoBehaviour {
public Rigidbody rg;
// Use this for initialization
void Start () {
Debug.Log("Time.timeScale的默认时间是:"+Time.timeScale);
//观察方体在timescacle变化前后的移动速度
Time.timeScale = 0.5f;
}
// Update is called once per frame
void Update () {
Debug.Log("Time.timescacle的当前值:"+Time.timeScale);
Debug.Log("Time.time:"+Time.time);
Debug.Log("Time.realtimeSinceStartup:"+Time.realtimeSinceStartup);
}
void OnGUI()
{
if(GUI.Button(new Rect(10.0f,10.0f,200.0f,45.0f),"Time.timeScacle=0.5f"))
{
Time.timeScale = 0.5f;
}
if (GUI.Button(new Rect(10.0f, 60.0f, 200.0f, 45.0f), "Time.timeScacle=1.0f"))
{
Time.timeScale = 1.0f;
}
}
}
Time属性:程序运行时间
基本语法:Public static float time {get;}
此属性用于返回从游戏启动到现在的运行时间(只读),以秒为单位。
using UnityEngine;
using System.Collections;
public class timeSCript : MonoBehaviour {
float t1 = 0.0f;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
//deltaTime属性用于返回从上一帧到现在所经历的时间(只读),以秒为单位
//由于UPdate()函数中的代码是以帧来执行的,其执行时间的时间间隔是不固定的
//当需要以秒为单位对某个物体进行变换时就需要和Time.deltaTime结合使用
t1 = Time.deltaTime;
}
void onGUI()
{
if(GUI.Button(new Rect(10.0f,10.0f,200.0f,45.0f),"加载新场景"))
{
Application.loadedLevel("newScence01_unity");
}
}
}