loadMovieのswf読み込み時の一瞬で困っています

このQ&Aのポイント
  • 初心者の質問者は、loadMovieを使用して外部swfを読み込む際に、_rootの画像が一瞬表示されてしまう問題に困っています。
  • 作業内容は、top.swfにメニューを配置し、リンクを貼り、loadMovieを使用してswfファイルを切り替えることです。
  • 外部swfファイルの背景の問題と思われ、ドキュメントサイズと同じサイズの背景色のムービークリップを配置しましたが、一瞬ではあるものの_rootの画像が表示されてしまいます。スムーズな切り替えをするための方法を教えていただけないでしょうか。
回答を見る
  • ベストアンサー

loadMovieのswf読み込み時の一瞬

制作環境  windows vista flash CS3 Professional ------------------------- flash初心者です。 loadMovieで外部swfを読み込む前に一瞬_rootの画像が表示されてしまうことで困っています。 作業としては、 top.swfにメニューをつけ、リンクを貼って loadMovieでswfを切り替えています。 以下3つは読み込む外部ファイルです。 ・about.swf ・catalog.swf ・service.swf top.swfに配置したメニューボタン(about、catalog、service)に下記の記述をし、 ■aboutボタン on (release) { _root.moviearea.loadMovie("about.swf"); } ■catalogボタン on (release) { _root.moviearea.loadMovie("catalog.swf"); } ■serviceボタン on (release) { _root.moviearea.loadMovie("service.swf"); } ボタンを押すと_rootにそれぞれちゃんと読み込まれるまではいきました。ですがその際、例えばabout.swfが読み込まれた後に他のボタンを押して別のswfファイルを読み込む一瞬、_rootに配置してある画像がちらっと表示されてしまいます。 色々調べて外部swfファイルの背景の問題かもしれないと思い、ドキュメントサイズと同じサイズの背景色で塗りつぶしたムービークリップを配置するなどしてみましたが、やはり一瞬ですが_rootの画像が見えてしまいました。 外部ファイルから外部ファイルへスムーズに切り替えができるようにするにはどのようにしたらよいのでしょうか。 どなたかお力をお貸しくださいませんか? よろしくお願いします。

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

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

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

1つのムービークリップにロードするのではなく, 少なくとも2つ以上のムービークリップを用意して, その2つ以上のムービークリップに何某かのSWFをロードして, そのロードしたムービークリップを, それ以外のムービークリップの上(高い数値の深度)に持ち上げてやれば良いと思います。 具体的な方法やスクリプトは様々です。 たとえば現在作成されている状態であれば, ムービークリップ moviearea 内に新しい2つのムービークリップを作成して, その2つのムービークリップに交互に何某かのSWFをロードさせても良いと思います。 ムービークリップ moviearea 内に新しい2つのムービークリップを作成するのが手間であれば, 次のように ActionScript で作成しても良いと思います。 ムービークリップ moviearea が存在する _root のフレームに次のように書きます。 --------------------------------------------- // moviearea 内の 深度0 に空のMC 「my_mc0」 を作成 moviearea.createEmptyMovieClip("my_mc0", 0); // moviearea 内の 深度1 に空のMC 「my_mc1」 を作成 moviearea.createEmptyMovieClip("my_mc1", 1); // 変数 my_bit の初期化 var my_bit:Number = 1; --------------------------------------------- これで, ムービークリップ 「my_mc0」 と 「my_mc1」 が自動的に moviearea 内に作成されて, それを切り替えるための変数 「my_bit」 が用意されます。 そして,各ボタンには次のように書きます。 ■aboutボタン ----------------------------------------- on (release) { // my_bit が 0 であれば 1 に, 1 であれば 0 にする _root.my_bit ^= 1; // moviearea 内の my_mc0 か 1 に about.swf をロード _root.moviearea["my_mc"+_root.my_bit].loadMovie("about.swf"); // その my_mc0 か 1 を深度1にする _root.moviearea["my_mc"+_root.my_bit].swapDepths(1); } ----------------------------------------- ■catalogボタン ----------------------------------------- on (release) { // my_bit が 0 であれば 1 に, 1 であれば 0 にする _root.my_bit ^= 1; // moviearea 内の my_mc0 か 1 に catalog.swf をロード _root.moviearea["my_mc"+_root.my_bit].loadMovie("catalog.swf"); // その my_mc0 か 1 を 深度1 にする _root.moviearea["my_mc"+_root.my_bit].swapDepths(1); } ----------------------------------------- ■serviceボタン ----------------------------------------- on (release) { // my_bit が 0 であれば 1 に, 1 であれば 0 にする _root.my_bit ^= 1; // moviearea 内の my_mc0 か 1 に service.swf をロード _root.moviearea["my_mc"+_root.my_bit].loadMovie("service.swf"); // その my_mc0 か 1 を 深度1 にする _root.moviearea["my_mc"+_root.my_bit].swapDepths(1); } ----------------------------------------- 上にも書きましたが, 具体的な構造作成やActionScriptの書き方は様々です。 ですから,上に示したものはほんの一例です。 function を用意するなどすれば, 工夫次第で,もっとスマートな書き方もできると思います。

