在Unity中实现游戏暂停

最简单的暂停游戏的方式

Time.timeScale = 0;

当想继续游戏时

Time.timeScale = 1;

注意

当TimeScale被设置为0时,

  1. Update方法仍然会被调用
  2. FixedUpdate方法不会被调用
  3. Time.time不会继续增加
  4. Time.deltaTime会被影响

若不想受TimeScale影响

Time.unscaledDeltaTime 替换 Time.deltaTime
Time.fixedUnscaledDeltaTime 替换 Time.fixedDeltaTime
Time.unscaledTime 替换 Time.time

协程

用Time.unscaledDeltaTime 替换 Time.deltaTime
用WaitForSecondsRealtime 替换 WaitForSeconds

动画控制器

CullingMode设置为UnscaledTime

如何暂停音频播放

AudioListener.pause = true;

当结束暂停时

AudioListener.pause = false;

如果想在暂停时继续播放某些音效该咋办?

AudioSource.ignoreListenerPause = true;

你可能感兴趣的:(在Unity中实现游戏暂停)