按照一些教程,我没有运气,我正在尝试使用免费样本将简单的.WAV音效添加到XNA中,我将声音命名为:
SoundEffect hit1;
SoundEffect hit2;
然后用以下内容加载内容:
hit1= content.load<SoundEffect>("hit1")
但是当谈到将按钮添加到按钮按下并且我去测试它时根本没有声音甚至没有错误或游戏加载并且可以播放但是任何声音效果都不起作用。
** // Sounds
SoundEffect hit1;
SoundEffect hit2;
这是我的变量名称:
// Sounds
hit1 = Content.Load<SoundEffect>("hit1");
hit2 = Content.Load<SoundEffect>("hit2");
这就是我在loadcontent方法中加载它们的方法:
//If Keyboard Key W is Pressed or Buttong Y
if (keys1.IsKeyDown(Keys.W) && oldKeys1.IsKeyUp(Keys.W)
|| (oldpad1.Buttons.Y == ButtonState.Released) && (pad1.Buttons.Y == ButtonState.Pressed))
{
secondsPassed = 0;
// IF The Target Image is a Gnome
if (targets[0] == sprites[0])
{
//They whacked a gnome
GnomeHits = GnomeHits + 1;
runNum = 0;
secondsPassed = 0;
hit1.Play();
}
else
{
//They whacked a troll
scoreNum = scoreNum + 1;
runNum = runNum + 1;
GnomeHits = 0;
secondsPassed = 0;
hit2.Play();
}
SetUpSpriteLoop();
这是我试图分配声音的控制按钮之一 当我按下F5并按下按键或按钮时没有任何声音来运行游戏。
答案 0 :(得分:0)
我在Windows 10机器上遇到了与Monogame(由XNA&#39;灰烬构建)类似的问题。我通过重新安装DirectX修复了它,一切正常。
答案 1 :(得分:-1)
我的第一个建议是确保您正在更新键盘按下。我只是说,因为我看不到你在代码中这样做了。如果不这样做,那么键状态将不会更新,因此您将永远不会输入if语句。
一旦你确定你正在输入if语句,我会使用音效的音量来确保它实际上是可听的。我可能有点偏离那里但是如果我建议跟随 this tutorial rbwhitaker是XNA的一个很好的资源。