1
我試圖在遊戲狀態發生變化時播放聲音XNA - 聲音更新方法
例如我在主菜單中,點擊說明並播放聲音。我點擊返回按鈕它再次播放相同的聲音。
我有很多麻煩實施這個!
case GameState.MainMenu:
if (PlayButton.isClicked == true) CurrentGameState = GameState.Levels;
menuSoundPlayOnce = true;
PlayButton.Update(mouse);
if (instructionsButton.isClicked == true) CurrentGameState = GameState.Instructions;
instructionsButton.Update(mouse);
if (quitButton.isClicked == true)
Exit();
quitButton.Update(mouse);
break;
case GameState.Instructions:
if (backButton.isClicked == true) CurrentGameState = GameState.MainMenu;
backButton.Update(mouse);
if (!menuToMenuSoundPlayOnce)
{
menuToMenuSound.Play();
}
menuToMenuSoundPlayOnce = true;
break;
我的聲音只能播放一次使用的代碼
if (!menuToMenuSoundPlayOnce)
{
menuToMenuSound.Play();
}
menuToMenuSoundPlayOnce = true;
但它播放一次,當然menuToMenuSoundPlaceOnce被設置爲false。 如果我改變它以保持爲假,它會一遍又一遍地播放聲音。
我似乎無法在網上找到任何關於此的信息。
感謝所有幫助
非常感謝您的答覆, 我已經嘗試添加這一點,但還是聲音持續不斷髮揮。 我只想要它每場比賽的狀態,但似乎無法得到它 – Dereck
請確保您只在Update()方法之外實例化SoundEffectInstance一次。您通常會在類級創建此對象,並在LoadContent()期間加載它 – jgallant