我的项目中有一个背景音。但是当我点击按钮到其他场景时,声音会重复,更糟糕的是,它会与下一个场景中的声音重叠。我试图在整个项目中使用一首背景歌曲但是这个问题发生了。可以教我怎么样?
我正在使用Adobe Flash CS6。谢谢。
答案 0 :(得分:1)
声音正在重复,因为默认情况下时间轴正在重复,您应该在actionscript中添加命令stop()
。你没有提供任何源代码,所以我假设你没有任何源代码,在你的情况下,这是一个循环背景音乐的动作脚本中的示例程序。
import flash.events.MouseEvent;
stop(); //<-- make sure to stop timeline
var bgMusic:Sound = new BGMusic();
var bgChannel:SoundChannel = new SoundChannel();
bgChannel = bgMusic.play();
bgChannel.addEventListener(Event.SOUND_COMPLETE, loop);
startButton.addEventListener(MouseEvent.CLICK, startGame);
function startGame(e:MouseEvent):void {
gotoAndStop(1, "Scene 2"); //<-- stop after clicking button
}
function loop(e:Event):void {
bgChannel = bgMusic.play();
bgChannel.addEventListener(Event.SOUND_COMPLETE, loop);
}