从主菜单场景加载游戏后,音频停止播放

问题描述

当我暂停游戏时,音频也会暂停,但是我创建了一个“返回菜单”按钮,该按钮进入主菜单,但是当我再次点击开始并开始运行游戏时,我的音频消失了,我听不到任何声音。

这是我的代码:

using UnityEngine; using UnityEngine.SceneManagement;

public class pausemenu : MonoBehaviour { public GameObject pauseMenu;

 public bool isPaused;
 
 void Start()
 {
     pauseMenu.SetActive(false);
 }
 // Update is called once per frame
 void Update()
 {
     if(Input.GetKeyDown(KeyCode.Escape))
     {
         if(isPaused)
         {
             ResumeGame();
         }
         else
         {
             PauseGame();
         }
     }
      
 }   
 
 
 public void PauseGame()
 {
     pauseMenu.SetActive(true);
     Time.timeScale = 0f;
     isPaused = true;
     AudioListener.pause = true;
 }
 
 public void ResumeGame()
 {
     pauseMenu.SetActive(false);
     Time.timeScale = 1f;
     isPaused = false;
     AudioListener.pause = false;
 }
  
 public void GoToMainMenu()
 {
     Time.timeScale = 1f;
     SceneManager.LoadScene("menu1");
 } 
 
 public void QuitTheGame()
 {
     Application.Quit();
 }
   
}

解决方法

在PauseGame()函数中,您将AudioListener.pause设置为true。因此,在GoToMainMenu()函数中,将AudioListener.pause设置为false。

,

如果您暂停游戏并致电PauseGame()AudioListener.pause会设置为true

如果继续,则可以正确地将AudioListener.pause设置为false

但是,如果您停止游戏(进入某个主菜单)并开始一个新的游戏(或上一个游戏),则由于暂停菜单,静态布尔AudioListener.pause仍为false

即使您的启动设置导致开始新游戏时调用pausemenu.Start(),这也不会影响AudioListener.pause。您必须显式调用pausemenu.ResumeGame()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...