| 包 | flash.ui | 
| 类 | public final class Mouse | 
| 继承 | Mouse    Object | 
| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 Flash Player 9 | 
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
![]()  | constructor : Object 
  对类对象或给定对象实例的构造函数的引用。  | Object | |
| cursor : String [静态] 设置鼠标光标。  | Mouse | ||
![]()  | prototype : Object [静态] 
  对类或函数对象的原型对象的引用。  | Object | |
| 方法 | 定义方 | ||
|---|---|---|---|
![]()  | 
  指示对象是否已经定义了指定的属性。  | Object | |
[静态] 隐藏指针。  | Mouse | ||
![]()  | 
  指示 Object 类的实例是否在指定为参数的对象的原型链中。  | Object | |
![]()  | 
  指示指定的属性是否存在、是否可枚举。  | Object | |
![]()  | 
     设置循环操作动态属性的可用性。  | Object | |
[静态] 显示指针。  | Mouse | ||
![]()  | 
  返回指定对象的字符串表示形式。  | Object | |
![]()  | 
  返回指定对象的原始值。  | Object | |
| cursor | 属性 | 
cursor:String  [读写] | 语言版本: | ActionScript 3.0 | 
| 运行时版本: | Flash Player 10, AIR 1.5 | 
设置鼠标光标。
            默认值为 flash.ui.MouseCursor.AUTO。
          
若要设置此属性的值,请使用下列字符串值:
| 字符串值 | Description | 
|---|---|
                    flash.ui.MouseCursor.AUTO
                   | 鼠标光标将根据鼠标下的对象自动更改。 | 
                    flash.ui.MouseCursor.ARROW
                   | 鼠标光标将是一个箭头。 | 
                    flash.ui.MouseCursor.BUTTON
                   | 鼠标光标将是一只点击按钮的手。 | 
                    flash.ui.MouseCursor.HAND
                   | 鼠标光标将是一只正在拖动的手。 | 
                    flash.ui.MouseCursor.IBEAM
                   | 鼠标光标将呈工字形。 | 
    public static function get cursor():String    public function set cursor(value:String):voidArgumentError  — 
              如果设置的值不是 flash.ui.MouseCursor 的成员。
             | 
另请参见
| hide | () | 方法 | 
 public static function hide():void| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 Flash Player 9 | 
隐藏指针。默认情况下,指针是可见的。
            注意:无论之前调用了多少次 Mouse.show(),Mouse.hide() 只需要调用一次。
          
另请参见
| show | () | 方法 | 
 public static function show():void| 语言版本: | ActionScript 3.0 | 
| 运行时版本: | AIR 1.0 Flash Player 9 | 
显示指针。默认情况下,指针是可见的。
            注意:无论之前调用了多少次 Mouse.hide(),Mouse.show() 只需要调用一次。
          
另请参见
cursor、CustomButton 类型的 child 和 uint 类型的 gutter。
          child 赋给新的 CustomButton 实例,将其 x 和 y 坐标设置为各 10 像素,然后将该实例添加到显示列表中。CustomButton 类覆盖 SimpleButton 中的 downState、upState、overState 和 hitTestState 属性。其中的每一个属性都实例化一个 ButtonDisplayState 对象,这些对象将绘制不同的正方形,具体取决于 child 实例的状态。
          child 实例然后用于添加 MOUSE_OVER 事件侦听器和 mouseOverHandler() 侦听器方法以及 MOUSE_OUT 事件侦听器和关联的 mouseOutHandler() 方法。
          mouseOverHandler:隐藏“普通”指针并添加 MOUSE_MOVE 侦听器,该侦听器使用下述 mouseMoveHandler() 处理鼠标移动。
              mouseOutHandler:当鼠标移动到自定义按钮之外时,显示“普通”指针,删除 MOUSE_MOVE 事件侦听器,并将自定义光标的可见性设置为 false。
              mouseMoveHandler:指针移到哪里,自定义光标就跟到哪里,并将自定义光标的可见性设置为 true。
              MouseExample 构造函数中,将光标属性赋给新的 CustomCursor 对象,然后使用 addChild() 将该对象添加到显示列表中。每当鼠标停留在 child 之上时,CustomCursor 类会绘制一个几近黑色的小正方形来替代“普通”指针。
          MOUSE_LEAVE 类型的第四个事件侦听器以及关联的 mouseLeaveHandler() 方法。在此方法(如果鼠标离开舞台则调用此方法)中,向 mouseOutHandler() 传递一个新 mouseMove 侦听器对象,该对象彻底删除指针,使其不留在舞台上。
          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();
    }
}