• 締切済み

loadMovieでの読み込み後について

aaa.swfにボタンがあります。 そのボタンに on(release){  loadMovie("bbb.swf",1) } とASを記述しています。 ボタンを押すと正常に読み込まれ、bbbが重なって再生されるのですが、aaaのボタンも操作可能となってしまいます。 bbbにも沢山ボタンはあるため、bbbを表示している間、aaaの全てのボタンを操作不可にし、bbbを消した後また操作可能といったようにしたいのですが、これといって良い方法が見つかりません。 なにか良い方法はありますか?

みんなの回答

noname#35109
noname#35109
回答No.1

普通は, aaa.swf の各ボタンにインスタンス名を付けて, その各ボタンの enabled プロパティ を, false(この場合は無効)にしたり, true(この場合は有効) にすることによって, ボタン機能の有効と無効を切りかえます。 my_btn0 ~ my_btn3 というインスタンス名のボタンを無効にする場合について, その部分だけを書けば, _root.my_btn0.enabled = false; _root.my_btn1.enabled = false; _root.my_btn2.enabled = false; _root.my_btn3.enabled = false; もしくは, for (i=0; i<=3; i++) { _root["my_btn"+i].enabled = false; } というような感じです。 しかし, ボタンがたくさんあって, インスタンス名を付けきれないようでしたら, for-in文 でオブジェクトを取ってきて, その取ってきたオブジェクトのボタン機能を無効にする方法もあります。 現状からすればこちらの方が簡単かもしれません。 外部 bbb.swf ファイル をレベル 1 にロードするボタンのスクリプト↓。 ///////////////////////////////////////////////// on (release) { // 外部 swfファイル をレベル 1 にロード loadMovieNum("bbb.swf", 1); // // レベル0 の全プロパティを取り出す for (myObj in _level0) { // プロパティが object(ボタンはobjectでしか取れない) であれば if (typeof _level0[myObj] == "object") { // その object のボタン機能を無効にする _level0[myObj].enabled = false; } } } ///////////////////////////////////////////////// bbbを消すボタン(bbb.swf を unloadMovie する bbb.swf 内にあるボタン)のスクリプトは, 上のスクリプトの逆になりますから,次のようになります↓。 ///////////////////////////////////////////////// on (release) { // _level0 の全プロパティを取り出す for (myObj in _level0) { // プロパティが object であれば if (typeof _level0[myObj] == "object") { // その object のボタン機能を有効にする _level0[myObj].enabled = true; } } // // レベル1 からムービーをアンロード unloadMovieNum(1); } ///////////////////////////////////////////////// ◎参考URL forステートメント http://1art.jp/flash/le/lesson36/lesson36.htm --> 上記URLの for-inループ の項目 ~Flash8ドキュメンテーション(ヘルプ)より~ 「enabled (Button.enabled プロパティ)」 http://livedocs.macromedia.com/flash/8_jp/main/00001988.html 「typeof 演算子」 http://livedocs.macromedia.com/flash/8_jp/main/00001857.html

future_100
質問者

お礼

とても詳しい回答ありがとうございます。 サンプルスクリプトまで書いてもらってもう感謝感謝です! おかげで成功できました。 本当にありがとうございました。

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

