Unity中Time.deltaTime的含義及其應用

相信Unity的開發者或者初學者都對Time.deltaTime並不陌生,我們經常會在代碼中用到或者看到它,今天去官方的API文檔查了一下,感覺它非常有用,所以翻譯一下以引導初學者。
原文網址:
file:///Applications/Unity/Unity.app/Contents/Documentation/html/en/ScriptReference/Time-deltaTime.html

這裏寫圖片描述

Unity官方給出的描述是:按照秒來計數,完成上一幀的時間(只讀)。通常,使用這個函數來產生與遊戲幀速率無關的效果。

如果你加上或者減去一個值,那你很可能應該乘以Time.deltaTime。當你乘以它以後,你實質上的表達是:我想讓這個物體以每秒鐘10米的速度移動而不是每幀10米。

當從MonoBehavior的FixedUpdate中調用的時候,返回的幀速率增量時間。

請注意,在OnGUI中你不應該依賴Time.deltaTime,因爲OnGUI有可能在一幀中被多次調用並且每次deltatime的值都是相同的,直到下一幀刷新。

請看官方的示例代碼:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        float translation = Time.deltaTime * 10;
        transform.Translate(0, 0, translation);
    }
}

注:英文水平有限,發現問題請大家與我聯繫。

2015.4.22 18:47
By Mr.Losers

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章