ActionScript® 3.0 — dokumentacja dla platformy Adobe® Flash®
Strona główna  |  Ukryj listę pakietów i klas |  Pakiety  |  Klasy  |  Nowości  |  Indeks  |  Dodatki  |  Dlaczego język angielski?
Filtry: Pobieranie danych z serwera...
Pobieranie danych z serwera...
flash.ui 

Mouse  - AS3

Pakietflash.ui
Klasapublic final class Mouse
DziedziczenieMouse Inheritance Object

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Metody klasy Mouse służą do ukrywania i wyświetlania wskaźnika myszy lub do ustawiania wskaźnika w określonym stylu. Klasa Mouse to klasa najwyższego poziomu, w której można korzystać z metod i właściwości bez użycia konstruktora. Wskaźnik jest domyślnie widoczny, jednak można go ukryć i wprowadzić wskaźnik niestandardowy.

Wyświetl przykłady

Powiązane elementy interfejsu API



Właściwości publiczne
 WłaściwośćZdefiniowane przez
 Inheritedconstructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu.
Object
  cursor : String
[statyczny] Nazwa kursora macierzystego.
Mouse
  supportsCursor : Boolean
[statyczny] [tylko do odczytu] Wskazuje, czy komputer lub urządzenie wyświetla trwały kursor.
Mouse
  supportsNativeCursor : Boolean
[statyczny] [tylko do odczytu] Określa, czy bieżąca konfiguracja obsługuje kursory macierzyste.
Mouse
Metody publiczne
 MetodaZdefiniowane przez
 Inherited
Wskazuje, czy dla obiektu zdefiniowano określoną właściwość.
Object
  
[statyczny] Ukrywa wskaźnik.
Mouse
 Inherited
Wskazuje, czy instancja klasy Object należy do łańcucha prototypów obiektu określonego jako parametr.
Object
 Inherited
Wskazuje, czy określona właściwość istnieje i jest przeliczalna.
Object
  
[statyczny] Rejestruje kursor natywny pod określoną nazwą przy użyciu określonych danych.
Mouse
 Inherited
Ustawia dostępność właściwości dynamicznej używanej w pętlach.
Object
  
[statyczny] Wyświetla wskaźnik.
Mouse
 Inherited
Zwraca ciąg reprezentujący obiekt — sformatowany zgodnie z konwencjami właściwymi dla ustawień regionalnych.
Object
 Inherited
Zwraca ciąg reprezentujący określony obiekt.
Object
  
[statyczny] Anuluje rejestrację kursora macierzystego pod określoną nazwą.
Mouse
 Inherited
Zwraca pierwotną wartość dla określonego obiektu.
Object
Szczegół właściwości

cursor

właściwość
cursor:String

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.2, AIR 1.5

Nazwa kursora natywnego.



Implementacja
    public static function get cursor():String
    public static function set cursor(value:String):void

supportsCursor

właściwość 
supportsCursor:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.1, AIR 2

Wskazuje, czy komputer lub urządzenie wyświetla trwały kursor.

Właściwość supportsCursor ma wartość true na większości komputerów stacjonarnych i wartość false na większości urządzeń przenośnych.

Uwaga: Zdarzenia myszy mogą być wywoływane bez względu na to, czy ta właściwość ma wartość true. Jednak zdarzenia dotyczące myszy mogą działać inaczej w zależności od fizycznych właściwości urządzenia wskazującego.



Implementacja
    public static function get supportsCursor():Boolean

Powiązane elementy interfejsu API


Przykład  ( Sposób korzystania z tego przykładu )
Poniższy przykład jest prostym testem wskazującym, czy obecnie jest, czy nie jest obsługiwany trwały kursor. Podczas testowania tego przykładu można wyświetlić wartość właściwości, klikając pole tekstowe.
import flash.events.*;
import flash.display.*;
import flash.ui.Mouse;
import flash.text.TextField;

var supportsCursorTxt:TextField = new TextField();
supportsCursorTxt.width = 200;
supportsCursorTxt.border = true;
addChild(supportsCursorTxt);

addEventListener (MouseEvent.CLICK, getScreenKeyboardType);

function getScreenKeyboardType(e:MouseEvent):void{
    supportsCursorTxt.text= "Supports Cursor is : " + String(flash.ui.Mouse.supportsCursor);

}
Poniższy kod sprawdza dane wprowadzone przez użytkownika w różnych środowiskach i odpowiada na nie. Przykładowy kod został napisany tak, jak gdyby był częścią gry, w której używany jest kursor. Najpierw kod sprawdza, czy środowisko obsługuje kursor. Jeśli nie, sprawdza, czy środowisko obsługuje interakcje z piórem dotykowym. Jeśli tak, kod wstawiony w odpowiednim miejscu może dostosowywać działanie gry do współpracy z piórem dotykowym. Jeśli środowisko obsługuje interakcje dotykowe (dotyk palcem), kod wstawiony w odpowiednim miejscu może dostosowywać działanie programu do specyfiki ekranu dotykowego obsługiwanego palcami. Jeśli nie jest obsługiwane żadne urządzenie wskazujące, programista powinien utworzyć alternatywne kursory lub metody interakcji, np. za pomocą klawiatury.
if(Mouse.supportsCursor) {
    //Game acts as before
} else {
    if(Capabilities.touchscreenType == TouchscreenType.STYLUS ){
        //The Game has to change so that the character is chasing the location of the stylus as 
        //it's dragged around. Some of the animations will have to change
    }else if(Capabilities.touchscreenType = TouchscreenType.FINGER){
        //Same as above, except that the hit-area is larger for a finger.
    }else{
        //There's no pointing device at all. The developer designs some sort of custom cursor to 
        //be controlled with key presses or similar input
    }
}

