• ベストアンサー

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