About

<#TEMPLATE_INCLUDE_NINEPAGE_ABOUTME#>
  • Jun

    15

     通过一个 .swf 文件的主类的实例变量 graphics 绘制的矢量内容有关的鼠标交互不会触发鼠标事件。然而,和通过 InteractiveObject 或其子类的任何其它实例的实例变量 graphics 绘制的矢量内容有关的鼠标交互能够触发鼠标事件。如样例代码: 

    package {
     
     import flash.display.*;
     import flash.events.*;
     public class EventFlowTest extends Sprite {
      
      private var button:Sprite;
      public function EventFlowTest() {
       
       addEventListener(Event.ADDED_TO_STAGE, init);
      }
      
      private function init(e:Event = null):void {
       
       stage.addEventListener(MouseEvent.MOUSE_DOWN,stageMouseDown,false);
       graphics.beginFill(0xff0000);
       graphics.drawCircle(100,100,100);
       addEventListener(MouseEvent.MOUSE_DOWN,spriteMouseDown,false);
       button=new Sprite();
       addChild(button);
       button.graphics.beginFill(0x00ff00);
       button.graphics.drawCircle(100,100,10);
       button.addEventListener(MouseEvent.MOUSE_DOWN,buttonMouseDown,false);
       
      }
      private function stageMouseDown(e:MouseEvent):void {
       trace("stage");
      }
      
      private function spriteMouseDown(e:MouseEvent):void {
       trace("sprite");
      }
      private function buttonMouseDown(e:MouseEvent):void {
       trace("button");
      }
      
     }
     
    }