美文网首页
Unity Time.realtimeSinceStartup

Unity Time.realtimeSinceStartup

作者: 摸狗 | 来源:发表于2019-08-21 10:05 被阅读0次

realtimeSinceStartup表示的是从游戏启动时开始现在经历过的真实时间。
可以使用这个方法做一个简单的真实时间的计时器,但是需要注意的是,他不受到timeScale所控制。它不依赖游戏时间,而是系统时间。

例如我们想知道某个代码块的耗时,比如我写了一个又臭又长的循环,就可以这么做:

float time1 = Time.realtimeSinceStartup;
Debug.Log("NowTime: " + time1);
for(int i = 0 ; i < 100; i++)
  for(int j = 0 ; j < 100; j++)
    for(int k = 0 ; k < 100; k++);
Debug.Log(Time.realtimeSinceStartup - time1);

我的机器大概需要0.86秒,但是你多运行几次你就会发现time1的值不断的变大,因为它存着的是游戏从开始启动到现在已经花费多少时间了,是以秒为单位的。
realtimeSinceStartup就可以运用在那些不需要被受游戏暂停的地方使用。一般都是ui的动画效果,比如你开一个背包有一个变大的过程你不希望因为你的timeScale让动画没有效果使用realtimeSinceStartup是一个好的选择。或者是做一些道具销毁的计时器也是可以的。

相关文章

网友评论

      本文标题:Unity Time.realtimeSinceStartup

      本文链接:https://www.haomeiwen.com/subject/isavsctx.html