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