<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=Flash_%2F_Flex_%2F_ActionScript%2FDevelopment%2FMouseEvent</id>
		<title>Flash / Flex / ActionScript/Development/MouseEvent - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wbex.ru/index.php?action=history&amp;feed=atom&amp;title=Flash_%2F_Flex_%2F_ActionScript%2FDevelopment%2FMouseEvent"/>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Development/MouseEvent&amp;action=history"/>
		<updated>2026-04-04T11:57:17Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Development/MouseEvent&amp;diff=4564&amp;oldid=prev</id>
		<title> в 09:19, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Development/MouseEvent&amp;diff=4564&amp;oldid=prev"/>
				<updated>2010-05-26T09:19:13Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 09:19, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Development/MouseEvent&amp;diff=4565&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://wbex.ru/index.php?title=Flash_/_Flex_/_ActionScript/Development/MouseEvent&amp;diff=4565&amp;oldid=prev"/>
				<updated>2010-05-26T08:15:01Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==A custom mouse pointer==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.ui.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.geom.*;&lt;br /&gt;
  public class CustomMousePointer extends Sprite {&lt;br /&gt;
    public function CustomMousePointer (  ) {&lt;br /&gt;
      graphics.lineStyle(1);&lt;br /&gt;
      graphics.beginFill(0x0000FF, 1);&lt;br /&gt;
      graphics.lineTo(15, 5);&lt;br /&gt;
      graphics.lineTo(5, 15);&lt;br /&gt;
      graphics.lineTo(0, 0);&lt;br /&gt;
      graphics.endFill(  );&lt;br /&gt;
      var stageDetector:StageDetector = new StageDetector(this);&lt;br /&gt;
      stageDetector.addEventListener(StageDetector.ADDED_TO_STAGE,&lt;br /&gt;
                                     addedToStageListener);&lt;br /&gt;
      stageDetector.addEventListener(StageDetector.REMOVED_FROM_STAGE,&lt;br /&gt;
                                     removedFromStageListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function addedToStageListener (e:Event):void {&lt;br /&gt;
      Mouse.hide(  );&lt;br /&gt;
      stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);&lt;br /&gt;
      stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function removedFromStageListener (e:Event):void {&lt;br /&gt;
      Mouse.show(  );&lt;br /&gt;
      stage.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);&lt;br /&gt;
      stage.removeEventListener(Event.MOUSE_LEAVE, mouseLeaveListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseLeaveListener (e:Event):void {&lt;br /&gt;
      visible = false;&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseMoveListener (e:MouseEvent):void {&lt;br /&gt;
      var pointInParent:Point = parent.globalToLocal(new Point(e.stageX,&lt;br /&gt;
                                                               e.stageY));&lt;br /&gt;
      x = pointInParent.x;&lt;br /&gt;
      y = pointInParent.y;&lt;br /&gt;
      e.updateAfterEvent(  );&lt;br /&gt;
      if (!visible) {&lt;br /&gt;
        visible = true;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add mouse listener to state==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  public class GetChildAtExample extends Sprite {&lt;br /&gt;
    public function GetChildAtExample(  ) {&lt;br /&gt;
   &lt;br /&gt;
      var color:Array = [ 0xFF0000, 0x990000, 0x660000, 0x00FF00,&lt;br /&gt;
                          0x009900, 0x006600, 0x0000FF, 0x000099,&lt;br /&gt;
                          0x000066, 0xCCCCCC ];&lt;br /&gt;
   &lt;br /&gt;
      for ( var i:int = 0; i &amp;lt; 10; i++ ) {&lt;br /&gt;
        var circle:Shape = createCircle( color[i], 10 );&lt;br /&gt;
        circle.x = i;&lt;br /&gt;
        circle.y = i + 10; // the + 10 adds padding from the top&lt;br /&gt;
        &lt;br /&gt;
        addChild( circle );&lt;br /&gt;
      }      &lt;br /&gt;
      &lt;br /&gt;
      stage.addEventListener( MouseEvent.CLICK, updateDisplay );&lt;br /&gt;
    }&lt;br /&gt;
   &lt;br /&gt;
    public function updateDisplay( event:MouseEvent ):void {&lt;br /&gt;
      setChildIndex( getChildAt(0), numChildren - 1 );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function createCircle( color:uint, radius:Number ):Shape {&lt;br /&gt;
      var shape:Shape = new Shape(  );&lt;br /&gt;
      shape.graphics.beginFill( color );&lt;br /&gt;
      shape.graphics.drawCircle( 0, 0, radius );&lt;br /&gt;
      shape.graphics.endFill(  );&lt;br /&gt;
      return shape;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
                          &lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add mouse move listener==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.geom.Point;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
      var circle:Sprite = new Sprite(  );&lt;br /&gt;
      circle.x = 10;&lt;br /&gt;
      circle.y = 10;&lt;br /&gt;
      circle.graphics.beginFill( 0xFF0000 );&lt;br /&gt;
      circle.graphics.drawCircle( 0, 0, 5 );&lt;br /&gt;
      circle.graphics.endFill(  );&lt;br /&gt;
      &lt;br /&gt;
      circle.addEventListener( MouseEvent.MOUSE_MOVE, handleMouseMove );&lt;br /&gt;
      addChild( circle );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private function handleMouseMove( event:MouseEvent ):void {&lt;br /&gt;
      trace( &amp;quot;local x: &amp;quot; + event.localX );&lt;br /&gt;
      trace( &amp;quot;local y: &amp;quot; + event.localY );&lt;br /&gt;
      &lt;br /&gt;
      var localPoint:Point = new Point( event.localX, event.localY );&lt;br /&gt;
      var globalPoint:Point = event.target.localToGlobal( localPoint );&lt;br /&gt;
      &lt;br /&gt;
      trace( &amp;quot;global x: &amp;quot; + globalPoint.x );&lt;br /&gt;
      trace( &amp;quot;global y: &amp;quot; + globalPoint.y );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Add mouse up and down listener==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.events.MouseEvent;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    &lt;br /&gt;
    private var isDrawing:Boolean;&lt;br /&gt;
    &lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
      graphics.lineStyle( 20, 0xFFCC33 );&lt;br /&gt;
      &lt;br /&gt;
      isDrawing = false;&lt;br /&gt;
      &lt;br /&gt;
      stage.addEventListener( MouseEvent.MOUSE_DOWN, startDrawing );&lt;br /&gt;
      stage.addEventListener( MouseEvent.MOUSE_MOVE, draw );&lt;br /&gt;
      stage.addEventListener( MouseEvent.MOUSE_UP, stopDrawing );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function startDrawing( event:MouseEvent ):void {&lt;br /&gt;
      graphics.moveTo( mouseX, mouseY );&lt;br /&gt;
      isDrawing = true;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function draw( event:MouseEvent ):void {&lt;br /&gt;
      if ( isDrawing ) {&lt;br /&gt;
        graphics.lineTo( mouseX, mouseY );  &lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    public function stopDrawing( event:MouseEvent ):void {&lt;br /&gt;
      isDrawing = false;&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==All types of mouse event==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
MouseEventExample&lt;br /&gt;
package&lt;br /&gt;
{&lt;br /&gt;
import flash.display.Sprite;&lt;br /&gt;
import flash.events.MouseEvent;&lt;br /&gt;
public class Main extends Sprite&lt;br /&gt;
{&lt;br /&gt;
    public function Main ()&lt;br /&gt;
    {&lt;br /&gt;
        var listener:Sprite = new Sprite();&lt;br /&gt;
        listener.graphics.beginFill(0x0000ff, 1);&lt;br /&gt;
        listener.graphics.drawRect(0, 0, 200, 200);&lt;br /&gt;
        listener.graphics.endFill();&lt;br /&gt;
        listener.doubleClickEnabled = true;&lt;br /&gt;
        addChild(listener);&lt;br /&gt;
        listener.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownHandler);&lt;br /&gt;
        listener.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);&lt;br /&gt;
        listener.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);&lt;br /&gt;
        listener.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);&lt;br /&gt;
        listener.addEventListener(MouseEvent.MOUSE_WHEEL, mouseWheelHandler);&lt;br /&gt;
        listener.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);&lt;br /&gt;
        listener.addEventListener(MouseEvent.DOUBLE_CLICK, doubleClickHandler);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseDownHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;mouseDownHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseMoveHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;mouseMoveHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseOutHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;mouseOutHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseUpHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;mouseUpHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseWheelHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;mouseWheelHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseOverHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;mouseOverHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function doubleClickHandler(mouseEvent:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;doubleClickHandler&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Click Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
     import flash.display.Sprite;&lt;br /&gt;
     import flash.events.MouseEvent;&lt;br /&gt;
     &lt;br /&gt;
     [SWF(width=550, height=400)]&lt;br /&gt;
     &lt;br /&gt;
     public class Main extends Sprite {&lt;br /&gt;
          &lt;br /&gt;
          public function Main() {&lt;br /&gt;
               var square:Sprite = new Sprite();&lt;br /&gt;
               square.graphics.lineStyle(2, 0x000000);&lt;br /&gt;
               square.graphics.beginFill(0xff0000);&lt;br /&gt;
               square.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;
               square.graphics.endFill();&lt;br /&gt;
               addChild(square);&lt;br /&gt;
               &lt;br /&gt;
               square.doubleClickEnabled = true;&lt;br /&gt;
               &lt;br /&gt;
               square.addEventListener(MouseEvent.CLICK, onSquareClick);&lt;br /&gt;
               square.addEventListener(MouseEvent.DOUBLE_CLICK, onSquareDoubleClick);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function onSquareClick(event:MouseEvent):void {&lt;br /&gt;
               trace(&amp;quot;ouch!&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function onSquareDoubleClick(event:MouseEvent):void {&lt;br /&gt;
               trace(&amp;quot;double ouch!&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
     &lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Creating Mouse Interactions==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.Sprite;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.geom.Point;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
      var circle:Sprite = new Sprite(  );&lt;br /&gt;
      circle.x = 10;&lt;br /&gt;
      circle.y = 10;&lt;br /&gt;
      circle.graphics.beginFill( 0xFF0000 );&lt;br /&gt;
      circle.graphics.drawCircle( 0, 0, 5 );&lt;br /&gt;
      circle.graphics.endFill(  );&lt;br /&gt;
      &lt;br /&gt;
      circle.addEventListener( MouseEvent.MOUSE_MOVE, handleMouseMove );&lt;br /&gt;
      addChild( circle );&lt;br /&gt;
    }&lt;br /&gt;
    &lt;br /&gt;
    private function handleMouseMove( event:MouseEvent ):void {&lt;br /&gt;
      trace( &amp;quot;mouse move&amp;quot; );&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Finding the mouse pointer&amp;quot;s position==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.text.*;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main (  ) {&lt;br /&gt;
      var textfield:TextField = new TextField(  );&lt;br /&gt;
      textfield.text = &amp;quot;Click here&amp;quot;;&lt;br /&gt;
      textfield.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      textfield.x = 100;&lt;br /&gt;
      textfield.y = 100;&lt;br /&gt;
      stage.addChild(textfield);&lt;br /&gt;
      textfield.addEventListener(MouseEvent.CLICK, clickListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function clickListener (e:MouseEvent):void {&lt;br /&gt;
      trace(&amp;quot;Position in TextField&amp;quot;s coordinate space: (&amp;quot;+ e.localX + &amp;quot;, &amp;quot; + e.localY + &amp;quot;)&amp;quot;);&lt;br /&gt;
      trace(&amp;quot;Position in Stage instance&amp;quot;s coordinate space: (&amp;quot;+ e.stageX + &amp;quot;, &amp;quot; + e.stageY + &amp;quot;)&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Global Mouse Down Sensor==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main (  ) {&lt;br /&gt;
      stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseDownListener (e:MouseEvent):void {&lt;br /&gt;
      trace(&amp;quot;The primary mouse button was pressed.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Handling Mouse Events &amp;quot;Globally&amp;quot;==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main(  ) {&lt;br /&gt;
      stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function mouseMoveListener (e:MouseEvent):void {&lt;br /&gt;
      trace(&amp;quot;The mouse moved.&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==mouseEnabled = false==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.text.*;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main (  ) {&lt;br /&gt;
      var circle:Sprite = new Sprite(  );&lt;br /&gt;
      circle.graphics.beginFill(0x999999, 1);&lt;br /&gt;
      circle.graphics.lineStyle(1);&lt;br /&gt;
      circle.graphics.drawEllipse(0, 0, 100, 100);&lt;br /&gt;
      var textfield:TextField = new TextField(  );&lt;br /&gt;
      textfield.text = &amp;quot;Click here&amp;quot;;&lt;br /&gt;
      textfield.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      textfield.x = 30;&lt;br /&gt;
      textfield.y = 30;&lt;br /&gt;
      textfield.border = true;&lt;br /&gt;
      textfield.background = true;&lt;br /&gt;
      textfield.mouseEnabled = false;&lt;br /&gt;
      &lt;br /&gt;
      addChild(circle);&lt;br /&gt;
      addChild(textfield);&lt;br /&gt;
      circle.addEventListener(MouseEvent.CLICK, clickListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function clickListener (e:MouseEvent):void {&lt;br /&gt;
      trace(&amp;quot;User clicked: &amp;quot; + e.target);&lt;br /&gt;
      DisplayObject(e.target).x += 10;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mouse Event Hierarchy==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package&lt;br /&gt;
{&lt;br /&gt;
import flash.display.Sprite;&lt;br /&gt;
import flash.events.MouseEvent;&lt;br /&gt;
public class Main extends Sprite&lt;br /&gt;
{&lt;br /&gt;
    private var firstListener:Sprite = new Sprite();&lt;br /&gt;
    private var secondListener:Sprite = new Sprite();&lt;br /&gt;
    public function Main(){&lt;br /&gt;
        firstListener.graphics.beginFill(0x0000ff, 1);&lt;br /&gt;
        firstListener.graphics.drawCircle(0, 0, 100);&lt;br /&gt;
        firstListener.graphics.endFill();&lt;br /&gt;
        secondListener.graphics.beginFill(0x00ff00, 1);&lt;br /&gt;
        secondListener.graphics.drawCircle(0, 0, 30);&lt;br /&gt;
        secondListener.graphics.endFill();&lt;br /&gt;
        addChild(firstListener);&lt;br /&gt;
        addChild(secondListener);&lt;br /&gt;
        firstListener.y = 300;&lt;br /&gt;
        secondListener.y = 250;&lt;br /&gt;
        this.stage.addEventListener(MouseEvent.MOUSE_DOWN, mainMouseDown);&lt;br /&gt;
        firstListener.addEventListener(MouseEvent.MOUSE_DOWN, firstMouseDown);&lt;br /&gt;
        secondListener.addEventListener(MouseEvent.MOUSE_DOWN, secondMouseDown);&lt;br /&gt;
        this.stage.addEventListener(MouseEvent.MOUSE_MOVE, mainMouseMove);&lt;br /&gt;
        firstListener.addEventListener(MouseEvent.MOUSE_MOVE, firstMouseMove);&lt;br /&gt;
        secondListener.addEventListener(MouseEvent.MOUSE_MOVE, secondMouseMove);&lt;br /&gt;
    }&lt;br /&gt;
    private function mainMouseMove(me:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot; stage move &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function firstMouseMove(me:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;first move &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function secondMouseMove(me:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;second move&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function mainMouseDown(me:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot; stage down &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function firstMouseDown(me:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;first down &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    private function secondMouseDown(me:MouseEvent):void&lt;br /&gt;
    {&lt;br /&gt;
        trace(&amp;quot;second down &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mouse Events and Modifier Keys==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main() {&lt;br /&gt;
      stage.addEventListener(MouseEvent.CLICK, clickListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function clickListener (e:MouseEvent):void {&lt;br /&gt;
      if (e.shiftKey) {&lt;br /&gt;
        trace(&amp;quot;Shift+click detected&amp;quot;);&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mouse Events and Overlapping Display Objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
  import flash.display.*;&lt;br /&gt;
  import flash.events.*;&lt;br /&gt;
  import flash.text.*;&lt;br /&gt;
  public class Main extends Sprite {&lt;br /&gt;
    public function Main (  ) {&lt;br /&gt;
      var circle:Sprite = new Sprite(  );&lt;br /&gt;
      circle.graphics.beginFill(0x999999, 1);&lt;br /&gt;
      circle.graphics.lineStyle(1);&lt;br /&gt;
      circle.graphics.drawEllipse(0, 0, 100, 100);&lt;br /&gt;
      var textfield:TextField = new TextField(  );&lt;br /&gt;
      textfield.text = &amp;quot;Click here&amp;quot;;&lt;br /&gt;
      textfield.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
      textfield.x = 30;&lt;br /&gt;
      textfield.y = 30;&lt;br /&gt;
      textfield.border = true;&lt;br /&gt;
      textfield.background = true;&lt;br /&gt;
      addChild(circle);&lt;br /&gt;
      addChild(textfield);&lt;br /&gt;
      circle.addEventListener(MouseEvent.CLICK, clickListener);&lt;br /&gt;
    }&lt;br /&gt;
    private function clickListener (e:MouseEvent):void {&lt;br /&gt;
      trace(&amp;quot;User clicked: &amp;quot; + e.target);&lt;br /&gt;
      DisplayObject(e.target).x += 10;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Post-Event Screen Updates==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package{&lt;br /&gt;
    import flash.display.GradientType;&lt;br /&gt;
    import flash.display.Sprite;&lt;br /&gt;
    import flash.geom.*;&lt;br /&gt;
    import flash.events.*;&lt;br /&gt;
    import flash.ui.*;&lt;br /&gt;
    public class Main extends Sprite {&lt;br /&gt;
    &lt;br /&gt;
         public function Main() {&lt;br /&gt;
            var triangle:Sprite = new Sprite(  );&lt;br /&gt;
            triangle.graphics.lineStyle(1);&lt;br /&gt;
            triangle.graphics.beginFill(0x00FF00, 1);&lt;br /&gt;
            triangle.graphics.moveTo(25, 0);&lt;br /&gt;
            triangle.graphics.lineTo(50, 25);&lt;br /&gt;
            triangle.graphics.lineTo(0, 25);&lt;br /&gt;
            triangle.graphics.lineTo(25, 0);&lt;br /&gt;
            triangle.graphics.endFill(  );&lt;br /&gt;
            triangle.x = 200;&lt;br /&gt;
            triangle.y = 100;&lt;br /&gt;
            &lt;br /&gt;
            triangle.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveListener);&lt;br /&gt;
            &lt;br /&gt;
         }&lt;br /&gt;
        private function mouseMoveListener (e:MouseEvent):void {&lt;br /&gt;
          var pointInParent:Point = parent.globalToLocal(new Point(e.stageX,e.stageY));&lt;br /&gt;
          x = pointInParent.x;&lt;br /&gt;
          y = pointInParent.y;&lt;br /&gt;
        &lt;br /&gt;
          e.updateAfterEvent(  );&lt;br /&gt;
        &lt;br /&gt;
          if (!visible) {&lt;br /&gt;
            visible = true;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Responding to Mouse and Key Events==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
    import flash.display.Sprite;&lt;br /&gt;
    import flash.events.MouseEvent;&lt;br /&gt;
    &lt;br /&gt;
    public class Main extends Sprite {&lt;br /&gt;
        private var _sprite:Sprite;&lt;br /&gt;
    &lt;br /&gt;
        public function Main(  ) {&lt;br /&gt;
            _sprite = new Sprite(  );&lt;br /&gt;
            addChild(_sprite);&lt;br /&gt;
            _sprite.graphics.beginFill(0xffffff);&lt;br /&gt;
            _sprite.graphics.drawRect(0, 0, 400, 400);&lt;br /&gt;
            _sprite.graphics.endFill(  );&lt;br /&gt;
            _sprite.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);&lt;br /&gt;
            _sprite.addEventListener(MouseEvent.MOUSE_UP, onMouseUp);&lt;br /&gt;
        }&lt;br /&gt;
        private function onMouseDown(event:MouseEvent):void {&lt;br /&gt;
            _sprite.graphics.lineStyle(1, 0, 1);&lt;br /&gt;
            _sprite.graphics.moveTo(mouseX, mouseY);&lt;br /&gt;
            _sprite.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        private function onMouseUp(event:MouseEvent):void&lt;br /&gt;
        {&lt;br /&gt;
            _sprite.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);&lt;br /&gt;
        }&lt;br /&gt;
        private function onMouseMove(event:MouseEvent):void {&lt;br /&gt;
            _sprite.graphics.lineTo(mouseX, mouseY);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Rollover Test==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package {&lt;br /&gt;
     &lt;br /&gt;
     import flash.display.Sprite;&lt;br /&gt;
     import flash.events.MouseEvent;&lt;br /&gt;
     &lt;br /&gt;
     [SWF(width=550, height=400)]&lt;br /&gt;
     public class Main extends Sprite {&lt;br /&gt;
     &lt;br /&gt;
          private static var UP_COLOR:uint = 0xFF0000;&lt;br /&gt;
          private static var ROLLOVER_COLOR:uint = 0x0000FF;&lt;br /&gt;
          &lt;br /&gt;
          private var _square:Sprite = new Sprite();&lt;br /&gt;
          &lt;br /&gt;
          public function Main() {&lt;br /&gt;
               drawSquare(UP_COLOR);&lt;br /&gt;
               addChild(_square);&lt;br /&gt;
               &lt;br /&gt;
               _square.doubleClickEnabled = true;&lt;br /&gt;
               &lt;br /&gt;
               _square.addEventListener(MouseEvent.CLICK, onSquareClick);&lt;br /&gt;
               _square.addEventListener(MouseEvent.DOUBLE_CLICK, onSquareDoubleClick);&lt;br /&gt;
               _square.addEventListener(MouseEvent.ROLL_OVER, onSquareRollOver);&lt;br /&gt;
               _square.addEventListener(MouseEvent.ROLL_OUT, onSquareRollOut); &lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function drawSquare(color:uint):void {&lt;br /&gt;
               _square.graphics.clear();&lt;br /&gt;
               _square.graphics.lineStyle(2, 0x000000);&lt;br /&gt;
               _square.graphics.beginFill(color);&lt;br /&gt;
               _square.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;
               _square.graphics.endFill();&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function onSquareClick(event:MouseEvent):void {&lt;br /&gt;
               trace(&amp;quot;ouch!&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function onSquareDoubleClick(event:MouseEvent):void {&lt;br /&gt;
               trace(&amp;quot;double ouch!&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function onSquareRollOver(event:MouseEvent):void {&lt;br /&gt;
               drawSquare(ROLLOVER_COLOR);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          private function onSquareRollOut(event:MouseEvent):void {&lt;br /&gt;
               drawSquare(UP_COLOR);&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using MouseEvent in Conjunction with the Mouse==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
package&lt;br /&gt;
{&lt;br /&gt;
    import flash.display.Sprite;&lt;br /&gt;
    import flash.events.MouseEvent;&lt;br /&gt;
    import flash.ui.Mouse;&lt;br /&gt;
    public class Main extends Sprite&lt;br /&gt;
    {&lt;br /&gt;
        private var circleMouse:Sprite = new Sprite();&lt;br /&gt;
        private var squareMouse:Sprite = new Sprite();&lt;br /&gt;
        private var currentMouse:Sprite = new Sprite();&lt;br /&gt;
        private var useSquareField:Sprite = new Sprite();&lt;br /&gt;
        private var useCircleField:Sprite = new Sprite();&lt;br /&gt;
        public function Main()&lt;br /&gt;
        {&lt;br /&gt;
            useSquareField.graphics.beginFill(0xFFFFFF, 1);&lt;br /&gt;
            useSquareField.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;
            useSquareField.graphics.endFill();&lt;br /&gt;
            useSquareField.name = &amp;quot;square&amp;quot;;&lt;br /&gt;
            useSquareField.x = 200;&lt;br /&gt;
            useCircleField.graphics.beginFill(0xFFFFFF, 1);&lt;br /&gt;
            useCircleField.graphics.drawRect(0, 0, 100, 100);&lt;br /&gt;
            useCircleField.name = &amp;quot;circle&amp;quot;;&lt;br /&gt;
            useCircleField.graphics.endFill();&lt;br /&gt;
            addChild(useCircleField);&lt;br /&gt;
            addChild(useSquareField);&lt;br /&gt;
            useCircleField.addEventListener(MouseEvent.ROLL_OVER, useCircle);&lt;br /&gt;
            useSquareField.addEventListener(MouseEvent.ROLL_OVER, useSquare);&lt;br /&gt;
            useCircleField.addEventListener(MouseEvent.ROLL_OUT, showMouse);&lt;br /&gt;
            useSquareField.addEventListener(MouseEvent.ROLL_OUT, showMouse);&lt;br /&gt;
            circleMouse.graphics.beginFill(0x00ff00, 1);&lt;br /&gt;
            circleMouse.graphics.drawCircle(0, 0, 5);&lt;br /&gt;
            circleMouse.graphics.endFill();&lt;br /&gt;
            currentMouse = new Sprite();&lt;br /&gt;
            squareMouse.graphics.beginFill(0xff0000, 1);&lt;br /&gt;
            squareMouse.graphics.drawRect(0, 0, 10, 10);&lt;br /&gt;
            squareMouse.graphics.endFill();&lt;br /&gt;
            this.stage.addEventListener(MouseEvent.MOUSE_MOVE, moveNewMouse);&lt;br /&gt;
        }&lt;br /&gt;
        private function moveNewMouse(mouseEvent:MouseEvent):void&lt;br /&gt;
        {&lt;br /&gt;
            currentMouse.x = mouseEvent.stageX + 5;&lt;br /&gt;
            currentMouse.y = mouseEvent.stageY + 5;&lt;br /&gt;
            mouseEvent.updateAfterEvent();&lt;br /&gt;
        }&lt;br /&gt;
        private function useSquare(mouseEvent:MouseEvent):void&lt;br /&gt;
        {&lt;br /&gt;
            Mouse.hide();&lt;br /&gt;
            addChild(squareMouse);&lt;br /&gt;
            currentMouse = squareMouse;&lt;br /&gt;
        }&lt;br /&gt;
        private function useCircle(mouseEvent:MouseEvent):void&lt;br /&gt;
        {&lt;br /&gt;
            Mouse.hide();&lt;br /&gt;
            addChild(circleMouse);&lt;br /&gt;
            currentMouse = circleMouse;&lt;br /&gt;
        }&lt;br /&gt;
        private function showMouse(mouseEvent:MouseEvent):void&lt;br /&gt;
        {&lt;br /&gt;
            if((mouseEvent.target as Sprite) == useSquareField)&lt;br /&gt;
            {&lt;br /&gt;
                removeChild(squareMouse);&lt;br /&gt;
            }&lt;br /&gt;
            else {&lt;br /&gt;
                removeChild(circleMouse);&lt;br /&gt;
            }&lt;br /&gt;
            currentMouse = new Sprite();&lt;br /&gt;
            Mouse.show();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>