忍者ブログ

painkiller_blog

仕事でwebのお仕事。プライベートで油絵描いてます。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

ボタンの続き

AS3でボタンを無効にするように前回のエントリで書いたんですけどもう少し詳しく。

ある変数、例えばnowNumが0のときはボタンは効かない。とするとどこのイベントでremoveEventListenerするのか?と考えたとき、”ボタンをクリックしたとき”というイベントハンドラ内でやるのかなと思っていたけど次にaddEventListenerするタイミングがよくわからん。

で、考えたのが常に変数nowNumを監視する関数をつくればいいや!とおもったのでやってみました。


this.addEventListener(Event.ENTER_FRAME, judgeHandler);

//ボタン機能監視用関数
        function judgeHandler(evt:Event):void {
            if (nowNum >= 9) {
                _next.removeEventListener(MouseEvent.CLICK, n_clickHandler);
                _next.removeEventListener(MouseEvent.ROLL_OUT, n_rOutHandler)
                _next.removeEventListener(MouseEvent.ROLL_OVER, n_rOverHandler);
                _next.useHandCursor = false;
                _next.gotoAndStop("disable");
            }else {
                _next.buttonMode = true;
            _next.useHandCursor = true;
            _next.addEventListener(MouseEvent.CLICK, n_clickHandler);
            _next.addEventListener(MouseEvent.ROLL_OVER, n_rOverHandler);
            _next.addEventListener(MouseEvent.ROLL_OUT, n_rOutHandler);
            _next.gotoAndStop("up")
            }
            if (nowNum == 0) {
                _prev.removeEventListener(MouseEvent.CLICK, p_clickHandler);
                _prev.removeEventListener(MouseEvent.ROLL_OVER, p_rOverHandler);
                _prev.removeEventListener(MouseEvent.ROLL_OUT, p_rOutHandler);
                _prev.buttonMode = false;
                _prev.gotoAndStop("disable")
            }else {
                _prev.buttonMode = true;
                _prev.useHandCursor = true;
                _prev.gotoAndStop("up");
                _prev.addEventListener(MouseEvent.CLICK, p_clickHandler);
                _prev.addEventListener(MouseEvent.ROLL_OVER, p_rOverHandler);
                _prev.addEventListener(MouseEvent.ROLL_OUT, p_rOutHandler);
            }
        }
と設定しておいてp_clickHandlerでnowNum--、clickHandlerでnowNum++しています。
これでフレームが進むごとに監視してくれるのでOK。

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

Trackback

この記事にトラックバックする

Copyright © painkiller_blog : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

カレンダー

09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

最新CM

[10/08 イズカワタカノブ]

最新TB

ブログ内検索

アクセス解析

ブログを評価する「ブログレーダー」