Главная / Action Script 3
Пакетflash.ui
Классpublic final class Mouse
НаследованиеMouse Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Методы класса Mouse используются, чтобы скрывать и показывать указатель мыши или чтобы задавать определенный стиль указателя. Класс Mouse является классом высшего уровня, к свойствам и методам которого можно обращаться без помощи конструктора.

Посмотреть примеры

См. также

flash.events.MouseEvent
Захват действий мыши


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  cursor : String
[статические] Задает курсор мыши.
Mouse
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
  
[статические] Скрывает указатель мыши.
Mouse
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
  
[статические] Отображает указатель мыши.
Mouse
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
cursorсвойство
cursor:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  10, 1.5

Задает курсор мыши.

Значение по умолчанию — flash.ui.MouseCursor.AUTO.

В качестве значений этого свойства используйте следующие строковые значения:

Строковое значениеОписание
flash.ui.MouseCursor.AUTOКурсор мыши будет автоматически изменяться в зависимости от находящегося под ним объекта.
flash.ui.MouseCursor.ARROWКурсор мыши будет отображаться в виде стрелки.
flash.ui.MouseCursor.BUTTONКурсор мыши будет отображаться в виде руки, нажимающей кнопку.
flash.ui.MouseCursor.HANDКурсор мыши будет отображаться в виде перетаскивающей руки.
flash.ui.MouseCursor.IBEAMКурсор мыши будет отображаться в виде I-образного указателя.



Реализация
    public static function get cursor():String
    public function set cursor(value:String):void

Выдает
ArgumentError — Если ему задано значение, не являющееся элементом flash.ui.MouseCursor.

См. также

Сведения о методе
hide()метод
public static function hide():void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Скрывает указатель мыши. По умолчанию указатель находится в видимом состоянии.

См. также

show()метод 
public static function show():void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Отображает указатель мыши. По умолчанию указатель находится в видимом состоянии.

См. также

Примеры Как пользоваться примерами
MouseExample.as

В следующем примере используются классы MouseExample, SimpleButton, ButtonDisplayState и CustomCursor для добавления простой кнопки в рабочую область. Кнопка имеет пользовательский указатель и изменяется при щелчке. Это можно сделать, выполнив следующие действия:
  1. Объявите следующие свойства экземпляра cursor типа CustomCursor, child типа CustomButton и gutter типа uint.
  2. Назначьте child новому экземпляру CustomButton, задайте его координатам x и y значение 10 (пикселов), а затем добавьте экземпляр в список отображения. Класс CustomButton переопределяет свойства downState, upState, overState и hitTestState объекта SimpleButton. Каждое из этих свойств создает экземпляр объекта ButtonDisplayState, который рисует разные квадраты в зависимости от состояния экземпляра child.
  3. Затем с помощью экземпляра child добавляется прослушиватель событий MOUSE_OVER и связанный с ним метод mouseOverHandler(), а также прослушиватель событий MOUSE_OUT и связанный метод mouseOutHandler().
  4. Прослушиватели событий работают следующим образом.
    • mouseOverHandler: скрывает обычный указатель и добавляет прослушиватель MOUSE_MOVE, который обрабатывает перемещение мыши с помощью метода mouseMoveHandler(), описанного ниже.
    • mouseOutHandler: когда мышь перемещается за пределы за пользовательской кнопки, показывается "обычный" указатель, прослушиватель событий MOUSE_MOVE удаляется, а видимость пользовательского курсора получает значение false.
    • mouseMoveHandler: перемещает пользовательский курсор в соответствии с движениями указателя и задает для его видимости значение true.
  5. В конструкторе MouseExample свойство cursor назначается новому объекту CustomCursor и затем добавляется в список отображения с помощью метода addChild(). Класс CustomCursor рисует маленький почти черный квадрат вместо "обычного" указателя, когда мышь наводится на child.
  6. Добавляется четвертый прослушиватель событий 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();
    }
}