プロが教えるわが家の防犯対策術!

FlashMXでボタン作成をしています。

オーバーのところだけ、ムービークリップを貼り付けてアニメーションさせています。
一度ボタンダウンした後、カーソルをボタンの上に置いたままアップすると、またオーバーのアニメが再生されてしまいます。

ボタンを押した後は一度アウトしない限りオーバーを再生したくないのですが、そういったことは可能でしょうか?

よろしくお願いいたします。

A 回答 (1件)

比較的簡単にできますよ。


色々方法はありますが,ボタン自体をムービークリップで作られれば良いのではないでしょうか。

まず,ボタンのサイズの透明な塗りの四角を描きます。
(ボタンの形が丸だったら丸でいいです。)

その描いた透明の塗りを選択して,
「挿入」→「シンボルに変換」でムービークリップにします。

ムービークリップになったものを
「右クリック」→「同じ位置で編集」や「編集」でそのムービークリップ内の編集に移ります。

今,透明なものだけがムービークリップ内のレイヤー1にあると思います。
そのレイヤーを2レイヤーにして,3フレームにしてください。
タイムラインを図示すると↓のような感じです。

          1      5
レイヤー2 筆・・|○   []|
レイヤー1 筆・・|●   []|

上のレイヤーをすべてキーフレームにしてください。

          1      5
レイヤー2 筆・・|○|○|○|
レイヤー1 筆・・|●   []|


上のレイヤーのフレーム1には普通の状態のボタンを描いてください。
上のレイヤーのフレーム2にはアニメーションするムービークリップを置いてください。
上のレイヤーのフレーム3にはボタンダウンした状態のものを描いてください。

          1      5
レイヤー2 筆・・|●|●|●|
レイヤー1 筆・・|●   []|

普通の状態では1フレームが,ロールオーバーしたときは2フレームが,ボタンダウンしたときとボタンアップしたときは3フレームが表示され,ロールアウトで1フレームが表示されれば良いのです。

メインのムービー(ドキュメント)の編集に戻って,今作ったボタン用ムービークリップを選択し,

---------------------------
onClipEvent (load) {
this.stop();
}
on (rollOver) {
this.gotoAndStop(2);
}
on (press) {
this.gotoAndStop(3);
}
on (rollOut, dragOut) {
this.gotoAndStop(1);
}
---------------------------

と書けば,おそらく希望されている形のボタンができると思います。
実際には,ボタンクリックで何か他の物が動作すると思いますから
on (release)で,何かしたい動作を書いてください。

--------------------------
onClipEvent (load) {
this.stop();
}
on (rollOver) {
this.gotoAndStop(2);
}
on (press) {
this.gotoAndStop(3);
}
on (release) {
//ここにしたい動作を記入
}
on (rollOut, dragOut) {
this.gotoAndStop(1);
}
--------------------------

ただし,これはボタンではなくムービークリップに書いたスクリプトなので,パスを間違わないように気をつけてください。
もしボタンで

-------------------------
on (release) {
gotoAndPlay(1);
}
-------------------------

と書かれていた場合は,メインのアニメーションが1フレームからスタートする動作になりますが,
ムービークリップに書いた場合は,そのムービークリップ内のアニメーションが1フレームからスタートしてしまいます。
上記のようなボタンと同じ動作をさせたい場合は,

-------------------------
on (release) {
//ここにしたい動作を記入
}
-------------------------
の部分を
-------------------------
on (release) {
_root.gotoAndPlay(1);
}
-------------------------
と,いう感じにしてください。 _root. が前に付くようになります。

※ 透明な塗りを最初に作ったのは,ボタンで言う「ヒット」の部分です。
  ムービークリップ内の3フレームが3フレームとも同じ大きさであれば,別に透明な塗りを下のレイヤーに用意する必要はないです。
    • good
    • 0
この回答へのお礼

とてもわかりやすく丁寧な回答ありがとうございます!したいことができました。

お礼日時:2005/09/21 09:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!