マウスイベントの練習

マウスイベントを使ったボタン(010305)をforkさせていただく。
マウスオーバー、マウスアウトで画像の切り替え、とともにクリック、ダブルクリックでさらに画像が切り替わるようにしようとした。が、動かないじゃないか。ダブルクリックが効かない!
実用的なのは、マウスオーバーしてクリックぐらいだろうから、まあいいか。

/// forked from 9re's マウスイベントを使ったボタン
package { 
    import flash.display.Sprite; 
    import flash.events.MouseEvent; 
    public class MouseClick extends Sprite { 
        private var _button:MyButton; 

        public function MouseClick() { 
            _button = new MyButton(); 
            _button.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver); 
            _button.addEventListener(MouseEvent.MOUSE_OUT, onMouseOut); 
            _button.addEventListener(MouseEvent.CLICK, onClick);
            _button.addEventListener(MouseEvent.DOUBLE_CLICK, onwClick);
 
            addChild(_button); 
        } 

        private function onMouseOver(e:MouseEvent):void 
        { 
            _button.over(); 
        } 
        private function onMouseOut(e:MouseEvent):void 
        { 
            _button.out(); 
        } 
        private function onClick(e:MouseEvent):void
        {
            _button.click();
        }
        private function onwClick(e:MouseEvent):void
        {
            _button.wclick();
        }
    } 
} 

import flash.display.Sprite; 

class MyButton extends Sprite { 
    private var _over:Sprite; 
    private var _click:Sprite;
    
    public function MyButton () { 
        graphics.beginFill(0xffa07a);  
        graphics.drawCircle(250, 200, 100);
        graphics.endFill(); 
        graphics.beginFill(0x90ee90); 
        graphics.drawCircle(200, 200, 20); 
        graphics.endFill(); 
 
        _over = new Sprite();
        _over.graphics.beginFill(0x100008b);  
        _over.graphics.drawCircle(250, 200, 100);
        _over.graphics.endFill(); 
        _over.graphics.beginFill(0xff0000);
        _over.graphics.drawCircle(300, 200, 20);
        _over.graphics.endFill(); 
        _over.visible = false;
        
        _click = new Sprite();
        _click.graphics.beginFill(0xffff00);
        _click.graphics.drawCircle(250,200,90);
        _click.graphics.endFill();
        _click.visible = false;

        addChild(_over);
        addChild(_click);

        buttonMode = true; 
    } 
    public function over():void { 
        _over.visible = true; 
    } 
    public function out():void { 
        _over.visible = false; 
    } 
    public function click():void {
    	_click.visible = true;
    }
    public function wclick():void {
    	_click.visible = false;
    }
}