Вычисляет взаимодействие с компонентов в двумерной плоскости. С его помощью можно вычислять начало, конец, реальное положение, инерцию жестов.
На TouchDriver можно навесить 3 обработчика событий moveStart, moveXY, moveEnd. События moveStart и moveEnd, как понятно из названия, срабатывают один раз в начале и в конце действия, moveXY срабатывает при каждом движении после moveStart и перестает после moveEnd. Все эти методы возвращают объект события вида:
Name | Type | description |
---|---|---|
startTime | integer | Время начала взаимодействия в unix-time |
startItXorY | string | По какой оси X или Y было начальное движение |
itXorY | string | По какой оси X или Y было последнее движение |
startDirection | string | Начальное направление top , bottom , left , right |
direction | string | Последнее направление top , bottom , left , right |
startX | integer | Начальное положение на координатной плоскости по оси X |
startY | integer | Начальное положение на координатной плоскости по оси Y |
nowX | integer | Текущее положение на координатной плоскости по оси X |
nowY | integer | Текущее положение на координатной плоскости по оси Y |
shiftX | integer | Пройденное расстояние от начала движения по оси X |
shiftY | integer | Пройденное расстояние от начала движения по оси Y |
deltaX | integer | Пройденное расстояние от последнего события moveXY по оси X |
deltaY | integer | Пройденное расстояние от предыдущего события moveXY по оси Y |
inertia | boolean | Факт наличия инерции в конце жеста |
Параметры startItXorY
и itXorY
можно получить только в методах moveXY
и moveEnd
.
Человеку свойственно совершать микродвижения, которые он не осознает.
Так, например, желая свайпнуть строго вверх, он может начать двигать пальцем немного влево или вправо, а только потом вверх.
Чтобы убрать этот человеческий фактор, вычисление параметров стартового направления startItXorY
и itXorY
попадают в объект события не сразу, а через несколько тактов.