Почему то при обработке функции которая отвечает за касания на экране происходят подвисания. У меня есть игра, которая каждый кадр вызывает функцию mobileController, она проверяет если нажатие на экране. Вот код:
/
var button1 = undefined,
button2 = undefined;
function mobileController() {
var el = document.getElementsByTagName('body')[0];
el.addEventListener("touchstart", handleStart, false);
el.addEventListener("touchend", handleEnd, false);
el.addEventListener("touchmove", handleMove, false);
function handleStart(evt) {
var touches = evt.changedTouches;
if (window.innerWidth / 2 < touches[0].pageX)
button1 = true;
button2 = false;
if (window.innerWidth / 2 > touches[0].pageX) {
button2 = true;
button1 = false
}
}
function handleEnd(evt) {
var touches = evt.changedTouches;
if (window.innerWidth / 2 < touches[0].pageX)
button1 = false;
button2 = false;
if (window.innerWidth / 2 > touches[0].pageX) {
button2 = false;
button1 = false
}
}
function handleMove(evt) {
var touches = evt.changedTouches;
if (window.innerWidth / 2 < touches[0].pageX)
button1 = true;
button2 = false;
if (window.innerWidth / 2 > touches[0].pageX) {
button2 = true;
button1 = false
}
}
};
button1 и button2 отвечают за передвижение персонажа вправо и влево.Причём в начале игры всё работает нормально, но постепенно начинает падать fps.
Подскажите как можно оптимизировать данный код?