[Unity基础]对Time.timeScale的一些理解
2015-03-08 14:49
381 查看
总结如下:
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)
1.timeScale不影响Update和LateUpdate,会影响FixedUpdate
2.timeScale不影响Time.realtimeSinceStartup,会影响Time.timeSinceLevelLoad和Time.time
3.timeScale不影响Time.fixedDeltaTime和Time.unscaleDeltaTime,会影响Time.deltaTime
测试代码如下:
using UnityEngine; using System.Collections; public class TestTimeScale : MonoBehaviour { // Update is called once per frame void Update () { if (Input.GetKeyDown(KeyCode.Q)) Time.timeScale = 0; if (Time.timeScale == 0) { print("Update"); print("Time.time:" + Time.time); print("Time.timeSinceLevelLoad:" + Time.timeSinceLevelLoad); print("Time.realtimeSinceStartup:" + Time.realtimeSinceStartup); print("Time.deltaTime:" + Time.deltaTime); print("Time.fixedDeltaTime:" + Time.fixedDeltaTime); print("Time.unscaledDeltaTime:" + Time.unscaledDeltaTime); } //print("Time.timeSinceLevelLoad:" + Time.timeSinceLevelLoad); } void LateUpdate() { if (Time.timeScale == 0) print("LateUpdate"); } void FixedUpdate() { if (Time.timeScale == 0) print("FixedUpdate"); } }
分别对部分代码进行注释,测试结果如下:
当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)
相关文章推荐
- [Unity基础]对Coroutine的一些理解
- [Unity基础]对Camera组件属性的一些理解
- 【Unity】使用Time.timeScale暂停游戏的时候的一些问题
- [Unity基础]对Rotation的一些理解与实例(一)
- [Unity基础]对Rotation的一些理解与实例(二)
- [Unity基础]一些算法
- unityshader固定管线的一些概念理解
- 我对Objective C的一些基础理解(第一版)
- 【Unity3D基础概念】给初学者看的Unity概览(一):GameObject,Compoent,Time,Input,Physics
- Time-wait状态(2MSL)一些理解
- Unity关于Time.timeScale详解
- 【Unity3D基础教程】给初学者看的Unity教程(六):理解Unity的新GUI系统(UGUI)
- JAVA基础知识: 对synchronized(this)的一些理解
- unity 四元数一些理解
- JAVA基础知识: 对synchronized(this)的一些理解
- 学JavaWeb一年,小谈一些基础知识的理解
- C++ enum的使用学习,一些基础内容的理解
- java基础:equals() 和 hashCode()的一些理解
- 对`timescale的深入理解
- `timescale的理解