いま、MC(MovieClip)内に、画像のスライドショーを表示するswfファイルをMovieClipLoaderを使って任意のキーフレーム上で読み込み表示するようにしています。(読み込むMCは、ステージ上に表示されるMCのcreateEmptyMovieClipで生成)最初のロード時は問題なく、読み込みスライドショーが始まるのですが、メニューボタンを設置、別のタイムラインにgotoAndPlayしたのち、先ほどのフレームに戻ると、再度、swfを読み込みスライドショーが始まるのですが、前に呼んだswfがキャッシュしているのか、スライドショーの間隔がおかしくなります。
createEmptyMovieClipで生成したMCを別キーフレームに移動しても保持しておく、もしくは、過去に読み込んだswfを完全に削除する方法はありませんか?
traceで、確認してみたのですが、キーフレームを移動したのち戻ってくると、生成したmc自体は消えているようです。
ソースは
再生されるフレームのアクションフレーム内で、
new_mcIns = this.insert_mc.createEmptyMovieClip("new_mc", this.insert_mc.getNextHighestDepth());
new_mcIns._lockroot = true;
my_mcl = new MovieClipLoader();
my_mcl.loadClip("load.swf", new_mcIns);
"保持"という点で一番手っ取り早いのは、
new_mcの_visibleプロパティを変更して、
表示をオンオフさせるのがいいかと思います。
"スライドショーの間隔がおかしくなる"
というのが具体的にどのような現象かわかりません。
読み込んだswfはキャッシュするのが普通ですし、
キャッシュされること自体が問題の原因だとしたら、
コピーされた複数のファイルを用意するなどしなければならないでしょう。(例)
問題から若干逸れますが、
生成したMCを削除したいのであれば、
という方法があります。(もちろん1を推奨)
生成したMCを削除では、質問にも書いた、ロジックで、2. 3. は実現していると思うのですが。
毎回、スライドショーを表示するフレームで質問のロジックは実行されています。
又、traceで、new_mcはフレームを移動した時点で消滅しているようで、その為、再度質問のロジックを実行しているわけですが、過去に読み込んだSwfのタイムラインと再度読み込んだSwfタイムラインが2重3重になり、例えば2秒ごとに画像が変わっていたものが、立て続けに変わったりし始めると言うことです。