Пытаюсь реализовать мобильное управление и добавил swipe жесты вверх и вниз (button3 и button4) и по какой-то причине они не работают. Подскажите, в чём проблема?
var button1 = false, //влево
button2 = false, // вправо
button3 = false, //прыжок
button4 = false; //подкат
var touchstartX = 0;
var touchstartY = 0;
var touchendX = 0;
var touchendY = 0;
var el = document.getElementsByTagName('body')[0];
el.addEventListener("touchstart", handler, false);
el.addEventListener("touchend", handleEnd, false);
el.addEventListener("touchmove", handler, false);
function handler(e) {
touchstartX = e.pageX;
touchstartY = e.pageY;
button2 = !(button1 = (window.innerWidth / 2) < e.changedTouches[0].pageX);
};
function handleEnd(e) {
// touchendX = e.screenX;
touchendY = e.pageY;
var touches = e.changedTouches;
if (window.innerWidth / 2 < touches[0].pageX) {
button1 = false;
button2 = false;
}
if (window.innerWidth / 2 > touches[0].pageX) {
button2 = false;
button1 = false;
}
//swipe Up
if (touchendY < touchstartY) {
button3 = true;
}
//swipe Down
if (touchendY > touchstartY) {
button4 = true;
}
};