【问题标题】:Unity Mute during pause暂停期间统一静音
【发布时间】:2018-05-25 05:58:33
【问题描述】:

我一直在尝试制作一个暂停菜单,用户可以在其中静音音乐/音效。但是到目前为止没有运气,基本上在这个项目中我所有的音频源都注册到了 sfx/music state change 的声音管理器事件。

在这种情况下,他们会根据该状态静音/取消静音。在我在暂停菜单上尝试之前它工作正常。我只能猜测它与 Time.scale 为 0.0f 有关,因为如果我将声音静音,它只会继续播放,直到我关闭暂停菜单并且时间刻度返回 1.0f。取消静音也是如此。

有谁知道如何处理这个问题?

【问题讨论】:

  • 我认为这取决于您的暂停菜单是如何制作的,您能否提供更多详细信息?
  • 在静音之前还是之后设置 Time.scale = 0f?
  • 您要暂停所有声音还是至少保留背景音乐?并添加您用来管理音频源的代码。
  • 你的一些代码会有用
  • 静音前的时间刻度设置为 0.0f(因为您从暂停菜单中静音)。我的声音分为 sfx 和音乐,所以两者都有自己的静音。

标签: c# unity3d audio


【解决方案1】:

也许,您可以冻结对象的物理和运动,在暂停期间将脚本设置为 false,而不是使用时间刻度为 0。

【讨论】:

    【解决方案2】:

    当 Time.timeScale 设置为零时,只需在暂停状态下调用要停止的 AudioSource 的 Pause 函数即可。

    GetComponent<AudioSource>().Pause();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多