在as3中重叠声音

时间:2014-02-09 20:02:20

标签: actionscript-3 audio overlap

好的,所以我正在制作游戏,我无法弄清楚如何防止音轨重叠。当游戏进入输赢屏幕时,我会点击“再次播放”,声音会重叠。我在它自己的图层上有声音。这是我到目前为止所拥有的。

var snd_SolidState = new SolidState();
snd_SolidState.play(0,1);

在第2层第2和第3层,我有:

snd_SolidState.stop();
snd_SolidState = null;

它说“停止”不是一个功能。那么我怎么能让这首歌停在输赢屏幕上? SolidState就是这首歌。

如果代码与点击“再次播放”按钮有关,则以下是这些代码。

mc_again.addEventListener(MouseEvent.MOUSE_UP,upAgain);
function upAgain(e:MouseEvent){
gotoAndStop(1);
}

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

您需要使用SoundChannel来停止音乐。看看这个教程。

http://www.republicofcode.com/tutorials/flash/as3sound/

答案 1 :(得分:0)

变量 snd_SolidState 声音对象,声音没有实现 stop 方法;然而,声音 .play()会返回一个 SoundChannel 对象...

因此您可以存储( snd_SolidState.play()返回的 SoundChannel 对象),稍后您可以使用该对象来停止播放歌曲。

PS:我建议你开始输入变量(例如: var snd_SolidState:Sound; ),这样你就会强迫自己知道你要处理的是哪种对象类型有,并可以找到它的参考;在这种情况下Sound.play()

祝你好运:)