Flash / Flex / ActionScript/Development/Event
Содержание
- 1 Add Event listener
- 2 Event Listener Priority
- 3 Handling Events: a simple application that draws successive random lines
- 4 Listeners for the Event.RESIZE event must be registered with Flash Player"s Stage instance,
- 5 Preventing Default Event Behavior
- 6 Responding to Event.ACTIVATE and Event.DEACTIVATE
- 7 Responding to Event.RESIZE.
- 8 The Event.MOUSE_LEAVE Event
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>