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");
            }
        }
    
    
    
     
  • 相关阅读:
    【彩彩只能变身队】(迟到的)团队介绍
    【彩彩只能变身队】用户需求分析(二)—— 调查结果
    【彩彩只能变身队】用户需求分析(一)—— 调查问卷
    C语言I博客作业04
    C语言I博客作业06
    c语言1作业07
    C语言I博客作业03
    C语言I博客作业02
    C语言I博客作业05
    【OpenGL编程指南】之投影和视口变换
  • 原文地址:https://www.cnblogs.com/as3lib/p/4109866.html
Copyright © 2011-2022 走看看