diff --git a/src/app/tools/tankopedia/[id]/components/GunContainer.tsx b/src/app/tools/tankopedia/[id]/components/GunContainer.tsx index 5aafa0a4e..da8f8d64c 100644 --- a/src/app/tools/tankopedia/[id]/components/GunContainer.tsx +++ b/src/app/tools/tankopedia/[id]/components/GunContainer.tsx @@ -75,8 +75,6 @@ export const GunContainer = forwardRef( window.addEventListener('pointerup', handlePointerUp); } function handlePointerMove(event: PointerEvent) { - event.preventDefault(); - if (yawLimits) { draftYaw = clamp( draftYaw + event.movementX * (Math.PI / canvas.width), diff --git a/src/app/tools/tankopedia/[id]/components/HullContainer.tsx b/src/app/tools/tankopedia/[id]/components/HullContainer.tsx index 2b9cdfae5..31bd1d96a 100644 --- a/src/app/tools/tankopedia/[id]/components/HullContainer.tsx +++ b/src/app/tools/tankopedia/[id]/components/HullContainer.tsx @@ -49,8 +49,6 @@ export const HullContainer = forwardRef( } } function handlePointerMoveHull(event: PointerEvent) { - event.preventDefault(); - draftHullYaw += event.movementX * ((2 * Math.PI) / canvas.width); if (hullContainer.current) { @@ -63,13 +61,11 @@ export const HullContainer = forwardRef( window.removeEventListener('pointerup', handlePointerUpHull); } function handlePointerMoveTrack(event: PointerEvent) { - event.preventDefault(); - const mesh = object as Mesh; const material = mesh.material as MeshStandardMaterial; const offset = new Vector2( 0, - -event.movementY * (6 / canvas.height) + + event.movementY * (6 / canvas.height) + event.movementX * (6 / canvas.width), ); diff --git a/src/app/tools/tankopedia/[id]/components/TurretContainer.tsx b/src/app/tools/tankopedia/[id]/components/TurretContainer.tsx index 5b95ebea6..6090b0418 100644 --- a/src/app/tools/tankopedia/[id]/components/TurretContainer.tsx +++ b/src/app/tools/tankopedia/[id]/components/TurretContainer.tsx @@ -83,8 +83,6 @@ export const TurretContainer = forwardRef( } } function handlePointerMove(event: PointerEvent) { - event.preventDefault(); - if (yawLimits) { draftYaw = clamp( draftYaw + event.movementX * (Math.PI / canvas.width), diff --git a/src/app/tools/tankopedia/[id]/page.tsx b/src/app/tools/tankopedia/[id]/page.tsx index 51a21b44d..8ef7e8adf 100644 --- a/src/app/tools/tankopedia/[id]/page.tsx +++ b/src/app/tools/tankopedia/[id]/page.tsx @@ -102,6 +102,18 @@ export default function Page({ params }: { params: { id: string } }) { gunPitchInput.current!.value = `${-Math.round(gunPitch * (180 / Math.PI))}`; }, [gunPitch]); + function handlePointerDown() { + window.addEventListener('pointermove', handlePointerMove); + window.addEventListener('pointerup', handlePointerUp); + } + function handlePointerMove(event: PointerEvent) { + event.preventDefault(); + } + function handlePointerUp() { + window.removeEventListener('pointermove', handlePointerMove); + window.removeEventListener('pointerup', handlePointerUp); + } + return ( @@ -133,7 +145,12 @@ export default function Page({ params }: { params: { id: string } }) {
- +