Unity2D教程:当Time.timeScale=0时完成计时器

关注专栏,持续更新哦

教程总目录


一个很神奇的功能:暂停游戏,且1秒后自动继续游戏。

用Time.timeScale=0来暂停游戏后,不管是用Timer-=Time.deltaTime还是用协程StartCoroutine来完成计时器都不行。因为上面两个方法都需要Time.timeScale。

现在来用不基于Time.timeScale的方法完成计时器。


Time.realtimeSinceStartup会返回从游戏开始后到现在的时间,想到了这个,我们的计时器就出来了。

先设置时间点为当前时间加上暂停的间隔时间:

needToUnPause = true
UnPauseTimePoint = Time.realtimeSinceStartup + second;

然后Update中判断当前时间是否大于间隔点即可。

if (needToUnPause)
        {
            if (Time.realtimeSinceStartup > UnPauseTimePoint)
            {
                GameController.instance.UnPauseGame();
                needToUnPause = false;
            }
        }

猜你喜欢

转载自blog.csdn.net/jk_chen_acmer/article/details/107114469
今日推荐