編集:問題はマウスではなくタッチパッドにあるようです。
目標: キーを押してもマウスの動きに反応できるようにする。
Three.js の PointerLockControls を変更して、ユーザーが を押したときにマウスWを動かすと、カメラは前進し続け、カメラの方向もマウスの動きに応じて変化するようにします。これは、通常のシナリオでは発生しません。リスナーは次のとおりです。
mousemove イベントのリスナー:
var onMouseMove = function ( event ) {
var movementX = event.movementX || event.mozMovementX || event.webkitMovementX || 0;
camera.rotation.y-=movementX*0.002;
};
keydown イベントのリスナー:
var onKeyDown = function ( event ) {
case 38: // up
case 87: // w
moveForward = true;
break;
//keys: a, s, d are handled similarly
case 32: // space
if ( canJump === true ) velocity.y += 10;
canJump = false;
break;
}
keyup イベントのリスナー:
var onKeyUp = function(event){
case 38: // up
case 87: // w
moveForward = false;
break;
}
spacebarを押しながらヒットするWと、プレイヤーは前進し続け、マウスの動きに反応することがわかりました。これは私が望む効果です (ただし、 を打たなくても機能するはずですspacebar)。