• ベストアンサー

マウスオーバーで色が薄くなるボタン

メニューボタンでマウスを置くと色がだんだん薄くなるものを作りたいと思っています。 シンボルのボタンを作る要領で作っていたのですが、なかなか上手くいきません。 どのように作るとよいでしょうか? 宜しくお願いします。

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

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

さまざまなやり方がありますが、タイムラインを使わない方法は以下の方法でできます。(タイムラインを使う方法は説明が長くなるので....) まず、メニューボタンとなるボタンをシンボルのボタンで作成します。仮にこれを「BtnA」とします。さらに「BtnA」をシンボルのムービークリップでシンボル化します。仮にこれを「MovA」とします。つまり「MovA」のムービークリップの中に「BtnA」のボタンがある様になります。そして、「MovA」のムービークリップを選択し、アクションスクリプトを記述します。(MovAがあるタイムラインではなく、MovAのムービークリップに直接記述します。) ▼以下を記述 onClipEvent(load){ var btnAction=false; } on(rollover){ btnAction=true; } on(rollout){ btnAction=false; } onClipEvent(enterFrame){ if(btnAction==true){ if(this._alpha>50){ this._alpha-=5; } }else{ if(this._alpha<100){ this._alpha+=5; } } } ▲この上まで 説明すると、まず「movA」が読み込まれた時に変数(例:btnAction)を設定。とりあえず変数値を「false」に設定しておく。そして、マウスが乗ると変数値が「true」になり、離れると「false」に戻ります。これで変数の切り替えが可能になります。そして、「onClipEvent(enterFrame)」は常にアクションスクリプトが繰り返し実行される(「onClipEvent(load)」はこのmovAがロードされた時、1回のみ実行)ので、もし「true」だったら透明度50まで5ずつ薄くなり(true値で透明度50以下になるとスクリプトは無視されます)、「false」だったら透明度100まで5ずつ濃くなる(false値で透明度100以上になったらスクリプトは無視されます)という感じです。ちなみに、load時にfalseとした理由は、全体のSWFの中で再度、このmovAが読み込まれた時、_alpha値が100以下だったら100まで5ずつ上げるためです。 後は応用ですので色々試してみてください。ちなみに「onClipEvent(enterFrame)」の中のもし、falseだったらを_alpha+=5;ではなく、_alpha=100;とした場合、マウスが放れると透明度100(つまり即座に不透明)になります。

その他の回答 (4)

  • mmmmmm00
  • ベストアンサー率18% (7/38)
回答No.4

mouseoverの間に _alphaを徐々に100→20 となるようにすれば そのボタンは だんだん薄くなりますけど・・・

  • penpen7
  • ベストアンサー率33% (25/74)
回答No.3

参考になりそうなページを紹介しますね。 手順はテキストだけだとうまく伝える事ができないので。。。

参考URL:
http://www2.netwave.or.jp/~light/
  • tsubura
  • ベストアンサー率28% (52/182)
回答No.2

私もフラッシュをお勧めします。 GIFアニメでもできなくは無いでしょうが、複数作るなら、フラッシュの方が簡単です。 ただ、フラッシュはフラッシュプレイヤーがDLされていないと見れないので、メニューに使うなら、別にGIFアニメか、簡易版(マウスオーバーで色を変える程度)を作っておく必要があります。

  • penpen7
  • ベストアンサー率33% (25/74)
回答No.1

FLASHで作成すればすぐに再現できると思いますが、、、GIFアニメーションや置き換えのスクリプトではきついかな?と思います。

m_k_
質問者

補足

ごめんなさい、説明不足でした。 作成はフラッシュで行っています。どのように作るとできますか?

関連するQ&A