2014-02-09 97 views
0

好的,所以我正在制作一款游戏,但我无法弄清楚如何保持音轨不重叠。当游戏进入失败或赢得屏幕时,我将点击“再次播放”,声音将重叠。我有它自己的层上的声音。这是迄今为止我所拥有的。as3中重叠的声音

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

可变snd_SolidState声音对象,声音没有实现的停止方法;该声音 .play(),然而,返回的SoundChannel对象,它不...

所以,你可以存储(由snd_SolidState.play(返回的SoundChannel对象)),它可以稍后用来停止歌曲。

PS:我建议你开始输入您的变量(如:VAR snd_SolidState:声音;),这样,你强迫自己知道哪些对象,你跟谁打交道,可以找到它引用类型;在这种情况下是Sound.play()

祝你好运:)

+0

感谢您的帮助! – FunnyBone