相信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