【Unity中Time类】

由于今天写计时器,实在是没理清Time类,在这里做一个总结

Time.deltaTime

每帧的时间。完成上一帧所用的时间(以秒为单位)(只读)。此属性提供当前帧和上一帧之间的时间。

就是 1 除以帧率的结果,它的单位为 秒 / 帧。

它是受到时间缩放影响的,当Time.timeScale为0时,Time.deltaTime也为0。

绝大多数是1s50帧,这个也要看具体的机型。

private float timer = 0;
private float delayTime = 1;
private void Update()
{
	timer += Time.deltaTime;
	if(timer >= delayTime)
	{
		//你要做的事......
		timer = 0;
	}
}

这个计数器就是把每一个两帧之间的时间加起来,当达到1s时就do your thing,然后归零。

广泛应用于物体移动

fixedDeltaTime

fixedDeltatime是一个固定的时间增量。以秒为单位,在Edit->ProjectSettings->Time中Fixed Timestep设置的值就是Time.fixedDeltaTime。

time

从游戏开始后所运行的时间,会受时间缩放比例影响

Time.realtimeSinceStartup

从游戏开始后所运行的真实时间,不会受时间缩放比例的影响。

测试程序性能

Time.timeScale:


时间的缩放,Time.timeScale为1是默认值,为0可用于游戏的暂停,为2可用于游戏的快进。
可在Edit->Project Setting->Time的Time Scale中设置时间缩放。

1.Time.timeScale不会影响Update和LateUpdate,因为Time.timeScale不会影响和帧率有关的事情,Update和LateUpdate是受到帧率影响而不是受到时间影响。
2.Time.timeScale会影响FixedUpdate,因为FixedUpdate是受到时间影响的。
3.Time.timeScale是对于整个游戏的而不是单个场景。
4.Time.timeScale的值是一个[0,100]的数。
 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值