• 締切済み

外部ファイルの読み込みで

初心者ですがよろしくお願いいします。 外部ファイルの読み込みでLoadMovie("~.jpg")を使用しているのですが 例えばA.jpgを読み込もうとしたけれど A.jpgが見つからなかった場合の処理を設定するには どのような方法があるのでしょうか?

  • Flash
  • 回答数2
  • ありがとう数2

みんなの回答

noname#35109
noname#35109
回答No.2

#1です。 > 残念ながら、MXを使用していますので > MovieClipLoaderは使用できないようです……。 そうでしたか。 一応私なりに考えてみました。  しばらく待ってみてロードが完了しなければ→何かを実行 の方法例の1つを書きます。 ステージ上には,「my_mc」というインスタンス名の, 空(カラ)のムービークリップを用意し, そこに外部JPEG A.jpg を読み込むものとします。 まず,フレームに書くスクリプト例です。 ---------------------------------------- // ロードしたかどうかのフラグ load_flag の初期化 load_flag = 0; // my_mc に外部 JPEG ファイルを読み込む this.my_mc.loadMovie("A.jpg"); // // 一定時間待って処理する関数を定義 function mySyori() { if (load_flag == 0) { trace("★ロード失敗★"); } // setIntervalを解除 clearInterval(myID); } // // 200ミリ秒(2秒)待って mySyori を実行 myID = setInterval(mySyori, 2000); ---------------------------------------- これで, this.my_mc.loadMovie("A.jpg"); を実行した後2秒後に, function mySyori() というユーザー定義関数が実行されます。 その function mySyori() の中身は, もし 変数 load_flag が 0 であった場合, 「★ロード失敗★」を trace するというものです。 ですから, もし2秒以内に読み込まれた場合, load_flag の値を 0 以外の値にしてやれば, trace("★ロード失敗★"); は実行されないということになります。 したがって,ロードされた場合, load_flag の値を 0 以外にするスクリプトが必要になりますが, これは A.jpg を読み込む 「my_mc」 に書きます。 次のコードは, インスタンス名「my_mc」の空のムービークリップに書くスクリプトです。 --------------------------------------------- onClipEvent (load) { // もしこのムービークリップの幅が10pxより大きければ if (this._width>10) { _root.load_flag = 1; } } --------------------------------------------- 空の状態であれば,「my_mc」の横幅が 10px になっているはずはありません。 もし 10px 以上の JPEG が読み込まれれば, load_flag の値を 1 にします。 これで, フレームのスクリプトと,ムービークリップのスクリプトが連動して, A.jpgを読み込もうとしたけれど A.jpgが見つからなかった場合, trace("★ロード失敗★"); が実行されるしくみが完成します。 traceはおそらくご存じだと思いますが, 「制御」→「ムービープレビュー」で動作確認をしてみたとき, 何かを出力表示させる関数です。 ですから,「A.jpg」を存在させたり,名前を変えたりして繰り返しムービープレビューしてみると, ちゃんと動作するかどうかがわかります。 画像のファイル容量や閲覧する側の回線によって, 2秒間の間に A.jpg が読み込まれるかどうかはわかりませんが, もし,2秒の間に読み込まれるべきものであったとして, A.jpg が存在しない場合は,一応うまく行くはずの方法です。 他の方法はないものか考えてみましたが, 私が知っている範囲では, もっと良い方法は考えつきませんでした。

noname#35109
noname#35109
回答No.1

そういうことをする場合は, loadMovie ではなく,MovieClipLoader クラスのメソッドを使用するのが普通です。 ただし,Flash MX 2004 以上をお持ちであり, Flash Player 7 以上の SWF をパブリッシュする必要がありますが。 例として, my_mc というインスタンス名のムービークリップに, A.jpg をロードする場合についての MovieClipLoader クラスのメソッドを使用したスクリプトを書きます。 つまり,loadMovie メソッドでする場合は,  this.my_mc.loadMovie("A.jpg"); この↑ようになる場合のスクリプトです。 ------------------------------------------------- // my_mcl という MovieClipLoader クラスのインスタンスを作成 var my_mcl = new MovieClipLoader(); // my_obj というリスナーオブジェクトを作成 var my_obj = new Object(); // ロードできなかった(見つからなかった)ときの処理 my_obj.onLoadError = function(targetMC, errorCode, httpStatus) { trace("targetMC ="+targetMC); trace("errorCode ="+errorCode); trace("httpStatus ="+httpStatus); }; // イベントリスナーの登録 my_mcl.addListener(my_obj); // 外部ファイルのロード my_mcl.loadClip("A.jpg", my_mc); ------------------------------------------------- その他たくさんの例を書いてくれています↓。 「MovieClipLoaderクラスについて」 http://www.fumiononaka.com/TechNotes/Flash/FN0501003.html onLoadError に関しては ヘルプ の方がわかりやすいです。 Flashドキュメンテーション onLoadError (MovieClipLoader.onLoadError イベントリスナー) http://livedocs.macromedia.com/flash/8_jp/main/00002544.html Flash MX 以下しか持たれていなかったら難しいですね。  ロード完了後→何かを実行 でしたら loadMovie でも仕組みをつくれば簡単にできますが,  ロード失敗→何かを実行 となると....,  しばらく待ってみてロードが完了しなければ→何かを実行 みたいに工夫する必要があると思います。

