Flash8 ActionScriptの事で伺います。

いま、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);

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2007/08/08 21:54:23
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:NYO No.1

回答回数35ベストアンサー獲得回数8

ポイント27pt

"保持"という点で一番手っ取り早いのは、

new_mcの_visibleプロパティを変更して、

表示をオンオフさせるのがいいかと思います。


"スライドショーの間隔がおかしくなる"

というのが具体的にどのような現象かわかりません。

読み込んだswfはキャッシュするのが普通ですし、

キャッシュされること自体が問題の原因だとしたら、

コピーされた複数のファイルを用意するなどしなければならないでしょう。(例)


問題から若干逸れますが、

生成したMCを削除したいのであれば、

  1. removeMovieClipを使用する
  2. 同一の名前で再生成する
  3. 同一の深度に生成する

という方法があります。(もちろん1を推奨)

id:graypenguin

生成したMCを削除では、質問にも書いた、ロジックで、2. 3. は実現していると思うのですが。

毎回、スライドショーを表示するフレームで質問のロジックは実行されています。

又、traceで、new_mcはフレームを移動した時点で消滅しているようで、その為、再度質問のロジックを実行しているわけですが、過去に読み込んだSwfのタイムラインと再度読み込んだSwfタイムラインが2重3重になり、例えば2秒ごとに画像が変わっていたものが、立て続けに変わったりし始めると言うことです。

2007/08/07 15:07:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません