首页 > Unity3D引擎 > 进阶系列 > Time.timeScale的一些理解
2016
12-16

Time.timeScale的一些理解

转自:http://blog.csdn.net/lyh916/article/details/44133003

总结如下:

1.timeScale不影响Update和LateUpdate,会影响FixedUpdate

2.timeScale不影响Time.realtimeSinceStartup,会影响Time.timeSinceLevelLoad和Time.time

3.timeScale不影响Time.fixedDeltaTime和Time.unscaleDeltaTime,会影响Time.deltaTime

测试代码如下:

分别对部分代码进行注释,测试结果如下:

当timeScale等于0时:

1.Update和LateUpdate可以执行,FixedUpdate不可以执行

2.Time.realtimeSinceStartup依然在增加,Time.timeSinceLevelLoad和Time.time均不变

3.Time.fixedDeltaTime不变,Time.deltaTime变为0,Time.unscaleDeltaTime就像游戏正常速度运行下的Time.deltaTime

再次总结:

当想代码受timeScale控制时(如暂停、加速),可以把代码放在FixedUpdate中,又或者跟Time.time或Time.deltaTime扯上关系;否则,可以用Time.realtimeSinceStartup(类似正常状态下的Time.time)和Time.unscaleDeltaTime(类似正常状态下的Time.deltaTime)

最后编辑:
作者:网虫虫
网虫虫
分享是一种快乐; 分享是一种美德; 分享是一种幸福!

留下一个回复

你的email不会被公开。