Overview: Keeping Track of Time记录时间

转自:http://hi.baidu.com/cartoonboy/blog/item/a59166d9ac1b482110df9b72.html

Time 类包含一个非常重要的类变量名叫deltaTime。这个变量包含从上次调用Update 或FixedUpdate到现在的时间量(它依赖于你是放在Update还是FixedUpdate函数中)。

下面的例子中,使物体以一个恒定的速度旋转,而不依赖帧频率:

function Update() {
transform.Rotate(0, 5 * Time.deltaTime, 0);
}

移动物体:

function Update() {
transform.Translate(0, 0, 2 * Time.deltaTime);
}

如果你每帧添加或减少一个值,你需要乘以Time.deltaTime。当你乘以Time.deltaTime时你必须明白:我想以每秒10米的速度移动物体,去代替每帧10米。这样你的游戏运行不依赖帧频率,而且更容易理解.(每秒10米)

另一个例子,如果你想要每隔一段时间增加光照范围。如下,改变半径为每秒2个单位。

function Update() {
light.range += 2.0 * Time.deltaTime;
}

当涉及到刚体的力,你通常不乘以Time.deltaTime.因为引擎已经处理了。

by:Cartoonboy

 

你可能感兴趣的:(rack)