В моем браузере (Firefox, но это происходит на всех моих устройствах/браузерах) при удержании любой клавиши курсор (указатель) блокируется и становится очень жестким.
Это раздражает в моей игре, поскольку, когда вы пытаетесь ходить (используя клавишу W) и одновременно смотреть по сторонам, курсор застревает, и вы не можете прицелиться. что угодно.
Я использую скрипт PointerLockControls отсюда.
Итак, я попытался создать свой собственный API PointerLockControls с нуля, чтобы проверить, была ли это просто библиотека или что-то в браузере:
Код: Выделить всё
let speed = 1;
let PointerControls = { isLocked: true };
document.addEventListener("mousemove", function(event) {
if (!PointerControls.isLocked || document.pointerLockElement != renderer.domElement) return;
camera.rotation.order = "YXZ";
camera.rotation.y -= event.movementX / (500 / speed);
camera.rotation.x -= event.movementY / (500 / speed);
});
document.addEventListener("mousedown", function(event) {
PointerControls.isLocked = true;
renderer.domElement.requestPointerLock();
});
document.addEventListener("mouseup", function(event) {
if (PointerControls.isLocked) return;
PointerControls.isLocked = false;
});
Я также пробовал использовать event.stopPropagation() и event.preventDefault() для document.keydown(), но это тоже ничего не дало.
После некоторых исследований я обнаружил, что это называется отказ от ладони и что это часть ОС.
Это есть ли способ отключить это в JavaScript и как?
Подробнее здесь: https://stackoverflow.com/questions/798 ... javascript
Мобильная версия