関連するQ&A

  • loadMovieとprint

    初めまして。質問させて下さい。 aaa.swfというファイルでloadMovieを使ってbbb.swfというファイルを読み込み、bbb.swfファイル内のボタンでprint();を使うと、大元のaaa.swfのみが表示されてプリントされてしまいます。 しかも何枚もプリントされてしまします。 記述は on (release) { print("print_mc.#p","bmovie"); } です。 bbb.swfの中にprint_mcというムービークリップがありインスタンス名にprint_mcを付けています。 どうにかbbb.swfが表示されている状態でプリントしたいです。 mac FlashMX2004 確認はSafari , IE , ネスケでとりましたがダメでした。 説明不足かもしれませんが、どうぞ宜しくお願いします。

  • flashのloadmovieについて

    はじめましてryoといいます。 loadmovieで読み込んだswfファイルの位置は、 どうやって指定すればいいのでしょうか。 今のところ ボタンを作ってそれに on (release) { loadMovieNum ("optest.swf", 7); } このスクリプトを入れただけです。 あらかじめ用意しておいたムービークリップにサイズを合わせていたので そこに置きたいのですが、script記述がわかりません。 mcにインスタンス名は付けた方がいいのでしょうか。 よろしくお願いします。

  • 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
  • loadMovieで特定のフレームを表示したい

    お世話になっております。 loadMovieで別のswfを読み込むことができますが、読み込んだファイルの特定のフレームを表示させたいのです。 たとえば、a.swfにb.swfをloadMovieします。 a.swfには3個のボタンがあり、それぞれがb.swfの1フレーム、10フレーム、20フレームに対応します。 ひとつのボタンに、 on (release) { this.loadMovie("b.swf"); this.gotoAndStop(10); } としても表示されないのはなんとなく理解できますので、 a.swfにムービークリップ(インスタンス名load_mc)を作り、その中にロードするようにし、さらにa.swfの5フレーム目にload_mcの10フレーム目を表示するように書きました。 ボタンに on (release) { this.load_mc.loadMovie("b.swf"); this.gotoAndStop(5); } 5フレーム目に this.load_mc.gotoAndStop(10); やはり、うまくいきません。 私の考え方が悪いのでしょうか? どうすればいいですか? どなたかよろしくお願いします。m(__)m WinのFLASH8使用です。

    • ベストアンサー
    • Flash
  • loadMovieされたswf上の外部Textが

    表示されず困っています。 aaa.swfの中に01_mcがあり、そこにloadMovieでbbb.swfを表示させます。 そのbbb.swfにはTextFieldがあって、変数を使って外部テキストを読み込んで表示しています。 bbb.swfのプレビューでは、TextAreaの中にはきちんと変数で指定した外部テキストが表示されますが、それをaaa.swfに読み込んだ後に見ると、テキストが表示されません。 どなたかお力をお貸しくださいませんか? 環境はMacOS10.3.9 FLASH MX2004です。 よろしくお願いします!

    • ベストアンサー
    • 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を実行することは不可能なのでしょうか? ご協力をお願いします。

  • 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
  • loadMovieの読み込み中を表示しない

    Flash Mx 2004です。 ムービークリップにloadMovieで外部画像を表示し、その上にボタンをのせているのですが、画像が出るまでの間ボタンだけが表示されている状態になっています。画像とボタンを同時に表示するにはどうしたらいいのでしょうか?このムービークリップは5フレーム目にあります。 以下の2種類の方法をためしてみましたがうまくいきません。どちらの方法でもまた別の方法でもよいのでよろしくお願いします。 ●読み込み後のフレームへ移動 このムービークリップは別画像をクリックしたら表示されるようにしているので、その画像のアクションに on(release) { _root.gotoAndPlay(6); //5フレーム目の次を表示 } と記述したのですが、これだとなぜかloadMovieの読み込み画像が出ません。 ●最初から読み込んでおいて非表示にしておく ムービークリップを1フレームに配置し [レイヤー名またはインスタンス名]._visible=false; としたのですが非表示になりません。

    • ベストアンサー
    • Flash
  • loadMovieとonEnterFrameについて

    はじめまして FLASH8を使用しています。 ActionScript初心者です。よろしくお願いします。 単体のswfだと機能するのですが、loadMovie後機能しなくなってしまいます。 読み込ませる側のアクションは ▽ボタンシンボルに on (press) { _root.moveMenu_1 = -138; menu_name.text = "キッズメニュー"; menu_text.text = kidsData; } ▽フレームアクション loadVariables("kidsmenu.txt", this); loadVariables("menmenu.txt", this); loadVariables("ladymenu.txt", this); loadVariables("seniormenu.txt", this); moveMenu_1 = -296; this.onEnterFrame = function() { img_y._x += ((0-moveMenu_1)-img_y._x)*0.1; }; MCのインスタンス名は「img_y」です。 他にボタンが3つほどあります。 swf単体だと機能します。 loadMovie後text・外部テキストは読み込むのですが、スクロールしなくなってしまいます。 これを3_1.swfとしました。 読み込む側のアクションは ▽ボタンシンボルに on (press) { _root.moveMenu = 2100; } 他に4つほどボタンがあります。 ▽フレームアクション scroll_flag = 0; moveMenu = 0; this.onEnterFrame = function() { if (scroll_flag == -1) { if (back_img._x<0) { moveMenu -= 20; } else { moveMenu = 0; } } if (scroll_flag == 1) { if (back_img._width+back_img._x>700) { moveMenu += 20; } else { moveMenu = 2800; } } back_img._x += ((0-moveMenu)-back_img._x)*0.1; }; back_img.c_1.loadTarget.loadMovie("1_1.swf"); back_img.c_2.loadTarget.loadMovie("2.swf"); back_img.c_3.loadTarget.loadMovie("3_1.swf"); back_img.c_4.loadTarget.loadMovie("4.swf"); back_img.c_5.loadTarget.loadMovie("5.swf"); スクロールするMCを「back_img」としました。 他に読み込んだものは機能したんですが 3_1だけうまく機能しません。 長々と失礼しました。

    • ベストアンサー
    • Flash
  • loadMovie の拡大縮小

    初めまして、ActionScript についてご質問があります。 loadMovie で外部ファイルのswfを、ムービークリップ「screen」で表示させています。 ボタンで以下のActionScriptを使って、 「screen」を拡大縮小しようと思っております。 on(release){ screen._xscale *=1.2; //幅を1.2倍に拡大 screen._yscale *=1.2; //高さを1.2倍に拡大 } on(release){ screen._xscale /=1.2; //幅を1/1.2倍に縮小 screen._yscale /=1.2; //高さを1/1.2倍に縮小  } これだと無限に拡大縮小ができてしまいます。 上限下限を設定することは可能でしょうか? よろしくお願いいたします。

    • ベストアンサー
    • Flash