hirary03
質問者

お礼

非常に詳しい解説ありがとうございます。 残念ながら、MXを使用していますので MovieClipLoaderは使用できないようです……。 >しばらく待ってみてロードが完了しなければ→何かを実行 この方法でやってみようと思います。ありがとうございました。

関連するQ&A

  • FlashMXによる外部Jpegファイルの読込について

     FlashMXを使用して外部のJpegファイルを動的に読み込み表示したいと考えています。    MCというmovieClipを_root直下に設置したとして、  さらにMCの中にMC2というmovieClipを設置しています。   _root.MC.MC2.loadMovie("aaa.jpg");  のようにaaa.jpgというファイルを読み込んだ場合、MC2が"aaa.jpg"と置き換えられるような形でロードされると思います。    その際に、画像ファイルのサイズが用意したmovieClipのサイズよりも大きい場合、枠をはみ出したような形で表示されてしまいます。    ロードされたJpegを、元の画像のサイズではなく伸縮して常にMCのサイズにフィットしたサイズに表示させたいのですが果たして可能でしょうか? (_root.MC._widthなどを使った間接的なサイズの変更をやってみましたが、レイアウトがどうもうまくいきませんでした。)    また、loadMovieによる読込では実現不可である場合、コンポーネントのスクロールペインなども検討しているのですが、他にも何かよい方法・アイデアなどがあればご教授ください。  よろしくお願いします。

  • 外部SWFの読み込みの無限ループ

    Flash MX 2004です。 同じ外部SWFファイルの読み込みを、かなりの短間隔で無限に繰り返したいのですが、 loadMovieで繰り返し行った場合、メモリに記録されずに、 繰り返しサーバーを呼び出してしまう可能性はありますでしょうか。 もしこの方法に問題があるのならば、何か他に良い手はありますでしょうか。 loadMovieで読み込んだ物は複製できないようなので困っています。

    • ベストアンサー
    • Flash
  • 外部swfの読込について

    1枚のFlashに二つの外部swfを読み込む方法を教えて下さい。 今参考書を見ながらやってみたのですが外部ファイルが読み込まれていないようで 書き出したswfファイルには何も表示されません。 試した方法ですが・・・ 外部swfファイル読込用ムービークリップを作成、 オブジェクトアクションを挿入 --------------------------------- onClipEvent (load) { function Load (file) {  this.loadMovie (file);   } } --------------------------------- フレームを作成し下記アクション挿入 --------------------------------- contents_mc.Load("about.swf") --------------------------------- 使用ソフトはFlash5です。 どうぞ宜しくお願いします。

    • ベストアンサー
    • Flash
  • for文での外部画像ファイルの読み込み

    ステージ上に配置している複数のMCに それぞれ外部画像を読み込もうとしています。 読み込むMCはtb1,tb2,tb3、、というインスタンス名に していますので、それぞれ tb1.loadMovie("1.jpg"); tb2.loadMovie("2.jpg"); tb3.loadMovie("3.jpg"); . . なら表示されるのですが、 MCが20個あるなら for(i=1;i<=20;i++){ var TB:String = "tb" + i; TB.loadMovie(i+".jpg"); } というように簡単な文で書きたいのですが、 上記のfor文ですとうまくいきません。 for文以外でもよい方法があれば、 よろしければ教えていただけますか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部jpg画像のフェード

    外部からjpgファイルの呼び出し自体ができません。 初心者ですみません。 環境はFlashCS3(loadMovieはサポートされていないようです) XPです。 ↓やってみた方法です。 まず例えば250*250で作るとして、 ドキュメントを250*250にします。 その後、新規シンボルで四角いシェイプを250*250で作り、レイヤー1の1フレーム目に配置しました。 レイヤー2を作り、そこにASを記入…ASは上記の通りloadMovieが使用できないので何を書いていいやらで…。 画像数は3枚です。 どうぞ宜しくお願い致します!

  • FLASH外部テキスト読込 タグを読まない

    FLASHの外部テキスト読み込み お世話になります。 アクションスクリプトがあまり分かりません(^^;) FLASH MXの外部読み込みで質問があります。 ボタンクリックで外部テキストとjpgを読み込みたいのです。 Scrollber(コンポーネント)のtarget TextFirldに ダイナミックテキストのインスタンス名を入れると スクロールはするのですが、txtファイル内のタグが 露出してしまいます。 target TextFirld、ダイナミックテキストからそれらを 除くとタグは効くようになるのですが、今度は長文でも スクロールバーが動かなくなります。 ◆ステージの1フレーム目 -------------------------------------- System.useCodepage = true; disp.condenseWhite = true; loadVariables("text/01.txt", "bun"); loadMovie("img/a.jpg", "jpeg"); ◆テキスト1ボタン -------------------------------------- on (press) { loadVariables("text/01.txt", bun); loadMovie("img/a.jpg", jpeg); } ◆テキスト2ボタン -------------------------------------- on (press) { loadVariables("text/02.txt", bun); loadMovie("img/b.jpg", jpeg); } ◆ムービークリップ名:jpeg ◆ダイナミックテキストインスタンス名:bun タグが効くようになるにはどうすればよいでしょうか? どうぞよろしくお願いしますm(_ _)m

  • 外部txtファイルを利用した画像の読み込み方について

    外部テキストファイルを利用して画像を読み込みたいのですが、できずに困っています。 『loadMovie』を利用しての画像の読み込みはできるのですが、テキストファイルに『img1=button1.jpg』のように、変数を利用して汎用性を持たせたいと思っています。 今現在、リンクやターゲットについては変数の読み込みができている状態ですが、画像の場合ですとundefinedになってしまいます。 分かりにくい質問で申し訳ありませんが、分かる方、ご教授お願いします。

    • ベストアンサー
    • Flash
  • 1つのボタンで外部ファイルを順番に読み込む

    こんにちはkanako888です。 flashMXを使用しています。 さて写真のアルバムを作っているのですが、写真は外部ファイル(jpg)にしています。 写真の入れ替えは、写真のタイトル横にボタンを作り 1つずつ入れ替えています。 (1) 犬の写真(pho00.jpg) (2) 猫の写真(pho01.jpg) (3) 金魚の写真(pho02.jpg)  (1)~(3)の番号がボタンでスクリプトをそこに入れています。 (1)のボタン on (release) { loadMovie("pho00.jpg", pho); } (2)のボタン on (release) { loadMovie("pho02.jpg", pho); } (3)のボタン on (release) { loadMovie("pho03.jpg", pho); } 外部ファイルの名前は pho00.jpg から順番に pho01.jpg pho02.jpg という風に番号が増えているだけです。 これらを利用して(しなくても) 戻るボタン と 進むボタン というのを作り どの写真が開かれてあっても、 戻るを押せば1つ前の番号の写真に 進むを押せば1つ次の番号の写真に という風には出来ませんか? どうぞ宜しくお願い致します。

    • ベストアンサー
    • Flash
  • FLASH8 外部テキストファイルの読み込みについて

    外部テキストファイルの読み込みを参考資料などを見ていると、下記のような形式で読み込みを行っているのですが。 a.txt --------------------- 任意の変数名1=値 任意の変数名2=値 任意の変数名3=値 --------------------- 下記のようなテキストファイルを読み込むことは可能でしょうか? a.txt --------------------- 2<>名前<>メールアドレス<>画像.jpg<> 1<>名前<>メールアドレス<>画像.jpg<> --------------------- ※最初の1文字目は連番の数字です 前文の方の読み込みは成功しておりますが、下の内容については、どうすればよいかわかりません・・・ 読み込みができるのであれば、各行はsplitで配列に格納したいと思っています。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Flashで外部jpgファイルをmcに読み込む際にスムージングをかける

    Flashで外部jpgファイルをmcに読み込む際にスムージングをかける方法が分からなく困っています。 初心者で、理解しづらい文章だとは思いますが宜しくお願い致します。 今は5つのボタンがありまして、 それぞれに on (release) { loadMovie("○○○.jpg", "happyboy"); } で happyboyというmcに画像が表示されるようにしています。 このままだと拡大、縮小した際に画像がギザギザになってしまうので かなり困っています。 宜しくお願い致します。

    • ベストアンサー
    • Flash

専門家に質問してみよう