forked from: forked from: マウスイベントを使ったボタン

by namagome forked from forked from: マウスイベントを使ったボタン (diff: 68)
♥0 | Line 46 | Modified 2010-07-20 18:17:21 | MIT License
play

ActionScript3 source code

/**
 * Copyright namagome ( http://wonderfl.net/user/namagome )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/1JCa
 */

// forked from namagome's forked from: マウスイベントを使ったボタン
// forked from 9re's マウスイベントを使ったボタン
package { 
    import flash.display.Sprite; 
    import flash.events.MouseEvent;
    
    public class MouseClick extends Sprite { 
        private var _button:MyButton; 
        private var Flag:Boolean = true;
        
        public function MouseClick() {
            // ボタンのインスタンスを生成 
            _button = new MyButton(); 
            _button.addEventListener(MouseEvent.CLICK, CLICK_CHECK);
            
            // 表示リストに追加 
            addChild(_button); 
            
            // ボタンの位置を設定 
            _button.x = 182; 
            _button.y = 50; 
        } 
        
        private function CLICK_CHECK(e:MouseEvent):void {
            if(Flag == false){
                _button.over();
                Flag = true;
            }else{
                _button.out();
                Flag = false;
            }
        }
    }
}

import flash.display.Sprite;

class MyButton extends Sprite { 
    private var _over:Sprite;
    
    public function MyButton () {
        // 描画色を#666666に設定
        graphics.beginFill(0x333333);
        // 角丸の長方形を描画
        graphics.drawRect(0, 0, 100, 22);
        graphics.endFill();
        
        // マウス・オーバー時に表示させるSpriteのインスタンスを生成
        _over = new Sprite();        
        // 描画色を赤#ff0000に設定
        _over.graphics.beginFill(0xff0000);
        // 角丸の長方形を描画
        _over.graphics.drawRect(0, 0, 100, 22);
        _over.graphics.endFill();
        // 非表示に設定
        _over.visible = true;
        // 表示リストに追加
        addChild(_over);
        // マウス・カーソルを手のカーソルに変える
        buttonMode = true;
    }
    
    public function over():void {
        // マウス・オーバー時の画像を表示
        _over.visible = true;
    }
    
    public function out():void {
        // マウス・オーバー時の画像を非表示
        _over.visible = false;
    }
}