• ベストアンサー

FLASHでのロールオーバーについて

こんにちは。 FLASHで、メニューボタンにマウスを乗せると別の領域に画像が表示される、というものを作りたいのですが、どうもうまくできません。 今やっている方法はこんな感じです。まずムービークリップで、1フレーム目を空白に、2フレーム目に表示する画像としたものを作り、インスタンス名をinfomationとして配置します。このシンボルの1フレーム目に、勝手に再生されないようstop(); を書いておきます。そしてメニューボタン(これも、アニメーションボタンにしたいのでムービークリップで作っています)に、以下のスクリプトを書きました。 on (rollOver) { with (infomation) { gotoAndStop(2); } } これで再生しますと、マウスをボタンに乗せても画像が表示されません。(ポインタの形状は変わりますので、ボタンとしては認識してくれているようなのですが・・・) この方法で、間違っているところや、あるいは もっとよい方法がありましたら、教えていただけませんでしょうか。 本やネットで調べたのですが、あまりにも初歩的な質問のためか?解決につながるようなものが見つかりませんでした。 どうぞよろしくお願いいたします。

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

  • ベストアンサー
  • jakarta
  • ベストアンサー率38% (607/1597)
回答No.1

メニューボタンのオブジェクトアクションは on (rollOver) {  infomation.gotoAndStop(2);  } } でinfomationのムービークリップ(MC)は動くようになるでしょう。 できればマウスイベントを受けるもの、つまりボタンとして機能させるものはムービークリップではなくボタンの方が確実です。(RealPlayerやQuickTimeで用いると奇妙な結果を生むことがあります) この場合もムービークリップをボタンとして用いず透明ボタンを用意する、あるいはムービークリップをボタン内にいれこむなどの方法の方がいいんじゃないかと思います。 >このシンボルの1フレーム目に、勝手に再生されないようstop(); 個人的には何をstopさせるのか明示的にするために、this.stop(); と記述するようにしています。

picopico
質問者

お礼

ムービークリップをボタンとして使用していたのですが、そのMCを入れ込んだボタンにしたところ、スクリプトを書き換えることなくあっさり動作しました!MCもボタンのように使用できるけれど、注意が必要なんですね~。勉強になりました。ありがとうございました!

その他の回答 (1)

  • mat-21
  • ベストアンサー率56% (91/162)
回答No.2

わざわざ、<infomation>の<MovieClip(以下MC)>を2フレームにしなくても下記のスクリプトで可能です。 まず、<information>のMCのフレームは表示だけのフレームだけにします(つまり1フレームだけ)。特にアクションスクリプトは必要ないです(止まっているだけのMCの話です)。 そして、メインフレームの方にアクションスクリプト用として、空のレイヤーを設けます。そうすると空○のキーフレームができますよね。そこに以下のアクションスクリプトを記述します。 setProperty(_root.information,_visible,0); そして、ボタンのMCのスクリプトは、 ロールオーバーすると、 on (rollOver) { setProperty(_root.information,_visible,100); } ロールアウトして表示された画像を消すのは、 on (rollout) { setProperty(_root.information,_visible,0); } です。

picopico
質問者

お礼

なるほど~、そういう方法もあったんですね。コマを移動させることしか思いつかなくて、透明度を使うというのは考えもしませんでした。最終的にムービーに書き出すと同じ動作をするものでも、その動作をさせるためには色々な方法があるんだということがよくわかりました。。勉強になりました。どうもありがとうございました!

