一個很神奇的功能:暫停遊戲,且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;
}
}