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"));
}
これにより、ボタンが押されたときにサウンドがロードされますが、現在のサウンドの再生が終了したときにのみ再生され、再生中にボタンが押されていない場合は、現在のサウンドがループされます.Best Of Luck!!