我想知道是否有人可以帮助我使用Flash中的动作。
当我点击按钮时,我想要一些不同的按钮并播放不同的声音循环,但是由于音乐旋律,每个循环必须在另一个循环完成时启动。有谁可以帮助我?
谢谢
特雷莎
答案 0 :(得分:1)
通过在AS3中使用SoundChannel类,您可以获得addEventListener - Event.SOUND_COMPLETE,它将通知您声音完成,然后您可以播放下一个声音
答案 1 :(得分: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"));
}
这会在按下按钮时加载声音,但仅在当前声音播放完毕时才播放声音,如果在播放时未按下按钮,则会循环播放当前声音。祝你好运!