関連するQ&A

  • マウスオーバーで全ムービークリップ停止

    上手く説明出来ないのですが、 ムービークリップのメニューを作ろうとしています。 マウスオーバーで全部のムービーが止まる様にしたくて、 一つのムービークリップに全部のムービークリップのメニューをまとめ、選択すると ーーーーーーーーーーーーーーーーここから シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 シーン=シーン1,レイヤー=menu,フレーム マウスイベントはボタンインスタンスでのみ使用できます。 ーーーーーーーーーーーーーーーーここまで とエラーになってしまいます。 だからといってメニュー一つ一つに on(rollOver){ stop(); } on(rollOver){ play(); } を記述しても、マウスオーバーしているメニューだけが止まって、 他のメニューは動いてぐちゃぐちゃになってしまいます。 ひとつのメニューをマウスオーバーするだけで他全部のムービークリップも停止、 マウスをはずすと同じ所から動きだす事って出来ますか? いい方法がありましたら教えて下さい。

  • Flashでロールオーバー中は・・・

    教えてください、Flash初心者です。FlashMX2004を使用しています。 1つのFlashファイルの中に、A,B,C,D,Eの5つのムービークリップがあります。メインのタイムライン上にはその5つのムービークリップを置いています。Aムービークリップの最後のフレームには「_root.gotoAndPlay("B");」というスクリプトがあり、BムービークリップにはCへ、CにはDへ・・・というように、何のアクションも行わなければ、AからEへ順次ムービーが進んでいく、というものです。また、それぞれのムービークリップには、それぞれ他のムービークリップへ自由にジャンプできるようにボタンも設置しています。Aムービークリップに置いてあるCボタンにロールオーバーすると、Cムービークリップの再生が始まる、という具合です。 で、ここで質問なんですが・・・今の状態であれば、例えばボタンでA ムービークリップからCムービークリップへジャンプすると、Cムービークリップへ行くのですが、Cの再生が終わると、自動的にDムービークリップへ移動します。(もちろん、そうなるようにしてるのですが・・・)ただ、ボタンで別のムービークリップへ移動した時だけは、そのムービークリップの再生後もそこでstopさせておきたいのです。 矛盾してるようですが、whileとかifとかを使えばできるのでしょうか??

  • Flashでプルダウンメニューを

    1.メニューにマウスが通過した際、サブメニューが表示される 2.メニュー・サブメニューからマウスが離れるとサブメニューが隠れる といったプルダウンメニューを作成したいのですが、 下記の方法だと一度現れたサブメニューが隠れて(元に戻って)くれません。 3フレーム目に何かアクションを入れなければいけないのかと思うのですが・・・ ■1フレーム目 ボタンシンボル(メインメニュー)に下記アクション ------------------------------------- on (rollOver) { gotoAndStop(2); } ------------------------------------- アクションレイヤー ------------------------------------- stop(); ------------------------------------- ■2フレーム目 メインメニューとサブメニュー(メインメニューにロールオーバーした際に出てくるメニュー)を 配置 サブメニューに下記オブジェクトアクションを挿入 ------------------------------------- on (press) { getURL("http://www.●●●.com"); } ------------------------------------- アドバイスいただけると助かります。どうぞお願い致します。

    • ベストアンサー
    • Flash
  • flashのBGMのoff/onボタン

    はじめまして。Flashがまだよくわかっていない初心者です。マニュアル本、こちらのhttp://oshiete1.goo.ne.jp/qa1789705.htmlを参考にやってみましたが、わかりません。お願いです。教えてください。 最初に開いたらBGMがデフォルトで鳴っていて、「サウンドOFF」ボタンを押すとBGMは停止し、アニメーションは最後までという内容です。 現在の状況および作成手順ですが、 「シーン1」には2つレイヤーがあり、1つ目のレイヤーは「but」とし、これにはサウンドOFF/ONのムービークリップを配置してあります。フレームは1つだけで、ここに下記を記述(action)しました。 ---------------------------------------- onClipEvent(load) { //サウンドを挿入 snd = new Sound(); snd.attachSound( "BGM" ); //無限ループ再生設定 snd.onSoundComplete = function() { this.start(); }; //サウンドの再生状況を保持する変数 //再生時true、それ以外はfalse play_flg = false; //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } on(release) { //サウンド再生時は止める if( play_flg ) { snd.stop(); play_flg = false; } //停止中の場合は再生する else { snd.start(); play_flg = true; } //再生状況に応じたフレームを表示 gotoAndStop( Number( play_flg ) + 1 ); } ---------------------------------------- 2つ目のレイヤーには「写真」という名前で写真5枚がフェードインアウトしながら切り替わる、というムービークリップを制作しました。 これをプレビューすると、ムービーは実行されますがBGMは鳴りません。また「サウンドOFF」「サウンドON」のボタンが繰り返してしまいます。 デバック出力で下記エラーと表示されます。 ---------------------------------------- **エラー** シーン = シーン 1, レイヤー = but, フレーム = 1 :行 1:クリップイベントはムービークリップインスタンスでのみ使用可能です。 onClipEvent(load) **エラー** シーン = シーン 1, レイヤー = but, フレーム = 1 :行 21:マウスイベントはボタンインスタンスでのみ使用できます。 on(release) ActionScript エラー数 :2 報告済みエラー :2 ---------------------------------------- どうかどのようにしたらいいのか教えてください。お願いします。

  • loadMovieの読み込み中を表示しない

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

    • ベストアンサー
    • Flash
  • FLASH MXでムービークリップをボタンではなくムービークリップ自体で操作できますか?

    いまだにFLASH MXを使っています。 やりたいことはムービークリップを作成し、マウスがそれに触ると停止し、離れると動く、といった感じにしたいのですが、どうにも上手くいきません。 他にボタンを作成しそこにアクションを設定すれば上手く動くのですが ボタンではなく自分自身で操作できないかと思っています。 ボタンのシンボルをムービークリップ(movie)化 それをステージに配置しアクションを設定 アクションイメージ on (rollOver) { movie.stop(); } on (rollOut) { movie.start(); }

  • Flash フレームを移動しても音が残ってしまう

    Flash フレームを移動しても音が残ってしまう 初心者です。フレーム間の移動について質問させて下さい。 1フレーム目にメニューボタンを配置し、ボタン1クリック(gotoAndStop(5))で、動画再生のSWFを配置した5フレーム目へ飛ばしています。 1フレームのボタン2クリック(gotoAndStop(4))で、画像を配置した4フレーム目へ飛ぶようにしています。 ボタン1で5フレームで動画を再生、その最中にボタン2をクリックするとステージ上は4フレーム目になりますが、再生中の動画の音声が消えません。 どういう処理が必要なのか具体的に教えていただけませんでしょうか。 AS3.0になります。

  • FLASHのボタン

    FLASH8で、ホームページのメニューボタンを作っております。 デザインとしては、 (1)ボタンに、マウスカーソルを乗っけると、 (2)そのボタンが、”クルクルと2回転し停止”する ※”クルクルと2回転して停止”が終わる前に、 マウスカーソルをそのボタンから離しても、 その”クルクルと2回転して停止”というムービー(アクション?)はきちんと最後まで再生させる ようにしたいと思っております。 ”2回転させて停止”させるまでは、ムービークリップの、 最初のフレームに『start();』を、 最後のフレームに『stop();』のactionscriptを入れることでなんとかできるようになったのですが、 どうしても、上記の※の部分が出来ません・・・ マウスカーソルをボタンから離すと、”クルクルと2回転して停止”が完了する前に、ピタッと、最初の静止した状態のボタンに戻ってしまいます。 どなたか、解決法を教えていただけないでしょうか。

  • 外部の画像、もしくはswfを読み込んでボタンをつくりたい

    以下2パターンを試してみました。 1 ボタンシンボルが配置してあるswfファイルを作成(0.swf)し、「sum」というMCに読み込み loadMovie("0.swf","sum"); 結果は、通常状態の表示は問題なく行いましたが、マウスをボタンの上にもってきても反応しませんでした。 (カーソルは変更されるが画像に変化なし) 2 MCをつくり、そこに on (rollOver) { this.gotoAndStop("2"); } on (rollOut) { this.gotoAndStop("1"); } 下の階層に、1フレーム目および2フレーム目に通常状態とrollOverの画像を読み込むためのMCを配置。それぞれsum_1、sum_2。 そのMCがあるタイムライン上に loadMovie("0.jpg","sum.sum_1"); loadMovie("0_on.jpg","sum.sum_2"); 要するに箱を作って、画像だけ差し替えられるようにした感じです。 実行すると、1フレーム目は正常に表示されますが、マウスをかざした時に白くなってしまい、マウスを戻しても白いままで最初の画像が戻りません。 loadMovieはこういう動きなのでしょうか。 外部から読み込んでボタンとして動作させたい場合はどのようにすればいいでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • rollover時に、MCを動かしたい。

    ↓のような、flashを作りたいのです。 ttp://www.muratec.jp/index.html (最初にhを入れてください) 左のrolloverボタンはできたのですが、 rollover時に右に段々表示される画像を再生させる、 というactionscriptがよく分からず、動きません・・・。 全部シーン1でやっています。 ・レイヤー1 ボタンシンボル5つほど。 左のボタンを1つずつ分けて作ったものを用意して、 1つずつボタンシンボルで、フレーム1に。 ・レイヤー2からレイヤーレイヤー6 5枚の画像を用意して、MCにシンボル化。 それぞれフレーム1~5フレームに、 アルファ0からアルファ100にいくモーションを作成。 レイヤー7 アクションスクリプト 最初の1フレームと5フレーム目にstop(); ・ボタンシンボル アクション(gazou22_mcは、MC名です) on (rollOver){ this.gazou22_mc.gotoAndPlay(1); } ・MCの方の記述がよくわからず、動きません。。 何か作成方法等に関してなどありましたら、 合わせてアドバイスおねがいします。 よろしくおねがいします。

    • ベストアンサー
    • Flash