Как остановить движение камеры после нажатия es c и клавиш направления трижды. js? - PullRequest
0 голосов
/ 26 мая 2020

Я использую элементы управления блокировкой указателя для своего проекта и обнаружил ошибку. Если игрок нажимает любую из клавиш направления на клавиатуре и в то же время нажимает кнопку es c (для включения элементов управления блокировкой указателя), камера все еще движется в фоновом режиме, хотя его не видно. Позже, после того как игрок нажимает кнопку мыши (чтобы включить элементы управления блокировкой указателя), камера находится в другом положении. Как это исправить? Как остановить движение камеры при выключенном управлении? Это можно увидеть в примере управления блокировкой указателя - https://threejs.org/examples/misc_controls_pointerlock.html

1 Ответ

0 голосов
/ 26 мая 2020

Попробуйте следующее.

объявить глобальную переменную:

let isPaused = true;

Затем, когда игрок нажимает кнопку воспроизведения, isPaused устанавливается в false

После внесите следующие изменения:

var onKeyDown = function(event){
   if(isPaused == false){
      //remaining code here
   }
}

Не забудьте установить isPaused на true, когда игра приостановлена.

UPD: Вероятно, следует внести такие же изменения в onKeyUp

...