zoukankan      html  css  js  c++  java
  • as3 阻止后续侦听器

    public class Test1 extends Sprite
        {
            private var spr:Sprite;
            private var spr2:Sprite;
            public function Test1()
            {
                spr = new Sprite();
                spr.graphics.beginFill(0xff0000,1);
                spr.graphics.drawCircle(100,100,10);
                spr.graphics.endFill();
                this.addChild(spr);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                
                spr2 = new Sprite();
                spr2.graphics.beginFill(0xff0000,1);
                spr2.graphics.drawCircle(200,100,10);
                spr2.graphics.endFill();
                this.addChild(spr2);
                spr2.addEventListener(MouseEvent.CLICK,_hander2);
            }
            private function _hander(evt:MouseEvent):void
            {
                trace("click");
            }
            private function _hander2(evt:MouseEvent):void
            {
                trace("click2");
                spr.removeEventListener(MouseEvent.CLICK,_hander);
                //spr一的侦听器函数不触发了
            }
        }

        public class Test1 extends Sprite
        {
            private var spr:Sprite;
            private var spr2:Sprite;
            public function Test1()
            {
                spr = new Sprite();
                spr.graphics.beginFill(0xff0000,1);
                spr.graphics.drawCircle(100,100,10);
                spr.graphics.endFill();
                this.addChild(spr);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                spr.addEventListener(MouseEvent.CLICK,_hander);
                
                spr2 = new Sprite();
                spr2.graphics.beginFill(0xff0000,1);
                spr2.graphics.drawCircle(200,100,10);
                spr2.graphics.endFill();
                this.addChild(spr2);
                spr2.addEventListener(MouseEvent.CLICK,_hander2);
                
                this.stage.addEventListener(MouseEvent.CLICK,_stageClick);
            }
            private function _hander(evt:MouseEvent):void
            {
                trace("click");
                //舞台将不会收到click事件
                evt.stopImmediatePropagation();
            }
            private function _hander2(evt:MouseEvent):void
            {
                trace("click2");
                //spr.removeEventListener(MouseEvent.CLICK,_hander);
                //spr一的侦听器函数不触发了
            }
            private function _stageClick(evt:MouseEvent):void
            {
                trace("stage_click");
            }
        }
    
    
    
     
  • 相关阅读:
    Git
    Shell-sed之替换字符
    Linux IO/NFS tunning 性能优化及检测
    利用Java Flight Recorder(JFR)诊断timing及内存问题
    Get/Post
    SQL-1
    HTTP协议简要
    nmap简单使用
    (C语言)买东西找零钱
    今日错误(C语言)(定义二维数组储存)
  • 原文地址:https://www.cnblogs.com/as3lib/p/4109866.html
Copyright © 2011-2022 走看看