Unity如何在Time.timeScale=0暫停遊戲後繼續計時
阿新 • • 發佈:2020-12-09
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會導致時間混亂等問題,因為我做的是小型專案,對時間的運用也不多,所以其實直接這麼用也沒問題.