0

我想知道是否有人可以帮助我使用 Flash 中的动作脚本。

当我单击按钮时,我想要一些不同的按钮并播放不同的声音循环,但是由于音乐旋律,每个循环都必须在另一个循环完成时开始。谁能帮我?

谢谢

特蕾莎

4

2 回答 2

1

通过在 AS3 中使用 SoundChannel 类,您可以获得 addEventListener - Event.SOUND_COMPLETE,它会通知您声音完成,然后您可以播放下一个声音

于 2012-06-14T09:34:36.023 回答
0

好吧,我假设您要播放与按下的最后一个按钮相关的声音,而不是一起播放许多声音。

所以你有一个全局声音变量,你可以在按下按钮时改变它

var sound:Sound=new Sound(new URLRequest("music.mp3"));
var soundChannel:SoundChannel=new SoundChannel();
soundChannel=sound.play();
soundChannel.addEventListener(Event.SOUND_COMPLETE,loop_Sound);
function loop_Sound(e:Event){
      soundChannel=sound.play();
      //I know you don't need to add the listener again to the sound channel 
      //but this is something i just do
      soundChannel.addEventListener(Event.SOUND_COMPLETE,loop_Sound); 
}
//call this function when the button is pressed
//you could name the button name as the sound file's name 
//and use e.currenttarget.name or something
function change_Sound(e:MouseEvent){
   sound=new Sound(new URLRequest("music2.mp3"));

}

这将在按下按钮时加载声音,但仅在当前声音完成播放时播放,如果在播放时未按下按钮,它将循环播放当前声音。祝你好运!

于 2017-03-09T18:33:15.837 回答