• 締切済み

マウスオーバーでの外部swf読み込み

ボタンにマウスオーバーすると、外部swfを読み込むムービーを作っております。 | ̄ ̄ ̄ ̄ ̄| |    A    | |_____| ■■■■■■ こんな感じで、黒の■がそれぞれボタン、読み込むステージがAの枠です。(ちょっとズレてますが。。)■ボタンとステージaはぴったり隣接しています。 例えば、一番左の■ボタンにマウスオーバーし、Aにムービーが流れます。 このときにカーソルが■ボタン、Aの上を行き来しても、ずっとムービーが流れていて、■ボタンとAを合わせた領域をはみ出すと、はじめてムービーが消えるというものを作りたいのです。 要は、■ボタンにマウスオーバーすると、下の図の部分にカーソルが乗っている間はムービーが再生中。下の図の部分をカーソルが外れるとムービーが消えるというものです。 | ̄ ̄ ̄ ̄ ̄| |    A    | |_____| ■ これを各■ボタンに設定。そして■ボタン自体は単体で外部リンクします。 いろいろやってみたのですが、■ボタンからAに乗るとムービーが再度頭から再生したり、上図のかたまりを図形とした透明領域を作ると■ボタン単体のリンクで引っかかってしまったりと。。 良いアドバイスはないでしょうか?よろしくお願いいたしますm(_ _)m

  • nimuo
  • お礼率58% (24/41)
  • Flash
  • 回答数1
  • ありがとう数0

みんなの回答

noname#35109
noname#35109
回答No.1

1つの案です。 まず,新しいレイヤーを作成して, 「A」と周りを取り囲むように, 半透明(色は任意)な塗りを用意します。  □□□□□□□□□  □□| ̄ ̄ ̄ ̄ ̄|□□  □□|    A    |□□  □□|_____|□□  □□□□□□□□□  □□□□□□□□□ 「A」の下側の塗りの範囲は ■ のボタンを越える方が良いです。 半透明な塗りは「A」の部分だけがくり抜かれたようになっている長方形になります。 この半透明な塗りのレイヤーを ■ のボタンより下のレイヤーに移動させます。 そして半透明な塗りを選択して, ムービークリップに変換します。 そして,そのムービークリップに次のようなスクリプトを書きます。 ---------------------------------- // このムービークリップが表示されたとき onClipEvent (load) { // このムービークリップを透明に this._alpha = 0; // このムービークリップを非表示に this._visible = false; } // このムービークリップにロールオーバーしたとき on (rollOver) { trace("Aを消す"); // このムービークリップを非表示に this._visible = false; } ---------------------------------- そして,このムービークリップにインスタンス名を付けます。 この説明では「toumeiMC」というインスタンス名にしておきます。 そして, ■ のボタンには次のように書きます。 ---------------------------------- on (rollOver) { trace("外部swfを読み込む"); _root.toumeiMC._visible = true; } ---------------------------------- そして, 「制御」→「ムービープレビュー」などで実行すると, "外部swfを読み込む" や "Aを消す" が trace されると思います。 外部swfを読み込むスクリプトはどうされているのかわかりませんし, Aを消すのもどうしようとされているのかわかりませんので, 様々な場合が考えられるので,trace() で代用しました。 「Aを消す」という動作が変われば, ■のボタンの数だけ,半透明な塗りのムービークリップが必要になり, それらのムービークリップには別々のインスタンス名が必要になります。 外部SWFを同じムービークリップに読み込むようにしていて,  ムービークリップ.unloadMovie(); など共通なスクリプトで消せるのでしたら, 半透明なムービークリップは1つで済むと思います。 _visible = false; ですが, これは,本来「非表示」というスクリプトです。 しかし,これを使うと,ボタンとしての機能も無効にできます。 また, なぜ半透明な塗りを用意しているかというと, 全く透明だと,作成中に存在が見えにくいですし, 透明でないと,他の物が見えにくくなるので半透明なだけです。 作成上の都合を考えただけで, 実際は,全く透明な塗りでも,全く透明でない塗りでもかまいません。 _visible = false を使う以外では,  enabled = false; を使っても良いと思います。 半透明ムービークリップ ---------------------------------- // このムービークリップが表示されたとき onClipEvent (load) { // このムービークリップを透明に this._alpha = 0; // このムービークリップのonイベントを無効に this.enabled = false; } // このムービークリップにロールオーバーしたとき on (rollOver) { trace("Aを消す"); // このムービークリップのonイベントを無効に this.enabled = false; } ---------------------------------- ■ ボタン ---------------------------------- on (rollOver) { trace("外部swfを読み込む"); _root.toumeiMC.enabled = true; } ---------------------------------- 「Flashにおけるボタンの無効化の応用」 http://www.mediacreator.jp/tutorials/print_tutorial.asp?id=69

