Podstawy interakcji dotykowej

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

Gdy platforma Flash działa w środowisku, które obsługuje interakcje dotykowe, instancje klasy InteractiveObject mogą wykrywać zdarzenia dotyku i wywoływać funkcje obsługi. Co do zasady, obsługa zdarzeń dotyku, Multi-Touch i gestów odbywa się w języku ActionScript tak samo, jak obsługa innych zdarzeń (podstawowe informacje na ten temat zawiera sekcja Obsługa zdarzeń ).

Aby jednak środowisko wykonawcze Flash interpretowało dotyk lub gest, musi działać w środowisku sprzętowym i programowym, które obsługuje interakcje dotykowe i Multi-Touch. Sekcja Wykrywanie typów interakcji wejściowych zawiera tabelę z porównaniem różnych typów ekranów dotykowych. Ponadto, jeśli środowisko wykonawcze działa w aplikacji będącej jego kontenerem (np. przeglądarce), wówczas informacje o interakcjach przekazywane są do środowiska wykonawczego przez kontener. W niektórych przypadkach środowisko sprzętowe i system operacyjny obsługują interakcje Multi-Touch, jednak przeglądarka zawierająca środowisko wykonawcze Flash sama interpretuje te interakcje i nie przekazuje ich do środowiska wykonawczego. Niekiedy przeglądarka całkowicie ignoruje interakcje.

Poniższy schemat ilustruje przepływ interakcji od użytkownika do środowiska wykonawczego:

Powiększ obraz
Przepływ interakcji od użytkownika do środowiska wykonawczego platformy Flash

Na szczęście interfejs API języka ActionScript służący do tworzenia aplikacji obsługujących interakcje dotykowe zawiera klasy, metody i właściwości umożliwiające określenie poziomu obsługi interakcji dotykowych lub Multi-Touch w bieżącym środowisku wykonawczym. Odpowiednimi wywołaniami służącymi do określania poziomu obsługi interakcji dotykowych są tzw. „mechanizmy wykrywające” obsługę zdarzeń dotyku.

Ważne pojęcia i terminy

Poniższa lista zawiera objaśnienia terminów istotnych w kontekście tworzenia aplikacji obsługujących zdarzenia dotyku.

Mechanizmy wykrywające
Metody i właściwości służące do sprawdzania, czy środowisko wykonawcze obsługuje zdarzenia dotyku i poszczególne tryby interakcji.

Zdarzenie dotyku
Czynność wykonana na urządzeniu dotykowym przy użyciu pojedynczego punktu kontaktu.

Punkt kontaktu
Punkt kontaktu z urządzeniem odpowiadający pojedynczemu zdarzeniu dotyku. Nawet jeśli urządzenie nie obsługuje gestów, może obsługiwać wiele punktów kontaktu naraz.

Sekwencja dotykowa
Szereg zdarzeń odzwierciedlających cały przebieg pojedynczego dotknięcia. Do zdarzeń tych należy: jedno rozpoczęcie, zero lub większa liczba ruchów i jedno zakończenie

Zdarzenie Multi-Touch
Interakcja na urządzeniu dotykowym obejmująca kilka punktów kontaktu (np. dotyk więcej niż jednym palcem).

Zdarzenie gestu
Interakcja na urządzeniu dotykowym polegająca na podążaniu za złożonym ruchem. Przykładem gestu jest dotknięcie ekranu dotykowego dwoma palcami i przesunięcie ich jednocześnie po wyobrażonym okręgu w celu wskazania obrotu.

Fazy
Wyróżnione punkty w czasie przepływu zdarzeń (na przykład rozpoczęcie i zakończenie).

Pióro
Przyrząd służący do interakcji z ekranem dotykowym. Pióro jest przyrządem bardziej precyzyjnym niż ludzki palec. Niektóre urządzenia rozpoznają wyłącznie interakcje z określonym typem pióra. Urządzenia, które rozpoznają interakcje z piórem, mogą nie rozpoznawać wielu jednoczesnych punktów kontaktu ani dotknięć palcem.

Naciśnięcie i stuknięcie
Szczególny rodzaj gestu Multi-Touch, w którym użytkownik przyciska palec do urządzenia dotykowego, a następnie stuka drugim palcem lub urządzeniem wskazującym. Ten gest jest często używany do symulowania kliknięcia prawym przyciskiem myszy w aplikacjach Multi-Touch.

Struktura interfejsu API do obsługi interakcji dotykowych

