reverting swipe controls
This commit is contained in:
@@ -213,75 +213,6 @@ function movePacman(e) {
|
|||||||
if (k === "ArrowRight") { pacman.dx = PACMAN_SPEED; pacman.dy = 0; }
|
if (k === "ArrowRight") { pacman.dx = PACMAN_SPEED; pacman.dy = 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add touch controls
|
|
||||||
let touchStartX = 0;
|
|
||||||
let touchStartY = 0;
|
|
||||||
|
|
||||||
function handleTouchStart(e) {
|
|
||||||
touchStartX = e.touches[0].clientX;
|
|
||||||
touchStartY = e.touches[0].clientY;
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleTouchMove(e) {
|
|
||||||
if (!touchStartX || !touchStartY) return;
|
|
||||||
|
|
||||||
const touchEndX = e.touches[0].clientX;
|
|
||||||
const touchEndY = e.touches[0].clientY;
|
|
||||||
|
|
||||||
const diffX = touchStartX - touchEndX;
|
|
||||||
const diffY = touchStartY - touchEndY;
|
|
||||||
|
|
||||||
// Determine the dominant direction
|
|
||||||
if (Math.abs(diffX) > Math.abs(diffY)) {
|
|
||||||
// Horizontal swipe
|
|
||||||
if (diffX > 0) {
|
|
||||||
// Left swipe
|
|
||||||
pacman.dx = -PACMAN_SPEED;
|
|
||||||
pacman.dy = 0;
|
|
||||||
} else {
|
|
||||||
// Right swipe
|
|
||||||
pacman.dx = PACMAN_SPEED;
|
|
||||||
pacman.dy = 0;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// Vertical swipe
|
|
||||||
if (diffY > 0) {
|
|
||||||
// Up swipe
|
|
||||||
pacman.dx = 0;
|
|
||||||
pacman.dy = -PACMAN_SPEED;
|
|
||||||
} else {
|
|
||||||
// Down swipe
|
|
||||||
pacman.dx = 0;
|
|
||||||
pacman.dy = PACMAN_SPEED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
e.preventDefault();
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleTouchEnd() {
|
|
||||||
touchStartX = 0;
|
|
||||||
touchStartY = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Add touch event listeners
|
|
||||||
canvas.addEventListener('touchstart', handleTouchStart, { passive: false });
|
|
||||||
canvas.addEventListener('touchmove', handleTouchMove, { passive: false });
|
|
||||||
canvas.addEventListener('touchend', handleTouchEnd, { passive: false });
|
|
||||||
|
|
||||||
// Add mobile-specific styles
|
|
||||||
const style = document.createElement('style');
|
|
||||||
style.textContent = `
|
|
||||||
#pacmanCanvas {
|
|
||||||
touch-action: none; /* Prevent default touch behaviors */
|
|
||||||
-webkit-touch-callout: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
user-select: none;
|
|
||||||
}
|
|
||||||
`;
|
|
||||||
document.head.appendChild(style);
|
|
||||||
|
|
||||||
function moveChar(ch) {
|
function moveChar(ch) {
|
||||||
const nx = ch.x + ch.dx;
|
const nx = ch.x + ch.dx;
|
||||||
const ny = ch.y + ch.dy;
|
const ny = ch.y + ch.dy;
|
||||||
|
|||||||
Reference in New Issue
Block a user