ActionScript 3.0 Language and Components Reference | All Packages | All Classes | Language Elements | Index | Appendixes | Conventions | Frames No Frames |
Mouse

Package | flash.ui
Class | public final class Mouse
Inheritance | Mouse Object

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

The methods of the Mouse class are used to hide and show the mouse pointer, or to set the pointer to a specific style. The Mouse class is a top-level class whose properties and methods you can access without using a constructor. The pointer is visible by default, but you can hide it and implement a custom pointer.

View the examples

See also

flash.events.MouseEvent
Capturing mouse input

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | cursor : String [static] Sets the mouse cursor. | Mouse
|  | prototype : Object [static] A reference to the prototype object of a class or function object. | Object

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | hide():void [static] Hides the pointer. | Mouse
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | show():void [static] Displays the pointer. | Mouse
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

cursor | property

`cursor:String` [read-write]

Language Version : | ActionScript 3.0

Player Version : | Flash Player 10

Sets the mouse cursor.

The default value is `flash.ui.MouseCursor.AUTO`.

To set values for this property, use the following string values:

String value | Description
--- | ---
`flash.ui.MouseCursor.AUTO` | Mouse cursor will change automatically based on the object under the mouse.
`flash.ui.MouseCursor.ARROW` | Mouse cursor will be an arrow.
`flash.ui.MouseCursor.BUTTON` | Mouse cursor will be a button clicking hand.
`flash.ui.MouseCursor.HAND` | Mouse cursor will be a dragging hand.
`flash.ui.MouseCursor.IBEAM` | Mouse cursor will be an I-beam.

Implementation
`public static function get cursor():String`
`public function set cursor(value:String):void`
Throws

| `ArgumentError` — If set to any value which is not a member of `flash.ui.MouseCursor`.

See also

flash.ui.MouseCursor
Method Detail

hide | () | method

`public static function hide():void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Hides the pointer. The pointer is visible by default.

See also

flash.display.DisplayObject.mouseX
flash.display.DisplayObject.mouseY

show | () | method |

`public static function show():void`

Language Version : | ActionScript 3.0

Player Version : | Flash Player 9

Displays the pointer. The pointer is visible by default.

See also

flash.display.DisplayObject.mouseX
flash.display.DisplayObject.mouseY
Examples How to use examples
MouseExample.as
The following example uses the MouseExample, SimpleButton, ButtonDisplayState, and CustomCursor classes to place a simple button on the Stage. The button has a custom pointer and the button changes when clicked. This is accomplished with the following steps:

1. Declare the following instance properties: `cursor` of type CustomCursor, `child` of type CustomButton, and `gutter` of type uint.
2. Assign `child` to a new CustomButton instance, set its x and y coordinates to 10 pixels each, and then add the instance to the display list. The CustomButton class overrides the `downState`, `upState`, `overState`, and `hitTestState` properties in SimpleButton. Each of these properties instantiates a ButtonDisplayState object, which draws a different square, depending on the state of the `child` instance.
3. The `child` instance is then used to add a `MOUSE_OVER` event listener and `mouseOverHandler()` listener method, along with a `MOUSE_OUT` event listener and associated `mouseOutHandler()` method.
4. The event listeners work as follows:
   - `mouseOverHandler`: Hides the "normal" pointer and adds a `MOUSE_MOVE` listener, which processes the mouse moves using `mouseMoveHandler()`, described below.
   - `mouseOutHandler`: When the mouse moves outside the custom button, the "normal" pointer is shown, the `MOUSE_MOVE` event listener is removed, and the custom cursor's visibility is set to `false`.
   - `mouseMoveHandler`: Moves the custom cursor around wherever the pointer is moved and sets the custom cursor's visibility to `true`.
5. Back in the `MouseExample` constructor, the cursor property is assigned to a new CustomCursor object and then added to the display list using `addChild()`. The CustomCursor class draws a small nearly black square in place of the "normal" pointer whenever the mouse is over `child`.
6. A fourth event listener of type `MOUSE_LEAVE` is added, with the associated `mouseLeaveHandler()` method. In this method (called if the mouse leaves the Stage), `mouseOutHandler()` is passed a new `mouseMove` listener object, which essentially removes the pointer so it is not left on the Stage.

    package {
        import flash.display.Sprite;
        import flash.display.DisplayObject;
        import flash.ui.Mouse;
        import flash.events.*;

        public class MouseExample extends Sprite {
             private var cursor:CustomCursor;
             private var child:CustomButton;
             private var gutter:uint = 10;

            public function MouseExample() {
                child = new CustomButton();
                child.x = gutter;
                child.y = gutter;
                addChild(child);

                child.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
                child.addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);

                cursor = new CustomCursor();
                addChild(cursor);

                stage.addEventListener(Event.MOUSE_LEAVE, mouseLeaveHandler);
            }

            private function mouseOverHandler(event:MouseEvent):void {
                trace("mouseOverHandler");
                Mouse.hide();
                child.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            }

            private function mouseOutHandler(event:MouseEvent):void {
                trace("mouseOutHandler");
                Mouse.show();
                child.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
                cursor.visible = false;
            }

            private function mouseMoveHandler(event:MouseEvent):void {
                trace("mouseMoveHandler");
                cursor.x = event.localX;
                cursor.y = event.localY;
                event.updateAfterEvent();
                cursor.visible = true;
            }

            private function mouseLeaveHandler(event:Event):void {
                trace("mouseLeaveHandler");
                mouseOutHandler(new MouseEvent(MouseEvent.MOUSE_MOVE));
            }
        }
    }

    import flash.display.Shape;
    import flash.display.SimpleButton;

    class CustomButton extends SimpleButton {
        var upColor:uint = 0xFFCC00;
        var overColor:uint = 0xCCFF00;
        var downColor:uint = 0x00CCFF;
        var size:uint = 80;

        public function CustomButton() {
            downState = new ButtonDisplayState(downColor, size+10);
            overState = new ButtonDisplayState(overColor, size);
            upState = new ButtonDisplayState(upColor, size);
            hitTestState = new ButtonDisplayState(upColor, size);
        }
    }

    class ButtonDisplayState extends Shape {
        var bgColor:uint;
        var size:uint;

        public function ButtonDisplayState(bgColor:uint, size:uint) {
            this.bgColor = bgColor;
            this.size = size;
            draw();
        }

        private function draw():void {
            graphics.clear();
            graphics.beginFill(bgColor);
            graphics.drawRect(0, 0, size, size);
            graphics.endFill();
        }
    }

    class CustomCursor extends Shape {
        var bgColor:uint = 0x333333;
        var size:uint = 10;

        public function CustomCursor() {
            visible = false;
            draw();
        }

        private function draw():void {
            graphics.clear();
            graphics.beginFill(bgColor);
            graphics.drawRect(0, 0, size, size);
            graphics.endFill();
        }
    }

Submit Feedback on LiveDocs
© 2004-2008 Adobe Systems Incorporated. All rights reserved.
Tue May 20 2008, 04:02 AM -07:00