supportsNativeCursor

właściwość 
supportsNativeCursor:Boolean  [tylko do odczytu]

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.2, AIR 1.5

Określa, czy bieżąca konfiguracja obsługuje kursory macierzyste.



Implementacja
    public static function get supportsNativeCursor():Boolean
Szczegół metody

hide

()metoda
public static function hide():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Ukrywa wskaźnik. Wskaźnik jest domyślnie widoczny.

Uwaga: Metodę Mouse.hide() wystarczy wywołać tylko raz, niezależnie od liczby wcześniejszych wywołań metody Mouse.show().

Powiązane elementy interfejsu API

registerCursor

()metoda 
public static function registerCursor(name:String, cursor:MouseCursorData):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.2, AIR 1.5

Rejestruje kursor macierzysty pod określoną nazwą przy użyciu określonych danych.

Parametry

name:String
 
cursor:MouseCursorData

show

()metoda 
public static function show():void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: AIR 1.0, Flash Player 9

Wyświetla wskaźnik. Wskaźnik jest domyślnie widoczny.

Uwaga: Metodę Mouse.show() wystarczy wywołać tylko raz, niezależnie od liczby wcześniejszych wywołań metody Mouse.hide().

Powiązane elementy interfejsu API

unregisterCursor

()metoda 
public static function unregisterCursor(name:String):void

Wersja języka: ActionScript 3.0
Wersje środowiska wykonawczego: Flash Player 10.2, AIR 1.5

Anuluje rejestrację kursora natywnego pod określoną nazwą.

Parametry

name:String

MouseExample.as

W poniższym przykładzie wykorzystana jest klasa MouseExample, SimpleButton, ButtonDisplayState i CustomCursor w celu umieszczenia pojedynczego przycisku na stole montażowym. Przycisk zawiera niestandardowy wskaźnik i zmienai się po kliknięciu. Proces przebiega w następujący sposób:
  1. Zadeklaruj następujące właściwości instancji: cursor typu CustomCursor, child typu CustomButton oraz gutter typu uint.
  2. Przypisz instancję child do nowej instancji CustomButton, ustaw współrzędne x i y na 10 pikseli każdy i następnie dodaj instancję do listy wyświetlania. Klasa CustomButton przesłania właściwości downState, upState, overState oraz hitTestState w klasie SimpleButton. Każda z tych właściwości inicjuje obiekt ButtonDisplayState rysujący inny kwadrat w zależności od stanu instancji child.
  3. Instancja child służy wówczas do dodania detektora zdarzeń MOUSE_OVER oraz metody detektora mouseOverHandler() razem z detektorem zdarzeń MOUSE_OUT oraz skojarzoną metodą mouseOutHandler().
  4. Detektory zdarzeń funkcjonują w następujący sposób:
    • mouseOverHandler: Ukrywa „normalny” wskaźnik i dodaje detektor MOUSE_MOVE, który przetwarza ruchy myszki za pomocą metody mouseMoveHandler() opisanej poniżej.
    • mouseOutHandler: Kiedy mysz porusza się poza przyciskiem niestandardowym, pokazany jest „normalny” wskaźnik, detektor zdarzeń MOUSE_MOVE zostaje usunięty, a dla widoczności kursora niestandardowego zostaje ustawiona wartość false.
    • mouseMoveHandler: Porusza kursorem niestandardowym zgodnie z ruchem wskaźnika, a dla widoczności kursora niestandardowego zostaje ustawiona wartość true.
  5. W konstruktorze MouseExample właściwość cursor jest przypisana do nowego obiektu CustomCursor, a następnie dodana do listy wyświetlania za pomocą metody addChild(). Za pomocą klasy CustomCursor rysowany jest niemal czarny kwadrat w miejscu „normalnego” wskaźnika za każdym razem, kiedy mysz znajdzie się nad instancją child.
  6. Zostaje dodany czwarty detektor zdarzeń typu MOUSE_LEAVE za pomocą skojarzonej metody mouseLeaveHandler(). W tej metodzie (wywołanej, jeśli mysz opuści stół montażowy) mouseOutHandler() jest przekazana do obiektu detektora mouseMove, który zasadniczo usuwa wskaźnik, tak aby nie został na stole montażowym.
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();
    }
}




[ X ]Dlaczego język angielski?
Treść dokumentacji języka ActionScript 3.0 wyświetlana w języku angielskim

Niektóre części dokumentacji języka ActionScript 3.0 nie są przetłumaczone na poszczególne języki. Gdy element nie jest przetłumaczony na dany język, jest wyświetlany tekst angielski. Na przykład opis klasy ga.controls.HelpBox nie jest przetłumaczony na żaden dodatkowy język. Z tego powodu polska wersja dokumentacji zawiera opis klasy ga.controls.HelpBox w języku angielskim.