Interfejs API języka ActionScript służący do obsługi interakcji dotykowych został zaprojektowany z uwzględnieniem faktu, że faktyczna obsługa interakcji dotykowych jest uzależniona od platformy sprzętowej i programowej, na której działa środowisko wykonawcze Flash. Interfejs API do obsługi interakcji dotykowych zasadniczo spełnia zadania należące do trzech grup istotnych w kontekście pisania aplikacji dotykowych: wykrywanie obsługi, zdarzenia i fazy. Odpowiednio skoordynowane użycie elementów tego interfejsu API pozwala stworzyć przewidywalne i reaktywne mechanizmy interakcji z użytkownikiem — nawet jeśli na etapie tworzenia aplikacji nie jest znane urządzenie docelowe.

Wykrywanie obsługi

Mechanizmy wykrywania obsługi w ramach interfejsu API umożliwiają testowanie środowiska sprzętowego i programowego w czasie wykonywania aplikacji. Wartości wpisywane przez środowisko wykonawcze określają zakres interakcji dotykowych dostępnych dla środowiska wykonawczego Flash w bieżącym kontekście. Zestaw właściwości i metod służących do wykrywania obsługi umożliwia przygotowanie aplikacji do reagowania na zdarzenia myszy (zamiast zdarzeń dotykowych, jeśli niektóre rodzaje interakcji dotykowych nie są obsługiwane w środowisku). Więcej informacji można znaleźć w rozdziale Wykrywanie obsługi interakcji dotykowych .

Zdarzenia

W języku ActionScript zdarzenia dotyku obsługiwane są tak samo, jak pozostałe zdarzenia — za pomocą detektorów i funkcji obsługi. Jednak przy obsłudze zdarzeń dotyku należy wziąć pod uwagę dodatkowe uwarunkowania:
  • Ta sama interakcja może być interpretowana przez urządzenie lub system operacyjny na różne sposoby — albo jako sekwencja dotknięć, albo jako jeden gest.

  • Pojedyncze dotknięcie urządzenia dotykowego (palcem, piórem lub urządzeniem wskazującym) jest zawsze wywoływane również jako zdarzenie myszy. Aplikacja może obsługiwać zdarzenia myszy za pomocą typów zdarzeń zdefiniowanych w klasie MouseEvent. Można również zaprojektować aplikację w taki sposób, aby reagowała tylko na zdarzenia dotykowe. Bądź na oba rodzaje zdarzeń.

  • Aplikacja może reagować na wiele równoczesnych zdarzeń dotykowych lub obsługiwać każde z nich oddzielnie.

Zwykle mechanizmy wykrywania obsługi używane są do warunkowej obsługi zdarzeń w aplikacji. Gdy aplikacja rozpozna środowisko wykonawcze, może wywoływać odpowiednie funkcje obsługi lub wybrać właściwe obiekty zdarzeń odzwierciedlające interakcje użytkownika z aplikacją. Aplikacja może także wykryć brak możliwości obsługi konkretnego rodzaju interakcji w bieżącym środowisku i zaoferować użytkownikowi alternatywny sposób interakcji lub wyświetlić stosowną informację. Więcej informacji można znaleźć w sekcjach Obsługa zdarzeń dotyku i Obsługa zdarzeń gestów .

Fazy

W przypadku aplikacji dotykowych i Multi-Touch obiekty zdarzeń dotyku zawierają właściwości umożliwiające śledzenie kolejnych faz interakcji z użytkownikiem. Twórca aplikacji powinien napisać kod ActionScript obsługujący takie fazy, jak rozpoczęcie, aktualizacja lub zakończenie interakcji z użytkownikiem, co pozwoli na przekazywanie użytkownikowi stosownych informacji zwrotnych. Odpowiednia reakcja na fazy zdarzeń może polegać na zmianie wyglądu obiektów w miarę, jak użytkownik dotyka ekranu i przesuwa punkt kontaktu po ekranie. Fazy mogą także posłużyć do analizy charakterystyki konkretnego gestu, w miarę jak jest on wykonywany.

W przypadku zdarzeń odzwierciedlających punkt kontaktu możliwe jest określenie czasu, przez jaki użytkownik dotyka konkretnego obiektu interaktywnego. Aplikacja może śledzić fazy poszczególnych punktów jednoczesnego kontaktu z urządzeniem dotykowym i odpowiednio reagować na każdą z tych faz.

W przypadku gestów możliwe jest interpretowanie informacji o zachodzących przekształceniach gestu. Aplikacja może śledzić współrzędne punktu kontaktu (lub kilku punktów) przemieszczanych po ekranie.