C# 更新方法的soundEffect保持循环
我正在用Xna制作一个游戏,我的音效一直在循环,这很明显,因为声音是通过更新方法播放的 这些声音并不是一次播放一个,但就像我的车撞到一块瓷砖(例如:瓷砖1)时,它会一次播放1000多次 如何防止声音一次播放1000次以上,而一次播放1次 这是我用来播放音效的代码:C# 更新方法的soundEffect保持循环,c#,xna,C#,Xna,我正在用Xna制作一个游戏,我的音效一直在循环,这很明显,因为声音是通过更新方法播放的 这些声音并不是一次播放一个,但就像我的车撞到一块瓷砖(例如:瓷砖1)时,它会一次播放1000多次 如何防止声音一次播放1000次以上,而一次播放1次 这是我用来播放音效的代码: if (map[x][y] == 1) { car.speed = 0; crash.Play(); } crash是soundEffect的名称 提前
if (map[x][y] == 1)
{
car.speed = 0;
crash.Play();
}
crash是soundEffect的名称
提前谢谢 如何实现这一目标的快速示例:
bool soundPlayed = false; //This would be in a INIT method somewhere
if (map[x][y] == 1)
{
if (!soundPlayed)
{
car.speed = 0;
crash.Play();
soundPlayed = true;
}
}
else
{
soundPlayed = false; //Reset once condition is false
}
我不得不建议你读一本关于Xact的好教程 你会认为这种方法比你正在尝试使用的方法更难,但它在未来会更灵活:)
或者您可以从声音中使用pause()方法。请确保不要将第一行“bool soundplayed=false”放在同一位置,在运行此代码之前,它应该初始化一次。是的,我确实将其放在顶部代码中,只执行一次。但它不起作用。你用什么做音响引擎。是XACT吗?