[英]Audio stops playing after loading my game from the main menu scene
When I pause the game, the audio pauses too, but I created a "go back to menu" button, it goes to the main menu but when I hit start again and the game starts running, my audio is dead, I can not hear anything.当我暂停游戏时,音频也会暂停,但我创建了一个“返回菜单”按钮,它会进入主菜单,但是当我再次点击开始并开始运行游戏时,我的音频已死,我听不到任何事物。
Here is my code:这是我的代码:
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();
}
}
In the PauseGame() function you are setting the AudioListener.pause to true.在 PauseGame() 函数中,您将 AudioListener.pause 设置为 true。 So, in the GoToMainMenu() function set the AudioListener.pause to false.
因此,在 GoToMainMenu() 函数中将 AudioListener.pause 设置为 false。
If you pause your game and call PauseGame()
AudioListener.pause
is set to true
.如果您暂停游戏并调用
PauseGame()
AudioListener.pause
设置为true
。
If you resume you correctly set AudioListener.pause
to false
.如果您恢复,则正确地将
AudioListener.pause
设置为false
。
However, if you stop your game (by going into some main menu) and start a new one (or the previous one) the static bool AudioListener.pause
is still false
because of your pause menu intervention.然而,如果你停止你的游戏(通过进入一些主菜单)并开始一个新的(或前一个)静态 bool
AudioListener.pause
由于你的暂停菜单干预仍然是false
的。
Even if your starting setup results in pausemenu.Start()
getting called when starting a new game, this will not affect AudioListener.pause
.即使您的开始设置导致在开始新游戏时调用
pausemenu.Start()
,这也不会影响AudioListener.pause
。 You have to explicitly call pausemenu.ResumeGame()
.您必须明确调用
pausemenu.ResumeGame()
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.