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;
            }
        }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章