Я использовал статью this (и некоторые другие), чтобы попытаться реализовать распознавание жестов в моем приложении, и это действительно работает. Однако то, что я хочу сделать, это обнаружить множественные жесты; например, салфетки и прикосновения. То, что я, похоже, не в состоянии сделать, - установить, вызвано ли событие MouseUp
концом жесты или одним касанием.WinJS gestureRecognizer - как ловить многократные жесты
function processUpEvent(e) {
lastElement = e.currentTarget;
gestureRecognizer.processUpEvent(e.currentPoint);
processTouchEvent(e.currentPoint);
}
Что происходит в настоящее время, оно обрабатывается как. Как я могу определить, имеет ли пользователь «отпустить» экран для салфетки или касания?
EDIT:
var recognizer = new Windows.UI.Input.GestureRecognizer();
recognizer.gestureSettings = Windows.UI.Input.GestureSettings.manipulationTranslateX
recognizer.addEventListener('manipulationcompleted', function (e) {
var dx = e.cumulative.translation.x
//Do something with direction here
});
var processUp = function (args) {
try {
recognizer.processUpEvent(args.currentPoint);
}
catch (e) { }
}
canvas.addEventListener('MSPointerDown', function (args) {
try {
recognizer.processDownEvent(args.currentPoint);
}
catch (e) { }
}, false);
canvas.addEventListener('MSPointerMove', function (args) {
try {
recognizer.processMoveEvents(args.intermediatePoints);
}
catch (e) { }
}, false);
canvas.addEventListener('MSPointerUp', processUp, false);
canvas.addEventListener('MSPointerCancel', processUp, false);
Поэтому мне нужно обрабатывать как processUp
и manipulationcompleted
, но один или другой.
Я не уверен, что это ответ на мой вопрос. Хотя это и охватывает перетаскивание, мне нужно захватить направление. Я уточнил свой вопрос с некоторыми более конкретными деталями. –