che0619
質問者

お礼

BlurFiltanさん、丁寧で分かり易い回答ありがとうございました。 ソースをそのまま貼り付けたら希望通りの動きになりました! 本当にありがとうございます。

その他の回答 (1)

noname#77303
noname#77303
回答No.1

こんにちは。 CS3よりも古いバージョンなので詳しくは分からないのですが、あらかじめ読み込んで置く事は出来ませんか? 今の状態だと ◆ボタンを押す → 読み込む → 表示する と、なっているので読み込み中に空白の時間が出来るはずです。 ◆読み込む(隠しておく) → ボタンを押す → 表示する とすれば解決するはずです。

関連するQ&A

  • flashで、レベルの違うボタンから外部swfファイルの読み込み

    flash初心者のkiyuです。 メインのflashサイトに外部swfファイルを読み込みたいのですが、上手くいきません。 1.mcはrootにおいてあります。 2.ボタンは2つあり、1つはおなじrootの同じステージ内。そして、2つ目のボタンは違うレベルにあります。 3.同じrootにあるボタンは読み込み可能。でも、違うレベルにあるボタンは読み込み不可。 コードは、 on(release){ _root.gotoAndPlay("フレーム名"); _root.mcのインスタンス名.loadMovie("外部ファイル名.swf"); } です。 いろいろ思考錯誤をくりかえしたのですが、どうにも上手くいきません。。。 よろしくお願いします。

  • 外部swfファイルの閉じ方

    メインに"stage2というmcを配置し、123.swfを読み込むボタンを配置しました。 ボタンスクリプト: on (release) { _root.construction(); loadMovie("123.swf", "_root.stage"); _root.stage.swapDepths(5); for (i=1; i<=4; i++) { _root["m_"+i]._visible = false; } 開いた外部swfファイルを閉じる設定をしたいのですが、どのようにすればよいでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • loadMovie()を組み込んだswfファイルをさらに別のswfファイルで読み込みたい。

    ActionScript初心者です。よろしくお願いいたします。 掲題の通りなのですが、外部のjpgファイルをloadMovieで読み込むswfファイルを、さらに別のswfファイルで読み込みしようとすると、jpgが表示されずに困っています。具体的には以下の通りです。 (1)jpgファイルを読み込むswfファイルについて ・ファイル名:「sub_screen.swf」 ・ムービークリップシンボル(インスタンス名"PHOTO_STAGE")に外部のjpgファイルを読み込ませるために、ボタンに以下のスクリプトを記述 "on(release){loadMovie("photo1.jpg",_root.PHOTO_STAGE);}" ・「sub_screen.swf」及び「photo1.jpg」は同一フォルダに保存 (2)sub_screen.swfを読み込むswfファイル ・ファイル名:「main_screen.swf」 ・ムービークリップシンボル(インスタンス名"STAGE")に「sub_screen.swf」を読み込ませるべく、ボタンに以下のスクリプトを記述 "on(release){loadMovie("sub_screen.swf",_root.STAGE);}" ・「main_screen.swf」、「sub_screen.swf」及び「photo1.jpg」は同一フォルダに保存 以上のような条件で「main_screen.swfファイル」を実行すると、jpgファイルだけが表示されません。(sub_screen.swfのボタン等は表示されます。)2重にloadMovieを実行することは不可能なのでしょうか? ご協力をお願いします。

  • ボタンを押した時、外部swfを読み込み

    ムービークリップ内のボタン(写真のサムネイル)を押した時、外部.swf(写真やコメントを書いたswf)を読み込もうとしております。 _rootに空のムービークリップを配置し、インスタンス名を load_mcと指定。 _rootに配置したムービークリップの中に配置してあるボタンに on (release) { this._parent.load_mc.loadMovie("comment.swf"); } と書きました。しかしボタンを押してもcomment.swfが表示されません。 解決方法をお教えください。よろしくお願いいたします。

  • loadMovieで外部swfの読込みについて

    現在、外部swfを連続で再生させるフラッシュを作成中です。 以下の方法で実現しています。 ------------------------------------------------- 親SWFの_rootに,例えば「loadMC」というインスタンス名のムービークリップを作ります。 このMCは小さくて透明のMCか,中に何も入っていない空のMCが良いと思います。 そして,親SWFのフレームのスクリプトに _root.loadMC.loadMovie("movie1.swf"); と書けば,「loadMC」というインスタンス名のムービークリップに「movie1.swf」が読み込まれます。 またはボタンにスクリプトを書いて,ボタンで読み込みをさせても良いです。 そして,「movie1.swf」の最終フレームに, _root.loadMC.loadMovie("movie2.swf"); と書いておきます。これで同じ「loadMC」に「movie2.swf」が読み込まれます。 同じ所に新たなムービーを読み込むと自動的に前のムービーは unload されるので, unloadMovie(); は必要ありません。 「movie2.swf」の最終フレームには _root.loadMC.loadMovie("movie3.swf"); 「movie3.swf」の最終フレームには _root.loadMC.loadMovie("movie4.swf");   …  … ------------------------------------------------- 作成後のプレビュー又はswfをダブルクリックなどで直接表示させると正常に表示されます。 しかし、HTMLに埋め込むと真っ白な状態でまったく表示されません。 調べているのですが原因がわかりません。 どなたかご教授のほど宜しくお願い致します。

    • ベストアンサー
    • Flash
  • トゥーインで動くMCへ、外部swfをloadMovie

    どなたか教えて下さい。 【例】 stage(W=400XH=200)の大きさの元swf上に、W=200,H=100の大きさのMC(インスタンス名は"aa_mc")を、右端から左端へ、モーショントゥーインを使って移動します。 単純に5フレーム使って移動して、5フレーム目で左端にきて「stop」します。 そのaa_mcの下に、ボタンがあり、そのボタンに on (release){ _root.aa_mc.loadMovie("gaibu.swf"); //gaibu.swfは同じフォルダ内にあるaa_mcと同じ大きさのswf } で、読み込ませたいんですが、aa_mc自体が動いている瞬間に一瞬だけ表示されてすぐに消えてしまいます。 厳密に言えば、_rootの1フレーム目くらいで表示され、4フレーム目くらいには消えてしまうんですが、これってどうすれば直るんでしょうか? どなたか教えてください! FRASH MX 2004を使っています。 お願いします。

    • ベストアンサー
    • Flash
  • 「swfファイルが読み込まれたら」という条件文をASで書くと・・?

    行き詰まってしまいました。 わかる方居られましたら、アドバイスいただけないでしょうか。 例えば、以下のような構成になっていると仮定します。 load.swfという読み込み元のファイルがあって、ボタンが3つ。 それに「loadarea」と名前をつけたMCを、外部swfの読み込み用エリアとして配置しました。 同じ階層(フォルダ内)に ・sample1.swf ・sample2.swf ・sample3.swf 上記のように構成されているとします。 load.swf内の「ボタン1」を押すと、外部swfファイルのsample1.swfが読み込まれるというスクリプト(以下)をボタン1に記述しました。 on(release){ loadMovie("sample1.swf", _root.load_area); } ここからが問題なのですが、 上記のように、外部swfファイルが読み込まれたら何々する(例えば、sample1が読み込まれたら、load.swf内のボタン1のアルファ値を変更する)というようなスクリプトを組みたいんですが、上手くいきません。 if文で記述することは可能なんでしょうか?

    • ベストアンサー
    • Flash
  • loadMovieで複数のswfを読み込んだ時に、短いswfにあわせて全部の読み込んだものが点滅してしまう。

    loadMovieで複数のswfを読み込んだ際、 読み込んだ中の一番短いswfにあわせて、 読み込んだ全部のswfファイルが読み込み直しされているのか、 一瞬消えてまた表示されるような感じになっています。 HPトップのタイトルに短いswfアニメを入れ、 ボタンもリストダウンする構成にしているので、 土台にこの2つを読み込んでいるのですが、 タイトルのアニメが終わるとボタンの画像も一瞬消えてしまいます。 タイトルを(ループ再生という言い方でしょうか?)エンドレスで 繰り返し、ボタンも常に表示状態にさせたいです。 おわかりになる方、どうか教えて頂きたいです。

    • ベストアンサー
    • Flash
  • loadMovieで読みこんだswfから音が出ない

    Flashのオープンソースであるページめくり(http://pageflip.hu/pageflip2/index.phpからダウンロード。)ファイルを空のムービークリップに(clip_mc)外部ファイルのswfとして読み込ませてプレビューしてみたのですが、読み込ませるとページをめくる音が出ません。 //空のムービークリップのactionは clip_mc.loadMovie("pageflip_v225 2.swf"); 複数の本を入れ替わり読み込ませる形を取りたいのでこうしようと思ってるのですが、音が出ないとリアル感がないのでなんとか音が出るようにしたいのですがどうすればよいでしょうか。(pageflip_v225 2.swfのプレビューは音が出るのは確認済み。loadMovieさせると音が出ない) ちなみに簡単な音の出るボタンを配置した外部swfは音が出るので、このpageflip_v225 2.swfに何か問題があるのかとも思ったのですが、何ぶんプログラムをまるで分かってないので対処に困っております。 どなたかお分かりの方がいらっしゃいますでしょうか?

    • ベストアンサー
    • Flash
  • jpgを外部リンクさせswfで書き出し、loadmovieで読み込む

    こんにちは、よろしくお願いします。 WinXPでFlashMXを使用しています。 タイトルの通り、jpg画像を外部リンクさせたものをswfで書き出し、そのswfファイルをloadmovieで読み込みたいのですが、jpg画像が表示されません。 jpg画像以外のテキスト文字などは正常に表示されます。 jpg画像を外部リンクさせ、swfで書き出すところまでは正常に表示されるのですが、そのswfファイルをloadmovieで読み込ませると画像だけが表示されません。 お分かりになる方がいらっしゃいましたら、ぜひ御回答お願いします。

専門家に質問してみよう