我正在Xna中构建一个游戏,并且我的声音效果会保持循环,这很明显,因为声音是通过更新方法播放的。
这些声音实际上不是一次播放1个,但就像我的汽车碰撞到一个名为tile 1的瓷砖一样,它会一次播放1000次以上。
如何防止声音一次播放1000次以上,让它一次播放1次?
这是我用来播放音效的代码:
if (map[x][y] == 1)
{
car.speed = 0;
crash.Play();
}
crash是soundEffect的名称。
提前致谢!
答案 0 :(得分:2)
答案 1 :(得分:0)
如何实现这一目标的快速示例:
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
}