Introdução à entrada de toque

Flash Player 10.1 e posterior, Adobe AIR 2 e posterior

Quando a plataforma Flash está sendo executada em um ambiente que possui suporte a entrada de toque, as instâncias InteractiveObject podem monitorar eventos de toque e manipuladores de chamada. Geralmente, é possível manipular eventos de toque, multitoque e gestos da mesma forma que outros eventos no ActionScript (consulte Manipulação de eventos para obter as informações básicas sobre como gerenciar eventos com o ActionScript).

No entanto, para que o tempo de execução Flash interprete um toque ou um gesto, o tempo de execução deve estar sendo executado em um ambiente de hardware e software que tenha suporte a entrada de toque ou multitoque. Consulte Descobrindo tipos de entrada para obter um gráfico comparativo de diferentes tipos de telas sensíveis ao toque. Além disso, se o tempo de execução estiver em um aplicativo contêiner (por exemplo, um navegador), o contêiner envia a entrada para o tempo de execução. Em alguns casos, o hardware atual e o ambiente do sistema operacional possuem suporte a multitoque, mas o navegador que contém o tempo de execução do Flash interpreta a entrada e não a envia para o tempo de execução. De forma alternativa, ele pode simplesmente ignorar a entrada por completo.

O diagrama a seguir demonstra o fluxo de entrada do usuário para o tempo de execução:

Exibir gráfico inteiro
Fluxo de entrada do usuário para o tempo de execução da plataforma Flash

Felizmente, a ActionScript API para desenvolvimento de aplicativos de toque inclui classes, métodos e propriedades para determinar o suporte para entrada toque e multitoque no ambiente do tempo de execução. A API utilizada para determinar o suporte à entrada de toque é a "API de descoberta” para manipulação de eventos de toque.

Conceitos e termos importantes

A lista de referência a seguir contém termos importantes para programar aplicativos de manipulação de eventos de toque:

API de descoberta
Métodos e propriedades utilizados para detectar no ambiente de tempo de execução o suporte a eventos de toque e diferentes modos de entrada.

Evento de toque
Uma ação de entrada executada em um dispositivo sensível ao toque utilizando um único ponto de contato.

Ponto de toque
Ponto de contato de um único evento de toque. Mesmo que um dispositivo não tenha suporte à entrada de gestos, ele pode ter suporte a múltiplos pontos de toque simultâneos.

Sequência de toque
Série de eventos que representam a duração de um único toque. Esses eventos incluem movimentos iniciais, zero ou mais movimentos e um movimento final.

Evento multitoque
Ação de entrada feita em um dispositivo sensível ao toque utilizando diversos pontos de contato (por exemplo, mais de um dedo).

Evento de gesto
Ação de entrada, executada em um dispositivo sensível ao toque que segue um movimento complexo. Por exemplo, um gesto é tocar a tela com dois dedos e movê-los simultaneamente ao redor do perímetro de um círculo abstrato para indicar rotação.

Fases
Pontos distintos de tempo no fluxo do evento (por exemplo, início e término)

Stylus
Instrumento (caneta) para interagir com uma tela sensível ao toque A stylus pode fornecer mais precisão do que o dedo humano. Alguns dispositivos reconhecem somente a entrada de um tipo específico de stylus. Dispositivos que reconhecem a entrada da stylus podem não reconhecer pontos múltiplos e simultâneos de contato ou o contato dos dedos.

Pressionar e tocar
Um tipo específico de gesto de entrada multitoque onde o usuário pressiona o dedo contra um dispositivo sensível ao toque e, em seguida, toca com outro dedo ou dispositivo apontador. Geralmente, esse gesto é utilizado para simular um clique do botão direito do mouse em aplicativos multitoque.

A estrutura de API de entrada de toque

A API de entrada de toque ActionScript é projetada para tratar do fato que a manipulação de entrada de toque depende do ambiente de hardware e software do tempo de execução do Flash. A API de entrada de toque endereça inicialmente três necessidades de desenvolvimento de aplicativos sensíveis ao toque: descoberta, eventos e fases. Coordene essas APIs para produzir uma experiência confiável e ágil para o usuário, mesmo se o dispositivo destino for desconhecido durante o desenvolvimento do aplicativo.

Descoberta

A API de descoberta fornece a habilidade de testar o ambiente de hardware e software no tempo de execução. Os valores preenchidos pelo tempo de execução determinam a entrada de toque disponível para o tempo de execução do Flash no contexto atual. Utilize a coleção de propriedades de descoberta e métodos para configurar o aplicativo para reagir a eventos do mouse (em vez de eventos de toque no caso de alguma entrada de toque não ter suporte do ambiente). Para obter mais informações, consulte Descoberta de suporte ao toque

Eventos

O ActionScript gerencia os eventos de entrada de toque com os ouvintes e manipuladores de eventos, da mesma forma como faz com outros eventos. No entanto, a manipulação de evento de entrada de toque também inclui os itens a seguir:
  • Um toque pode ser interpretado de diversas maneiras pelo dispositivo ou pelo sistema operacional, tanto quanto uma sequência de toques ou de forma coletiva, como um gesto.

  • Um único toque em um dispositivo sensível ao toque (dedo, stylus ou dispositivo apontador) sempre envia um evento de mouse também. É possível manipular o evento de mouse com os tipos de evento na classe MouseEvent. Opcionalmente, você pode projetar seu aplicativo para somente responder a eventos de toque. Como alternativa, você pode projetar um aplicativo que responde a ambos.

  • Um aplicativo pode responder a múltiplos eventos de toques simultâneos e manipular cada um deles separadamente.

Geralmente, utilize a API de descoberta para manipular condicionalmente os eventos que seu aplicativo manipula e a forma como eles são manipulados. Após o aplicativo conhecer o ambiente de tempo de execução, ele pode chamar o manipulador adequado ou estabelecer o objeto de evento correto quando o usuário interagir com o aplicativo. Opcionalmente, o aplicativo pode indicar que a entrada específica não pode ser manipulada no ambiente atual e fornecer ao usuário uma alternativa ou informação. Para obter mais informações, consulte Tratamento de eventos de toque e Tratamento de Eventos de gestos .

Fases

Para aplicativos de toque e multitoque, objetos de evento de toque contém propriedades para monitorar as fases da interação do usuário. Crie um ActionScript para manipular fases como, por exemplo, início, atualização e fase final da entrada do usuário para fornecer feedback. Responde às fases de evento de forma que objetos visuais sejam alterados conforme o usuário toca e move o ponto de toque na tela. De forma alternativa, utilize fases para monitorar propriedades específicas de um gesto, conforme o gesto vai evoluindo.

Para eventos de ponto de toque, monitore por quanto tempo o usuário mantém pressionado um objeto interativo específico. Um aplicativo pode monitorar múltiplas fases de pontos de toque simultâneos individualmente e manipular cada um conforme necessário.

Para um gesto, interprete as informações específicas sobre a transformação de um gesto conforme ele ocorre. Monitore as coordenadas de um ponto de contato (ou diversos pontos) conforme eles se movem na tela.