以秒为单位实时改变变量的数量。

问题描述 投票:0回答:1

我有一个浮动值,我想每秒减少10.f,例如

floatx - 10f * 'second'

如何获得实时秒数或其他形式的统一时间?

c# unity3d time calculation
1个回答
2
投票

最简单的方法是在Update中进行。

var -= 10.f * Time.deltaTime;

或者,如果你修改的变量会影响一个物理对象的运动,那么在fixedUpdate:

var -= 10.f * Time.fixedDeltaTime;

或者,如果你因为任何原因改变了你的deltaTime(比如要创建一个慢动作效果),而你又想让这一切发生在实时的秒数上,而不管这一点

// in update
var -= 10.f * Time.unscaledDeltaTime;

或者如果它改变了物理对象的一些东西。

// in fixedUpdate
var -= 10.f * Time.fixedUnscaledDeltaTime

所有这些都将使你的变量每秒减少10个。

© www.soinside.com 2019 - 2024. All rights reserved.