Flash / Flex / ActionScript/Development/Event

Материал из Web эксперт
Перейти к: навигация, поиск

Add Event listener

   <source lang="java">

package {

 import flash.display.*;
 import flash.net.*;
 import flash.events.*;
 public class Main extends Sprite {
   public function Main() {
     var urlLoader:URLLoader = new URLLoader(  );
     urlLoader.addEventListener(Event.ruPLETE,
                                completeListenerA,
                                false,
                                0);
     urlLoader.addEventListener(Event.ruPLETE,
                                completeListenerB,
                                false,
                                1);
     urlLoader.load(new URLRequest("someFile.txt"));
   }
   private function completeListenerA (e:Event):void {
     trace("Listener A: Load complete");
   }
   private function completeListenerB (e:Event):void {
     trace("Listener B: Load complete");
   }
 }

}

       </source>
   
  


Event Listener Priority

   <source lang="java">

package {

 import flash.display.*;
 import flash.net.*;
 import flash.events.*;
 public class Main extends Sprite {
   public function Main() {
     var urlLoader:URLLoader = new URLLoader(  );
     // Registration order determines execution order
     urlLoader.addEventListener(Event.ruPLETE, completeListenerA);
     urlLoader.addEventListener(Event.ruPLETE, completeListenerB);
     urlLoader.load(new URLRequest("someFile.txt"));
   }
   private function completeListenerA (e:Event):void {
     trace("Listener A: Load complete");
   }
   private function completeListenerB (e:Event):void {
     trace("Listener B: Load complete");
   }
 }

}

       </source>
   
  


Handling Events: a simple application that draws successive random lines

   <source lang="java">

package {

   import flash.display.Sprite;
   import flash.events.Event;
   
   public class Main extends Sprite {
       
       public function Main(  ) {
           graphics.lineStyle(1, 0, 1);
           addEventListener(Event.ENTER_FRAME, onEnterFrame);
       }
       private function onEnterFrame(event:Event):void {
           graphics.lineTo(Math.random(  ) * 400, Math.random(  ) * 400);
       }
   }

}

       </source>
   
  


Listeners for the Event.RESIZE event must be registered with Flash Player"s Stage instance,

   <source lang="java">

package {

 import flash.display.*;
 import flash.events.*;
 public class Main extends Sprite {
   public function Main(  ) {
     stage.scaleMode = StageScaleMode.NO_SCALE;
     stage.addEventListener(Event.RESIZE, resizeListener);
   }
   private function resizeListener (e:Event):void {
     trace("Flash Player was resized");
   }
 }

}

       </source>
   
  


Preventing Default Event Behavior

   <source lang="java">

package {

 import flash.display.*;
 import flash.text.*;
 import flash.events.*;
 public class Main extends Sprite {
   private var t:TextField;
   public function Main() {
     t = new TextField();
     t.border     = true;
     t.background = true;
     t.type = TextFieldType.INPUT
     addChild(t);
     t.addEventListener(TextEvent.TEXT_INPUT, textInputListener);
   }
   private function textInputListener (e:TextEvent):void {
     trace("Attempted text input: " + e.text);
     e.preventDefault(  );
     t.appendText("x");
   }
 }

}

       </source>
   
  


Responding to Event.ACTIVATE and Event.DEACTIVATE

   <source lang="java">

package {

 import flash.display.*;
 import flash.utils.*;
 import flash.events.*;
 public class Main extends Sprite {
   private var timer:Timer;
   private var rect:Sprite;
   public function Main() {
     rect = new Sprite(  );
     rect.x = 200;
     rect.y = 200;
     rect.graphics.lineStyle(1);
     rect.graphics.beginFill(0x0000FF);
     rect.graphics.drawRect(0, 0, 150, 75);
     addChild(rect);
     addEventListener(Event.ACTIVATE, activateListener);
     addEventListener(Event.DEACTIVATE, deactivateListener);
     timer = new Timer(50, 0);
     timer.addEventListener(TimerEvent.TIMER, timerListener);
   }
   private function timerListener (e:TimerEvent):void {
     rect.rotation += 10;
   }
   private function activateListener (e:Event):void {
     timer.start(  );
   }
   private function deactivateListener (e:Event):void {
     timer.stop(  );
   }
 }

}

       </source>
   
  


Responding to Event.RESIZE.

   <source lang="java">

package {

 import flash.display.*;
 import flash.net.*;
 import flash.events.*;
 public class Main extends Sprite {
   public function Main (  ) {
     stage.scaleMode = StageScaleMode.NO_SCALE;
     stage.addEventListener(Event.RESIZE, resizeListener);
   }
   private function resizeListener (e:Event):void {
     trace("The application window changed size!");
     trace("New width:  " + stage.stageWidth);
     trace("New height: " + stage.stageHeight);
   }
 }

}

       </source>
   
  


The Event.MOUSE_LEAVE Event

   <source lang="java">

package {

 import flash.display.*;
 import flash.events.*;
 public class Main extends Sprite {
   public function Main(  ) {
     stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveListener);
   }
   private function mouseLeaveListener (e:Event):void {
     trace("The mouse has left the building.");
   }
 }

}

       </source>