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");
            }
        }
    
    
    
     
  • 相关阅读:
    sublimetext ruby 插件
    [C]goto statement, rarely been used. Deprecated???
    [C]union
    [C] Struct Test
    [C,Java,Python]Command Line Argument: argv, argc, sys.argv, args
    [Python]**otherInfo, *other
    [C]parameterized macros 带参数的宏
    [C]指针与结构变量
    [C]结构变量传递给函数
    [C]结构变量数组array of structure varibles
  • 原文地址:https://www.cnblogs.com/as3lib/p/4109866.html
Copyright © 2011-2022 走看看