0

複数のムービークリップ(「子」)を含むムービークリップ(例では「root」としましょう)を含むFlashムービーを作成しようとしています。すべての子供はmp3プレーヤーを持っています。今、私は子供たちのmp3再生ボタンを設定し、次のアクションを書きました:

 movieClip_2.addEventListener(MouseEvent.CLICK, fl_ClickToGoToAndPlayFromFrame);
 function fl_ClickToGoToAndPlayFromFrame(event:MouseEvent):void{
    gotoAndPlay(2);
 }

ここまでは問題なく動作します。ここで、再生ボタンが子をクリックするたびに、mp3ファイルの再生が終了するまでルートの移動が停止するように設定したいと思います。

それを実現するための最良の方法は何ですか?

4

1 に答える 1

0

SoundChannelクラスは、mp3の再生が終了したときにイベントを送信しますflash.events.Event.SOUND_COMPLETE。したがって、子供はこのイベントを再ディスパッチでき、ルートはそれをリッスンして、あなたが望むようにすることができます。

アップデート

このメソッドの実行は、mp3プレーヤーの実装に依存します。例:

//In a child
var sound:Sound = new Sound();   
var soundChannel:SoundChannel;
var request:URLRequest = new URLRequest("my_sound.mp3");

// Sound events listeners

soundChannel.addEventListener(Event.SOUND_COMPLETE, soundChannel_soundCompleteHandler);
sound.load(request);
soundChannel = sound.play();

soundChannel_soundCompleteHandler(event:Event):void {
    dispatchEvent(event);
}

//Somewhere in the root
mp3Child.addEventListener(Event.SOUND_COMPLETE, mp3Child_soundCompleteHandler);
于 2012-10-27T18:36:00.857 に答える