Wykrywanie obsługi interakcji dotykowych

Flash Player 10.1 i nowsze wersje, Adobe AIR 2 i nowsze wersje

Korzystając z właściwości klasy Multitouch , należy ustalić zakres interakcji dotykowych, jakie aplikacja będzie obsługiwać. Następnie należy przetestować środowisko, aby upewnić się, że obsługuje ono zdarzenia obsługiwane przez kod ActionScript użytkownika. W szczególności najpierw należy ustalić rodzaj interakcji dotykowych z aplikacją. Dostępne są następujące opcje: punkt kontaktu, gest i brak (wszystkie interakcje dotykowe są interpretowane jako kliknięcia myszą i obsługiwane wyłącznie przez funkcje obsługi zdarzeń myszy). Następnie, korzystając z właściwości i metod klasy Multitouch, należy upewnić się, że bieżące środowisko obsługuje interakcje dotykowe wymagane przez aplikacje. Należy sprawdzić, czy w środowisku wykonawczym obsługiwane są poszczególne typy interakcji dotykowych (np. czy środowisko interpretuje gesty), i odpowiednio zareagować na rezultat tego sprawdzenia.
Uwaga: Właściwości klasy Multitouch są statyczne i nie należą do instancji żadnej klasy. Aby z nich skorzystać, należy użyć składni Multitouch.property, na przykład:
var touchSupport:Boolean = Multitouch.supportsTouchEvents;

Ustawienie typu interakcji wejściowych

Środowisko wykonawcze Flash musi znać typy interakcji wejściowych, jakie będą interpretowane, ponieważ jedno zdarzenie dotyku może składać się z wielu elementów lub faz. Jeśli użytkownik po prostu dotknie palcem ekranu dotykowego, to czy środowisko wykonawcze wywoła zdarzenie dotknięcia? Czy będzie czekać na gest? Czy też potraktuje dotknięcie jak kliknięcie myszą? Aplikacja obsługująca interakcje dotykowe musi określić typ obsługiwanych zdarzeń dotyku pochodzących ze środowiska wykonawczego Flash. Do określenia typu interakcji dotykowych pochodzących ze środowiska wykonawczego służy właściwość Multitouch.inputMode . Dostępne są trzy tryby obsługi interakcji wejściowych:
Brak
Brak szczególnej obsługi zdarzeń dotyku. Należy przypisać wartość Multitouch.inputMode=MultitouchInputMode.NONE i obsługiwać interakcje za pomocą klasy MouseEvent.

Pojedyncze punkty kontaktu
Każdy punkt kontaktu jest interpretowany indywidualnie i możliwe jest śledzenie oraz obsługiwanie wszystkich punktów kontaktu. Należy przypisać wartość Multitouch.inputMode=MultitouchInputMode.TOUCH_POINT i obsługiwać interakcje za pomocą klasy TouchEvent.

Gesty
Urządzenie lub system operacyjny interpretuje interakcje jako złożony ruch palca po ekranie. Urządzenie lub system operacyjny przypisuje całemu ruchowi pojedyncze zdarzenie gestu. Należy przypisać wartość: Multitouch.inputMode=MultitouchInputMode.GESTURE i obsługiwać interakcje za pomocą klas TransformGestureEvent, PressAndTapGestureEvent lub GestureEvent.

Sekcja Obsługa zdarzeń dotyku zawiera przykład wykorzystania właściwości Multitouch.inputMode do określenia typy interakcji przed rozpoczęciem obsługi zdarzeń dotyku.

Sprawdzanie, czy interakcje dotykowe są obsługiwane

Pozostałe właściwości klasy Multitouch udostępniają wartości umożliwiające precyzyjne dostosowanie działania aplikacji do specyfiki obsługi interakcji dotykowych w bieżącym środowisku. Środowisko wykonawcze Flash wpisuje wartości odzwierciedlające liczbę dozwolonych punktów jednoczesnego kontaktu lub liczbę gestów. Jeśli w środowisku wykonawczym nie są obsługiwane potrzebne aplikacji interakcje dotykowe, należy udostępnić użytkownikowi alternatywny sposób obsługi. Na przykład można obsługiwać zdarzenia myszy lub wyświetlić informacje o dostępności i niedostępności konkretnych funkcji w bieżącym środowisku.

Można również użyć elementów interfejsu API do obsługi klawiatury, interakcji dotykowych i myszy — zobacz Wykrywanie typów interakcji wejściowych .

Więcej informacji na temat testowania zgodności zawiera sekcja Rozwiązywanie problemów .