Pakiet | flash.ui |
Klasa | public final class Multitouch |
Dziedziczenie | Multitouch Object |
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
- flash.events.TouchEvent
- flash.events.GestureEvent
- flash.events.GesturePhase
- flash.events.TransformGestureEvent
- flash.events.PressAndTapGestureEvent
Klasy z listy należy wykorzystać w celu pisania kodu, który obsługuje zdarzenia dotyku. Klasa Multitouch służy do określania funkcji bieżącego środowiska przeznaczonych do interakcji dotykowych, a także do zarządzania funkcjami obsługi interakcji dotykowych, jeśli bieżące środowisko obsługuje dotknięcia.
Obiektu Multitouch nie można utworzyć bezpośrednio z kodu ActionScript. W przypadku wywołania metody new Multitouch()
zostanie zgłoszony wyjątek.
Uwaga: Funkcja Multitouch nie jest obsługiwana dla plików SWF osadzonych w kodzie HTML działającym w systemie Mac OS.
Więcej informacji
Christian Cantrell: Obsługa technologii wielodotykowej i gestów na platformie Flash
Lee Brimelow: Technologia wielodotykowa w programie Flash Player 10.1 — często zadawane pytania
Piotr Walczyszyn: Programowanie gestów wielodotykowych w środowisku Flex
Powiązane elementy interfejsu API
flash.events.GestureEvent
flash.events.TransformGestureEvent
flash.events.GesturePhase
flash.events.PressAndTapGestureEvent
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
Właściwość | Zdefiniowane przez | ||
---|---|---|---|
constructor : Object
Odwołanie do obiektu klasy lub funkcji konstruktora, dotyczące danej instancji obiektu. | Object | ||
inputMode : String [statyczny]
Identyfikuje tryb z sekwencją dotyku dla obsługi zdarzeń dotyku i gestu. | Multitouch | ||
mapTouchToMouse : Boolean [statyczny]
Określa, czy środowisko wykonawcze AIR odwzorowuje zdarzenia dotyku na zdarzenia myszy. | Multitouch | ||
maxTouchPoints : int [statyczny] [tylko do odczytu]
Maksymalna liczba jednoczesnych punktów kontaktu obsługiwana przez bieżące środowisko. | Multitouch | ||
supportedGestures : Vector.<String> [statyczny] [tylko do odczytu]
Tablica Vector (tablica określonego typu zawierająca ciągi znaków) kontaktów z sekwencją wielu ruchów i dotyku, których typy są obsługiwane w bieżącym środowisku. | Multitouch | ||
supportsGestureEvents : Boolean [statyczny] [tylko do odczytu]
Wskazuje, czy bieżące środowisko obsługuje gesty, takie jak obrót dwóch palców na ekranie dotykowym. | Multitouch | ||
supportsTouchEvents : Boolean [statyczny] [tylko do odczytu]
Wskazuje, czy bieżące środowisko obsługuje proste dotknięcia, takie jak stuknięcie jednym palcem. | Multitouch |
inputMode | właściwość |
inputMode:String
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Identyfikuje tryb z sekwencją dotyku dla obsługi zdarzeń dotyku i gestu. Ta właściwość służy do określania, czy zdarzenia są wywoływane jako zdarzenia dotyku z wieloma punktami kontaktu i osobnymi zdarzeniami dla różnych gestów (np. obrót lub zmiana panoramowania), czy tylko z jednym punktem kontaktu (np. stuknięcie), czy w ogóle nie są obsługiwane (kontakt jest obsługiwany jako zdarzenie myszy). W celu ustawienia tej właściwości należy użyć wartości z klasy flash.ui.MultitouchInputMode.
Wartością domyślną jest gesture.
Implementacja
public static function get inputMode():String
public static function set inputMode(value:String):void
Powiązane elementy interfejsu API
Przykład ( Sposób korzystania z tego przykładu )
Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT; var mySprite:Sprite = new Sprite(); var myTextField:TextField = new TextField(); mySprite.graphics.beginFill(0x336699); mySprite.graphics.drawRect(0,0,40,40); addChild(mySprite); mySprite.addEventListener(TouchEvent.TOUCH_TAP, taphandler); function taphandler(e:TouchEvent): void { myTextField.text = "I've been tapped"; myTextField.y = 50; addChild(myTextField); }
mapTouchToMouse | właściwość |
mapTouchToMouse:Boolean
Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | AIR 3 |
Określa, czy środowisko wykonawcze AIR odwzorowuje zdarzenia dotyku na zdarzenia myszy.
W przypadku wartości true
(wartość domyślna) środowisko wykonawcze AIR wywołuje zdarzenie myszy oprócz zdarzenia dotyku podczas wprowadzania danych za pomocą dotyku. W przypadku wartości false
środowisko wykonawcze nie wywołuje dodatkowego zdarzenia myszy. Ustawienie tej właściwości na wartość false
może spowodować, że istniejący kod oraz istniejące biblioteki i środowiska korzystające ze zdarzeń myszy będą działać nieprawidłowo na urządzeniach obsługujących wprowadzanie danych za pomocą dotyku.
Implementacja
public static function get mapTouchToMouse():Boolean
public static function set mapTouchToMouse(value:Boolean):void
Powiązane elementy interfejsu API
maxTouchPoints | właściwość |
maxTouchPoints:int
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Maksymalna liczba jednoczesnych punktów kontaktu obsługiwana przez bieżące środowisko.
Uwaga: W systemie Android na urządzeniach obsługujących więcej niż dwa punkty kontaktu jest zwracana wartość 2.
Implementacja
public static function get maxTouchPoints():int
Powiązane elementy interfejsu API
supportedGestures | właściwość |
supportedGestures:Vector.<String>
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Tablica Vector (tablica określonego typu zawierająca ciągi znaków) kontaktów z sekwencją wielu ruchów i dotyku, których typy są obsługiwane w bieżącym środowisku. Tablica ciągów znaków może być używana jako typy zdarzeń w celu rejestrowania detektorów zdarzeń. Możliwymi wartościami są stałe z klas GestureEvent, PressAndTapGestureEvent i TransformGestureEvent (na przykład GESTURE_PAN
).
Jeśli środowisko wykonawcze Flash jest środowiskiem, które nie obsługuje żadnych gestów z sekwencją wielu ruchów i dotyku, wartość jest równa null
.
Uwaga: W systemie Mac OS 10.5.3 i późniejszych wersjach Multitouch.supportedGestures
zwraca wartości inne niż null (co może oznaczać, że gesty są obsługiwane niepoprawnie), nawet jeśli aktualne urządzenie nie obsługuje gestów.
Za pomocą tej właściwości można przetestować obsługę gestów z sekwencją wielu ruchów i dotyku. Następnie należy użyć detektorów zdarzeń dla dostępnych gestów z sekwencją wielu ruchów i dotyku. W przypadku tych gestów, które nie są obsługiwane w bieżącym środowisku, konieczne będzie utworzenie alternatywnych funkcji obsługi zdarzeń.
Implementacja
public static function get supportedGestures():Vector.<String>
Powiązane elementy interfejsu API
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.TransformGestureEvent
Przykład ( Sposób korzystania z tego przykładu )
Multitouch.supportedGestures
zmienia się w celu ujęcia wszystkich gestów dostępnych w bieżącym środowisku oprogramowania i sprzętu dla środowiska wykonawczego Flash. Jeśli tablica wektorów Multitouch.supportedGestures
nie zawiera jednego z gestów TransformGestureEvent, wówczas dla danego gestu nie zostanie dodany żaden detektor zdarzeń. Autorem tego przykładu jest Holly Schinsky.
Multitouch.inputMode = MultitouchInputMode.GESTURE; for each (var item:String in Multitouch.supportedGestures) { trace("gesture " + item); if (item == TransformGestureEvent.GESTURE_PAN) img.addEventListener(TransformGestureEvent.GESTURE_PAN, onPan); else if (item == TransformGestureEvent.GESTURE_ROTATE) img.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onRotate); else if (item == TransformGestureEvent.GESTURE_SWIPE) img.addEventListener(TransformGestureEvent.GESTURE_SWIPE, onSwipe); else if (item == TransformGestureEvent.GESTURE_ZOOM) img.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onZoom); }
supportsGestureEvents | właściwość |
supportsGestureEvents:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Wskazuje, czy bieżące środowisko obsługuje gesty, takie jak obrót dwóch palców na ekranie dotykowym. Zdarzenia gestów są wymienione w klasach TransformGestureEvent, PressAndTapGestureEvent i GestureEvent.
Uwaga: W systemie Mac OS 10.5.3 i późniejszych wersjach ta wartość jest zawsze równa true
. Multitouch.supportsGestureEvent
zwraca true
, nawet jeśli urządzenia nie obsługują zdarzeń gestów.
Implementacja
public static function get supportsGestureEvents():Boolean
Powiązane elementy interfejsu API
supportsTouchEvents | właściwość |
supportsTouchEvents:Boolean
[tylko do odczytu] Wersja języka: | ActionScript 3.0 |
Wersje środowiska wykonawczego: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Wskazuje, czy bieżące środowisko obsługuje proste dotknięcia, takie jak stuknięcie jednym palcem. Listę zdarzeń gestów zawiera klasa TouchEvent.
Implementacja
public static function get supportsTouchEvents():Boolean
Powiązane elementy interfejsu API
Multitouch.supportedGestures
zwraca null
, a przypisanie null
do wektora ciągów znaków powoduje błąd środowiska wykonawczego). Jeśli zdarzenia gestów są obsługiwane, wyświetlane są zdarzenia z klasy TransformGestureEvent obsługiwane w bieżącym środowisku:
package { import flash.ui.Multitouch; import flash.ui.MultitouchInputMode; import flash.display.Sprite; import flash.text.TextField; public class MultitouchExample extends Sprite { Multitouch.inputMode = MultitouchInputMode.GESTURE; public function MultitouchExample() { if(Multitouch.supportsGestureEvents){ var supportedGesturesVar:Vector.<String> = Multitouch.supportedGestures; var deviceSupports:TextField = new TextField(); deviceSupports.width = 200; deviceSupports.height = 200; deviceSupports.wordWrap = true; for (var i:int=0; i<supportedGesturesVar.length; ++i) { deviceSupports.appendText(supportedGesturesVar[i] + ", "); addChild(deviceSupports); } } } } }
Tue Jun 12 2018, 12:06 PM Z