我想知道是否有人可以帮助我使用 Flash 中的动作脚本。
当我单击按钮时,我想要一些不同的按钮并播放不同的声音循环,但是由于音乐旋律,每个循环都必须在另一个循环完成时开始。谁能帮我?
谢谢
特蕾莎
通过在 AS3 中使用 SoundChannel 类,您可以获得 addEventListener - Event.SOUND_COMPLETE,它会通知您声音完成,然后您可以播放下一个声音
好吧,我假设您要播放与按下的最后一个按钮相关的声音,而不是一起播放许多声音。
所以你有一个全局声音变量,你可以在按下按钮时改变它
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"));
}
这将在按下按钮时加载声音,但仅在当前声音完成播放时播放,如果在播放时未按下按钮,它将循环播放当前声音。祝你好运!