関連するQ&A

  • 外部swfの読み込みをくりかえして行いたい

    こんにちわ、外部のswfの読み込みたい場所を決めて、 1、ムービー再生時に外部swfを再生する 2、次に読み込ませた外部swf内に作ったボタンをおすことにより同じ場所に別の外部swfを再生する 3、新しく読み込んだものにもボタンをつけ1や2で読み込んだファイルを再生する これらのようなことをしたいのですが、ボタンを押しても反応がありません。 どのように作成したらうまくいくか知っている方いたら教えてください。

    • ベストアンサー
    • Flash
  • 0.5秒 ボタンにマウスをあて続けると外部swfが再生

    お世話になります。 //イベントボタンにマウスオーバーしたときのアクション event1.onRollOver = function(){ screen.loadMovie("a.swf"); event1.onEnterFrame = function(){ event1._y -= 2; if (event1._y<=263) { event1._y = 263; } }; }; //イベントボタンにマウスアウトしたときのアクション event1.onRollOut = function(){ event1.onEnterFrame = function(){ event1._y += 2; if (event1._y>=271) { event1._y = 271; } }; }; 上記のようにアクションスクリプトを記述しています。ボタンが全部で7個あって、各7個のボタンにロールオーバーすると、それぞれ違う外部ファイルを読み込むようにしています。 が、これだけだとちょっと間違えて違うボタンに触れただけで違う外部ファイルの再生が始まり不便です。 理想としては、0.5秒くらいボタンにマウスを当て続けるとムービーが再生されるような形が理想なのですが・・・ setInterval を使うとできそう、というのはわかるのですが、具体的にどうしていいのか分かりません。 ご存知の方いらっしゃいましたらぜひ教えてください!

    • ベストアンサー
    • Flash
  • マウスオーバーで外部ファイルを表示したい

    初心者です。宜しくお願いします…。 「ステージ上にボタンを5つ配置し、ボタンにマウスを重ねると、一定の場所にそれぞれのボタンに対した画像が表示され、マウスが離れると非表示」というムービーを作りたくて、試行錯誤していました。 表示させたいMCをsetumei_mcとした場合 最初は、同じファイル内で処理を行おうと思い、ステージ上にsetumei_mcを(名前を変えて5個)配置し、ボタンの方に、「setumei_mcをあらかじめアルファを0にしておき、マウスが乗ると100、離れると0」という方法でやってみました。 (そして、表示された時に半透明の状態にしたかったのでsetumei_mcのを入れ子にし、中でmcのアルファをあらかじめ80%ぐらいに落としています。) 動作は成功したのですが、タスクマネージャーで表示状態を見ていると、他のフラッシュとくらべると明らかにマシンに負担がかかっていて、自分以外のPC環境での動作がかなり不安です。 半透明のまま表示はしたいので、この方法でステージ上に配置してるのがいけないのか…?外部ファイルで半透明にしたPNGorフラッシュで読み込まないといけなかったのか… また、外部ファイルを、マウスオーバーで半透明で表示させ、マウスが離れたら非表示。*フェードイン、アウトが負担がかかるようでしたらあきらめます…(i_i)…を具体的にどういう風にしたらいいのか…どなたか教えて頂けませんか? 初めての質問なので、文章など、要領を得てなかったらすみません。 ご回答、宜しくお願いします。

    • ベストアンサー
    • Flash
  • ロールオーバーすると次の外部SWFへ

    環境:MacOS X    FLASH 2004MX ActionScriptの初心者の為に何をするにしてもつまずいてます… 宜しくお願い致します。 現在は、外部からSWFファイルをloadMovieで読み込んでいます。base.swf内のボタン(button01)をロールオーバーすると、イスタント名:kara_movieが入れ替わる簡単な仕組みです。 on (rollOver) { this.kara_movie.loadMovie("001.swf"); } しかし、この状態では別のボタンへロールオーバーしなければ 新たな外部SWFを読み込まない状態となっております。 ロールアウト(rollOut)すると001.swfの再生終了を待って 次の外部SWF(002.swf)を読み込む為にはどうすれば 宜しいでしょうか? また、そのまま003.swf→004.swf…と続いて再生が出来ればと 思っています。 どなたか、お教え頂けましたら幸いです。 以前も、ご指摘頂きましたが文章が分かり難いので 誤解をまねいてしまった事もございました・・・ 見苦しい文章とは思いますが宜しくお願いします。 参考にしているのは下記のURLのサイトのメインのFLASHバナーです。 http://www.konami.co.jp/

  • Flashマウスオーバー

    Flashで、ループが一回の小さなムービーを流し、 その上にマウスを合わせると(クリックではなくオーバーのみ)、別の絵が表示されてストップし、またマウスを外すと元のムービーがはじめから流れるものを造りたいのですが、ボタンシンボルで造ると、マウスを外してもムービーが最初からは始まりません。 ボタンシンボルを使わずにon(release)のような記述で、クリックではなくマウスオーバー時に反応させるにはどうしたらよいのでしょうか? 良いアドバイスがあれば教えてください。 宜しくお願いします。

  • マウスオーバーで伸びるサブメニューが正しく動作しません

    こんばんは。 以下サイトのメインメニューの左三つのボタンのように、 ボタンをマウスオーバーするとボタンの上にサブメニューが上がり、 サブメニューにあるテキストがそれぞれボタンになっているという仕組みを作ろうとしています。 http://www.mizkan.co.jp/index_1.html ・マウスオーバー addEventListenerのMOUSE_OVERでボタンの上にカーソルが乗ると、 gotoAndPlayでサブメニューが上がるアニメーションのフレーム番号に飛ぶ。 ・マウスアウト addEventListenerのMOUSE_OUTでボタンからカーソルを外すと、 gotoAndPlayでサブメニューが下がるアニメーションのフレーム番号に飛ぶ。 上記のscriptを作るところまでは上手くいきました。 しかしマウスオーバー時に伸びているサブメニューにマウスカーソルを乗せると、 マウスオーバーとマウスアウトのアクションが繰り返し実行され、 サブメニューが上がったり下がったりのアニメーションを繰り返してしまいます。 この動きは、おそらく、サブメニュー部分の領域が一瞬ボタンではないと認識され、マウスアウトのアニメーションが動きだすが、やはりボタンとして認識されマウスオーバーのアニメーションが動き出す。という動きがループしてしまっているのではないかと思われますが、解決方法が見つかりませんでした。 上に記載した方法以外でも同じような動きになる作り方があればご教授ください。 宜しくお願い致します。

  • マウスオーバー:一つの画像だけを変えるには?

    javascript初心者です。マウスオーバーの記述について教えてください。 3つのリンクボタンがあるのですが、このうち、一つだけ画像が変わるようにしたいと思っています。 ※リンク先は、3つもと同じです。 例:A・B・Cのリンク画像 A~CのどれをオンマウスしてもAの画像だけが変わるようにしたい。 また、マウスアウトした時には、元の画像に戻るようにしたいです。 以上、よろしくお願い致します。

  • ひとつのムービーを再生しながらswf読み込み

    はじめまして。 質問なのですが、 flashで、一つのムービーを再生しながら、 その下の階層に外部のswfファイルを再生するというのは可能でしょうか。 たとえば、レイヤー1で雪が降るムービーを作って、 レイヤー2で外部swfを読み込み。 再生すると外部swfの上に雪が降るというふうにしたい場合、 どうしたらよいのでしょうか。 教えてください。

    • ベストアンサー
    • Flash
  • マウスオーバー

    マウスオーバーで離れた位置の画像を変更した際、画像に合わせてリンクも変更する方法をお教え下さい。 詳細としまして、・バナーA・B・Cにマウスオーバーすると、位置Dの画像がA'、B’、C’のそれぞれに変更します。(マウスアウト後もその画像のまま) A’の場合にはリンク1 B’の場合にはリンク2 C’の場合にはリンク3 としたいです。 画像変更まではできましたが、リンクの変更は検索しても見つけることができませんでした。 ご協力よろしくお願いします。

  • マウスオーバーで位置をかえる

    マウスオーバー時にマウスカーソルがのっている画像の位置を「下に○px右に○pxだけ移動」と言う風にしたいのですがどうすればいいでしょうか?? また、マウスアウトでの元に戻し方とあわせて教えていただけたら幸いです。

専門家に質問してみよう