evg-b / TouchDriver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TouchDriver

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

API

На 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 Факт наличия инерции в конце жеста

Direction

Параметры startItXorY и itXorY можно получить только в методах moveXY и moveEnd. Человеку свойственно совершать микродвижения, которые он не осознает. Так, например, желая свайпнуть строго вверх, он может начать двигать пальцем немного влево или вправо, а только потом вверх. Чтобы убрать этот человеческий фактор, вычисление параметров стартового направления startItXorY и itXorY попадают в объект события не сразу, а через несколько тактов.

About


Languages

Language:TypeScript 100.0%