Display Objectが重なっている時の、MouseEventの伝搬テスト

by mirrorboy
こちらのサンプルのテストです。
http://www40.atwiki.jp/spellbound/pages/599.html
♥0 | Line 39 | Modified 2012-02-12 21:27:26 | MIT License
play

ActionScript3 source code

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

package
{
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.text.TextFormat;
 
    public class Main extends Sprite
    {    
        private var tf:TextField;
 
        public function Main()
        {
            var rect:Sprite = new Sprite();
            rect.graphics.beginFill(0x0);
            rect.graphics.drawRect(0, 0, 100, 100);
            rect.graphics.endFill();
            rect.name = "rect";
            addChild(rect);
 
            var circle:Sprite = new Sprite();
            circle.graphics.beginFill(0xED1A3D);
            circle.graphics.drawCircle(0, 0, 50);
            circle.graphics.endFill();
            circle.name = "circle";
            addChild(circle);
 
            circle.x = circle.y = 100;
            circle.mouseEnabled = false;
 
            tf = new TextField();
            tf.defaultTextFormat = new TextFormat("", 20, 0x0, true);
            tf.autoSize = "left";
            tf.y = 200;
            addChild(tf);
 
            rect.addEventListener(MouseEvent.CLICK, onMouseClick);
            circle.addEventListener(MouseEvent.CLICK, onMouseClick);
        }
 
        private function onMouseClick(event:MouseEvent):void
        {
            tf.text = event.currentTarget.name + "がクリックされました";
        }
    }
}