• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:flash MovieClipLoaderに関して)

【解決方法あり】Flash MovieClipLoaderで外部SWFを読み込む際の表示タイミングについて

このQ&Aのポイント
  • FlashのMovieClipLoaderを使用して外部のSWFファイルを読み込む際、表示タイミングに問題が発生しています。
  • 読み込みが完了する前にSWFの一部が表示され、正しいタイミングで表示させる方法がわかりません。
  • どのようにすれば、SWFが完全に読み込まれた時にのみ表示されるようにすることができるでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

ご質問で書かれていらっしゃる日本語を, なぞるような感じでスクリプトを書くと次のようになります。 ----------------------------------------------- var mcLoader:MovieClipLoader = new MovieClipLoader(); var listenerObject:Object = new Object(); // ロード開始時に実行 listenerObject.onLoadStart = function() { // 仮に "kara" という空のムービークリップを作成 createEmptyMovieClip("kara", 0); // kara に識別子 tenmetsu のムービークリップを attach kara.attachMovie("tenmetsu", "tenmetsu_mc", 0); // SWFをロードするムービークリップ yomikomi を停止 yomikomi.stop(); }; // ロード完了時に実行 listenerObject.onLoadComplete = function() { // ムービークリップ "kara" を削除 kara.removeMovieClip(); // SWFをロードするムービークリップ yomikomi を再生 yomikomi.play(); }; mcLoader.addListener(listenerObject); mcLoader.loadClip("xyz.swf", yomikomi); ----------------------------------------------- 上に書いたスクリプトの   // SWFをロードするムービークリップ yomikomi を停止   yomikomi.stop(); と,   // SWFをロードするムービークリップ yomikomi を再生   yomikomi.play(); の部分は, それぞれ,   // SWFをロードするムービークリップ yomikomi を非表示   yomikomi._visible = false; と,   // SWFをロードするムービークリップ yomikomi を表示   yomikomi._visible = true; などに変える必要があるかもしれません(ないかもしれません)。 この辺は,ロードされる「xyz.swf」のタイムラインの状況などによって変わります。 何にしても, SWFは何も指示しないとローカルPCにロードされる端から再生されます。 だから重いSWFであっても, 電話回線であっても,ほぼ瞬時に最初のフレームだけくらいは何のストレスもなく表示されるのです。 昔はこれをストリーミング再生と言いましたが, ストリーミング送信や配信と紛らわしいので, 最近ではプログレッシブ再生と言われることが多いです。 これは, SWF 単独再生であっても, SWF に SWF を読み込むときであっても変わりません。 ロード完了まで再生させたくないのでしたら, ロード完了までストップさせておくべきでしょう。 単純に言えばそれだけのことです。 (複雑に言えば...,難しいので説明しがたいです。)  

pory_bekk
質問者

お礼

BlurFiltanさん。ご回答ありがとうございます。 この回答を拝見する前にyomikomi._visible = false; を思いついてやってみたところ思い通りに動作しましたので とりあえず解決しました。 思いついたスクリプトが、この回答に書かれてある内容と 基本的に同じだったので安心しました。

すると、全ての回答が全文表示されます。

関連するQ&A