【问题标题】:Pause menu music after AudioListener.pause = true;AudioListener.pause = true 后暂停菜单音乐;
【发布时间】:2019-05-16 06:40:42
【问题描述】:

我有一个带有音乐和一些按钮音效的暂停菜单画布,当我按下 ESC 画布时,游戏对象变为活动状态并设置 timescale = 0;并调用 AudioListener.pause = true;避免在游戏中播放声音。

但是当我调用 AudioListener.pause = true;暂停菜单音乐和按钮的音效也无法播放。

Pause = true;

            AudioListener.pause = true;

            transform.GetChild(0).gameObject.SetActive(true);



            Time.timeScale = 0;

            Time.fixedDeltaTime = 0.02F * Time.timeScale;

我尝试向新画布添加另一个音频侦听器,但它也无法正常工作。

【问题讨论】:

    标签: unity3d


    【解决方案1】:

    我用该代码修复了解决方案;

    void PauseAllSources()
        {
            AudioSource[] allAudioSources = FindObjectsOfType<AudioSource>();
            foreach(AudioSource a in allAudioSources)
            {
                if (a.isActiveAndEnabled == true)
                {
                    if (a.isPlaying) a.Pause();
                    else a.UnPause();
                }
            }
    
        }
    

    AudioListener.pause = true;替换为PauseAllSources();

    【讨论】:

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