Unity如何在Time.timeScale=0暂停游戏后继续计时
最近,做一款关于跑酷的小游戏,在角色死亡后,将游戏暂停。
Time.timeScale = 0;
然后,想在游戏暂停后,有5秒的倒计时,让玩家判断是否复活,于是我当时想都没想就直接
ReDieTime -= Time.deltaTime;
当然最后结果是不行的,于是网上查了资料,根据https://zhuanlan.zhihu.com/p/92373997
这篇文章提到的,于是我将我的代码改成了
ReDieTime -= Time.fixedUnscaledDeltaTime;
最后成功实现在Time.timeScale=0后,成功倒计时了。
当然也有人说自己写个函数,把动画等所有可移动的物体用函数改成不移动、动画的速度Speed改成0,使得画面看起来禁止就可以了,而且用Time.timeScale会导致时间混乱等问题,因为我做的是小型项目,对时间的运用也不多,所以其实直接这么用也没问题.