按下键时响应鼠标移动(Javascript,jQuery)

coo*_*ist 5 javascript event-handling javascript-events mousemove three.js

编辑:看起来问题是触摸板而不是鼠标.

目标: 即使按下按键也能够响应鼠标移动.

我想修改Three.js的PointerLockControls,以便:如果用户在按下"W"时移动鼠标,则摄像机应继续向前移动,摄像机的方向也应根据鼠标移动而改变.这种情况在正常情况下不会发生.以下是听众:

mousemove事件的监听器:

var onMouseMove = function ( event ) {
    var movementX = event.movementX || event.mozMovementX || event.webkitMovementX || 0;
    camera.rotation.y-=movementX*0.002;
  };
Run Code Online (Sandbox Code Playgroud)

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;
   }
Run Code Online (Sandbox Code Playgroud)

keyup事件的监听器:

var onKeyUp = function(event){
        case 38: // up
        case 87: // w
            moveForward = false;
            break;
}
Run Code Online (Sandbox Code Playgroud)

我发现,如果按"W"时按空格键,则播放器继续向前移动并响应鼠标移动.这是我想要的效果(但它应该工作,即使没有击中空格键).

mrd*_*oob 2

通常操作系统在打字时会禁用触摸板。您应该在操作系统设置的某个位置找到一个选项来切换此功能。