// Touch screen, dragend
touchLocation = e.changedTouches[0];
if (touchLocation)
- return {x: touchLocation.pageX, y: touchLocation.pageY};
+ return {x: touchLocation.clientX, y: touchLocation.clientY};
return [0, 0]; //Big trouble here =)
}
e.preventDefault();
centerOnCursor(curPiece, e);
}
+ else if (e.changedTouches && e.changedTouches.length >= 1)
+ // Attempt to prevent horizontal swipe...
+ e.preventDefault();
};
const mouseup = (e) => {
document.addEventListener("touchmove", mousemove, {passive: false});
document.addEventListener("touchend", mouseup, {passive: false});
}
+ // TODO: onpointerdown/move/up ? See reveal.js /controllers/touch.js
}
showChoices(moves, r) {
const maxDist = Math.sqrt((this.size.x - 1)** 2 + (this.size.y - 1) ** 2);
const multFact = (distance - 1) / (maxDist - 1); //1 == minDist
const duration = 0.2 + multFact * 0.3;
+ const initTransform = startPiece.style.transform;
startPiece.style.transform =
`translate(${arrival[0] + rs[0]}px, ${arrival[1] + rs[1]}px)`;
startPiece.style.transitionDuration = duration + "s";
if (this.options["rifle"]) startArray[i1][j1].style.opacity = "1";
startPiece.remove();
}
+ else {
+ startPiece.style.transform = initTransform;
+ startPiece.style.transitionDuration = "0s";
+ }
callback();
},
duration * 1000