- ベストアンサー
FLASHボタン制御の方法とは?
- FLASHで作成したボタンの制御方法について説明します。
- ボタンをクリックした後、マウスのボタンを離しても再生されないようにする方法を教えます。
- 具体的な方法として、ボタンのクリック後の状態を制御するか、ダウン状態にもムービークリップを配置して再生する方法があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
フラグ(旗印)の変数を用意して, そのフラグの値によって,オーバー時のムービークリップを制御すれば, > クリック後マウスのボタンをはなし、 > マウスカーソルがボタンの上にある状態でも > 「オーバー」のムービーにならないようにする ということは可能です。 まず,ボタンなどを配置したメインムービーのタイムライン(_root)のフレーム1に, --------------------------------- // 変数 btn_flag1の初期値を 0 にする var btn_flag1 = 0; --------------------------------- と書いて,勝手に作成した btn_flag1という変数の値を 0 にしておきます。 この値が 0 のときだけ,ロールオーバーでムービークリップが動くようにすれば良いのです。 ボタン には次のように書いて, この変数の値を 0 か 1 に入れ替えます。 --------------------------------- on (press) { _root.btn_flag1 = 1; } on (rollOut, dragOut) { _root.btn_flag1 = 0; } on (release) { //ボタンクリックでのアクション } --------------------------------- 次に, このムービークリップですが, ダウンからアップしたときにダウンのままにしなければならないので, このフレーム1に,ダウンフレームのもの(絵か写真かなにか)を挿入します。 1 □ レイヤー 筆・・・|●|●------------>[]|●| ↑ ダウンの絵 そして, ボタン内の オーバー にある,ムービークリップ の フレーム1 には次のように書きます。 --------------------------------- // とりあえずストップ this.stop(); // _root の btn_flag1の値が 0 のときだけ if (_root.btn_flag1 == 0) { // このムービークリップを フレーム2 に進める this.gotoAndPlay(2); } --------------------------------- こんな感じでできると思います。 ============================================= Flash の バージョン を書かれていませんが, Flash MX 以降だと,ムービークリップ自体に,ボタンと同じように, on (release) { //ボタンクリックでのアクション } など,onイベントハンドラが使用できますから, さらに凝ったことをする場合は, ボタンシンボルをボタンとして使うのではなく, ムービークリップをボタンとして使うのが一般的な方法です。 ロールアウトで逆戻りするアニメーション http://www.fumiononaka.com/TechNotes/Flash/FN0303003.html ムービークリップのボタン化 http://homepage3.nifty.com/ginga-b/MX/btnmc.html
お礼
非常にわかりやすいご回答ありがとうございました。 早速取り組んでみたいと思います。