Пакет | flash.ui |
Класс | public final class Multitouch |
Наследование | Multitouch Object |
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
- flash.events.TouchEvent
- flash.events.GestureEvent
- flash.events.GesturePhase
- flash.events.TransformGestureEvent
- flash.events.PressAndTapGestureEvent
Используйте перечисленные классы при создании кода для обработки событий прикосновения. Класс Multitouch служит для определения поддержки сенсорного взаимодействия в текущей среде и для управления этой поддержкой, если она имеется.
Нельзя создать объект Multitouch непосредственно из кода ActionScript. При вызове функции new Multitouch()
выдается исключение.
Примечание. Возможность использования нескольких точек прикосновения не поддерживается для SWF-файлов, встроенных в HTML и выполняемых в ОС Mac OS.
Дополнительно
Кристиан Кантрелл (Christian Cantrell): Поддержка технологии Multitouch и жестов на платформе Flash Platform
Ли Бримелоу (Lee Brimelow): Часто задаваемые вопросы по технологии Multitouch в среде Flash Player 10.1
Петр Вальчижин (Piotr Walczyszyn): Разработка с применением технологии Multitouch в среде Flex
Связанные элементы API
flash.events.GestureEvent
flash.events.TransformGestureEvent
flash.events.GesturePhase
flash.events.PressAndTapGestureEvent
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
Свойство | Определено | ||
---|---|---|---|
constructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта. | Object | ||
inputMode : String [статические]
Указывает на то, что используется мультисенсорный режим для обработки событий прикосновения и жестов. | Multitouch | ||
mapTouchToMouse : Boolean [статические]
Указывает, сопоставляет ли среда выполнения AIR события прикосновения событиям мыши. | Multitouch | ||
maxTouchPoints : int [статические] [только для чтения]
Максимальное число одновременных точек прикосновения, поддерживаемое текущей средой. | Multitouch | ||
supportedGestures : Vector.<String> [статические] [только для чтения]
Векторный массив (классифицированный массив строковых значений), содержащий типы мультисенсорного контакта, поддерживаемые в текущей среде. | Multitouch | ||
supportsGestureEvents : Boolean [статические] [только для чтения]
Указывает, поддерживает ли текущая среда ввод с помощью жестов, таких как вращение двумя пальцами по экрану. | Multitouch | ||
supportsTouchEvents : Boolean [статические] [только для чтения]
Указывает, поддерживает ли текущая среда базовый ввод с помощью прикосновения, например нажатие одним пальцем. | Multitouch |
inputMode | свойство |
inputMode:String
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Указывает на то, что используется мультисенсорный режим для обработки событий прикосновения и жестов. Используйте это свойство для определения того, как должны отправляться события: как события прикосновения с несколькими точками контакта и конкретные события для разных жестов (таких как поворот или панорамирование), или как события с одной точкой контакта (например, нажатие), или они совсем не должны отправляться (контакт обрабатывается как событие мыши). Чтобы задать это свойство, используйте значения из класса flash.ui.MultitouchInputMode.
Значением по умолчанию является gesture.
Реализация
public static function get inputMode():String
public static function set inputMode(value:String):void
Связанные элементы API
Пример ( Использование этого примера )
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 | свойство |
mapTouchToMouse:Boolean
Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | AIR 3 |
Указывает, сопоставляет ли среда выполнения AIR события прикосновения событиям мыши.
Когда установлено значение true
(значение по умолчанию), среда выполнения AIR отправляет событие мыши в дополнение к событию прикосновения для ввода прикосновением. Когда установлено значение false
, среда выполнения не отправляет дополнительное событие мыши. Задание для этого свойства значения false
может привести к неправильной работе существующего кода, библиотек и сред, зависящих от событий мыши, на устройствах, поддерживающих ввод прикосновением.
Реализация
public static function get mapTouchToMouse():Boolean
public static function set mapTouchToMouse(value:Boolean):void
Связанные элементы API
maxTouchPoints | свойство |
maxTouchPoints:int
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Максимальное число одновременных точек прикосновения, поддерживаемое текущей средой.
Примечание. На платформе Android для устройств, поддерживающих больше двух точек касания, возвращается значение 2.
Реализация
public static function get maxTouchPoints():int
Связанные элементы API
supportedGestures | свойство |
supportedGestures:Vector.<String>
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Векторный массив (классифицированный массив строковых значений), содержащий типы мультисенсорного контакта, поддерживаемые в текущей среде. Массив строк может использоваться в качестве типов событий для регистрации прослушивателей событий. Возможные значения являются константами классов GestureEvent, PressAndTapGestureEvent и TransformGestureEvent (например, GESTURE_PAN
).
Если среда выполнения Flash находится в среде, не поддерживающей мультисенсорные жесты, это свойство имеет значение null
.
Примечание. В ОС Mac OS 10.5.3 и более поздних версий Multitouch.supportedGestures
возвращает ненулевые значения (которые могут ошибочно указывать на поддержку событий жестов), даже если текущее аппаратное обеспечение не поддерживает ввод с помощью жестов.
Используйте это свойство, чтобы проверить наличие поддержки мультисенсорных жестов. Затем, используйте обработчики событий для доступных мультисенсорных жестов. Если некоторые жесты не поддерживаются текущей средой, для них потребуется создать альтернативную обработку событий.
Реализация
public static function get supportedGestures():Vector.<String>
Связанные элементы API
flash.events.MouseEvent
flash.events.EventDispatcher.addEventListener()
flash.events.GestureEvent
flash.events.PressAndTapGestureEvent
flash.events.TransformGestureEvent
Пример ( Использование этого примера )
Multitouch.supportedGestures
изменяется: в него добавляются все жесты, доступные в текущей программной и аппаратной среде для среды выполнения Flash. Если векторный массив Multitouch.supportedGestures
не содержит одного из жестов TransformGestureEvent, для такого жеста не регистрируется прослушиватель событий. Этот пример предоставила Холли Шински (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 | свойство |
supportsGestureEvents:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Указывает, поддерживает ли текущая среда ввод с помощью жестов, таких как вращение двумя пальцами по экрану. События жестов перечислены в классах TransformGestureEvent, PressAndTapGestureEvent и GestureEvent.
Примечание. В ОС Mac OS 10.5.3 и более поздних версий это свойство всегда имеет значение true
. Свойство Multitouch.supportsGestureEvent
возвращает значение true
, даже если аппаратные средства не поддерживают события жестов.
Реализация
public static function get supportsGestureEvents():Boolean
Связанные элементы API
supportsTouchEvents | свойство |
supportsTouchEvents:Boolean
[только для чтения] Язык версии: | ActionScript 3.0 |
Версии среды выполнения: | Flash Player 10.1, AIR 2, Flash Lite 4 |
Указывает, поддерживает ли текущая среда базовый ввод с помощью прикосновения, например нажатие одним пальцем. События прикосновения перечислены в классе TouchEvent.
Реализация
public static function get supportsTouchEvents():Boolean
Связанные элементы API
Multitouch.supportedGestures
возвращает значение null
, и присвоение значения null
вектору строк приводит к появлению ошибки во время выполнения). Если события жестов поддерживаются, отображаются события из класса TransformGestureEvent, поддерживаемые в текущей среде:
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, 11:34 AM Z