Основные сведения о вводе прикосновением

Flash Player 10.1 и более поздних версий, Adobe AIR 2 и более поздних версий

Когда Flash Platform выполняется в среде, поддерживающей ввод прикосновением, экземпляры InteractiveObject могут прослушивать события прикосновения и вызывать обработчики. Как правило, события прикосновения, нескольких прикосновений и жестов обрабатываются так же, как и другие события в ActionScript (основные сведения об обработке событий в коде ActionScript см. в разделе « Обработка событий »).

Однако, чтобы среда выполнения Flash могла интерпретировать прикосновение или жест, она должна выполняться в аппаратной и программной средах, поддерживающих ввод прикосновением или несколькими прикосновениями. См. раздел « Обнаружение типов ввода » с таблицей, в которой сравниваются различные типы сенсорных экранов. Помимо этого, если среда выполнения работает в приложении контейнера (например, браузере), контейнер передает ввод в среду выполнения. В некоторых случаях текущая среда оборудования и операционной системы поддерживают технологию Multitouch, но браузер, содержащий среду выполнения Flash, интерпретирует ввод и не передает его в среду выполнения. Или он может полностью игнорировать ввод.

На следующей диаграмме показана последовательность передачи входных данных от пользователя в среду выполнения:

Полноразмерное изображение
Последовательность передачи входных данных от пользователя в среду выполнения Flash Platform

К счастью, API-интерфейс ActionScript для разработки приложений, поддерживающих сенсорный ввод, включает классы, методы и свойства для определения наличия поддержки ввода прикосновением или несколькими прикосновениями в среде выполнения. API-интерфейс, используемый для определения наличия поддержки сенсорного ввода, является «API-интерфейсом обнаружения» для обработки событий прикосновения.

Важные понятия и термины

В следующем справочном списке содержатся важные термины, необходимые для написания приложений, поддерживающих обработку событий прикосновения:

API-интерфейс обнаружения
Методы и свойства, используемые для проверки наличия в среде выполнения поддержки событий прикосновения и различных режимов ввода.

Событие прикосновения
Действие ввода, выполняемое в устройстве, поддерживающем сенсорный ввод, с использованием одной точки контакта.

Точка прикосновения
Точка контакта для события одного прикосновения. Даже если устройство не поддерживает ввод с помощью жеста, оно может поддерживать одновременно несколько точек прикосновения.

Последовательность прикосновения
Набор событий, представляющий жизненный цикл одного прикосновения. Эти события включают одно начальное событие, событие отсутствия перемещений или нескольких перемещений и одно завершающее событие.

Событие Multitouch
Действие ввода, выполняемое в устройстве, поддерживающем сенсорный ввод, с использованием нескольких точек контакта (например, несколькими пальцами).

Событие жеста
Действие ввода, выполняемое в устройстве, поддерживающем сенсорный ввод и отслеживающем набор сложных движений. Например, одним из жестов является прикосновение к экрану двумя пальцами и одновременное перемещение пальцев по периметру абстрактной окружности для указания поворота.

Фазы
Отдельные точки времени в потоке событий (например, начало и конец).

Перо
Инструмент для взаимодействия с сенсорным экраном. Перо является более точным инструментом указания, чем палец. Некоторые устройства распознают ввод только с помощью определенных типов перьев. Устройства, распознающие ввод пером, могут не распознавать несколько одновременных точек контакта или прикосновение пальцем.

Удерживание и нажатие
Определенный тип жеста для ввода несколькими прикосновениями, когда пользователь нажимает пальцем сенсорный экран устройства, а затем другим пальцем или инструментом указания нажимает кнопки. Этот жест часто используется для имитации щелчка правой кнопкой мыши в приложениях Multitouch.

Структура API-интерфейса для ввода прикосновением

API-интерфейс для ввода прикосновением в среде ActionScript разработан с учетом того факта, что обработка ввода прикосновением зависит от аппаратной и программной среды, в которой выполняется Flash. API-интерфейс ввода прикосновением в основном удовлетворяет три потребности при разработке приложений, поддерживающих сенсорный ввод: обнаружения, события и фазы. Управляйте этим API-интерфейсом для создания приложений с предсказуемым приспосабливаемым поведением; даже если целевое устройство известно при разработке приложения.

Обнаружение

API-интерфейс обнаружения позволяет тестировать аппаратную и программную среду во время выполнения. Значения, заполненные средой выполнения, определяют ввод прикосновением, доступный среде выполнения Flash в текущем контексте. Кроме того, используйте набор свойств и методов обнаружения для задания реакции приложения на события мыши (вместо событий прикосновения в случае, если ввод прикосновением не поддерживается средой). Дополнительные сведения см. в разделе « Обнаружение поддержки прикосновения ».

События

ActionScript управляет событиями ввода прикосновением с помощью прослушивателей и обработчиков событий, как и в случае с другими событиями. Однако при этом также должна учитываться обработка событий ввода прикосновением:
  • Прикосновение может интерпретироваться устройством или операционной системой несколькими способами: как последовательность прикосновений или совместно как жест.

  • При одном прикосновении (пальцем, пером или инструментом указания) к устройству, поддерживающему сенсорный ввод, всегда также отправляется событие мыши. Событие мыши можно обработать с использованием типов событий в классе MouseEvent. Или можно создать приложение так, чтобы оно реагировало только на события прикосновения. Либо можно создать приложение, реагирующее на оба типа событий.

  • Приложение может реагировать на несколько одновременных событий прикосновения и обрабатывать каждое событие отдельно.

Обычно API-интерфейс обнаружения используется для условной обработки событий в приложении и управления способом обработки. Как только приложение получит данные о среде выполнения, оно может вызвать подходящий обработчик или создать подходящий объект события при взаимодействии пользователя с приложением. Или приложение может передать сведения о том, что обработка определенного типа ввода невозможна в текущей среде, и вывести для пользователя альтернативное решение или инструкции. Дополнительные сведения см. в разделах « Обработка событий нажатия » и « Обработка событий жеста ».

Фазы

Для приложений, поддерживающих ввод одним или несколькими прикосновениями, в объектах событий прикосновения содержатся свойства для отслеживания фаз взаимодействия с пользователем. Напишите код ActionScript для обработки фаз как начальную фазу, фазу обновления или конечную фазу пользовательского ввода, чтобы предоставить пользователю отзыв. Реакция на фазы событий должна быть такой, чтобы визуальные объекты изменялись, когда пользователь прикасается к точке и перемещает точку прикосновения на экране. Или используйте фазы для отслеживания определенных свойств жеста при его выполнении.

Для событий с точкой прикосновения отслеживайте продолжительность нажатия пользователем определенного интерактивного объекта. Приложение может отслеживать фазы нескольких одновременных точек прикосновения по отдельности и обрабатывать их соответственно.

Для жеста интерпретируйте определенную информацию об изменении. Отслеживайте координаты одной или нескольких точек контакта при их перемещении на экране.