好的,所以我正在制作游戏,我无法弄清楚如何防止音轨重叠。当游戏进入输赢屏幕时,我会点击“再次播放”,声音会重叠。我在它自己的图层上有声音。这是我到目前为止所拥有的。
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);
}
有人可以帮忙吗?
答案 0 :(得分:1)
您需要使用SoundChannel来停止音乐。看看这个教程。
答案 1 :(得分:0)
变量 snd_SolidState 是声音对象,声音没有实现 stop 方法;然而,声音 .play()会返回一个 SoundChannel 对象...
因此您可以存储( snd_SolidState.play()返回的 SoundChannel 对象),稍后您可以使用该对象来停止播放歌曲。
PS:我建议你开始输入变量(例如: var snd_SolidState:Sound; ),这样你就会强迫自己知道你要处理的是哪种对象类型有,并可以找到它的参考;在这种情况下Sound.play()。
祝你好运:)