2011-02-07 10 views
0

FLVビデオをFLVPlaybackコンポーネントにロードし、seekBarコンポーネントをアタッチするAS2 swfがあります。ビデオが停止すると、画面からシークバーをアンロードし、FLVPlayback.seekBar = nullを設定します。別のビデオを再生するときは、seekBarコンポーネントをステージにアタッチし、FLVPlayback.seekBar = newSeekBarInstanceを割り当てて、シークバーを再度設定します。ここで AS2のステージからFLV seekBarコンポーネントを削除する際の問題SWF

は私のコードです -

(my_video = FLVPlaybackコンポーネントが)映像が停止した

var theSeekBar = _root.attachMovie("SeekBar", "vidSeekBar", this.getNextHighestDepth()); 
_root.my_video.seekBar = theSeekBar; 

-

イム気づかは時々から削除されたバーを求めることは何
_root.my_video.seekBar = null; 
_root.vidSeekBar.handle_mc.unloadMovie(); 
_root.vidSeekBar.unloadMovie(); 
_root.vidSeekBar.removeMovieClip(); 

画面と時々それはisntですか?私はここでどんなパターンにも気付かないようです。誰も同じような問題を抱えていますかガベージコレクションを強制する必要がありますか?

+1

答えがわかりませんが、シークバーを隠すのではなく、それを隠す傾向があることは確かです。 - _root.my_video.seekBar._visible = false; '_root.my_video.seekBar._visible = true;'明らかにする。 – duncmc

答えて

0

unloadMovie()は、ロードしたクリップがloadMovie()の場合のみ動作します。他のステージインスタンスには影響しません。

あなたがステージ上でインスタンスを作成した場合、あなたはそれにこれ以上の言及がない限り、そうattachMovie()removeMovieClip()を使用し、nullにシークバー変数を設定すると、それはゴミが収集したのに十分でなければならない(おそらくいくつかのイベントリスナーを?)どこかelse。

私は@duncmcに同意します:シークバーを繰り返し作成したり削除したりするのではなく、隠すことを検討する必要があります。

関連する問題