javascript - 按下键时响应鼠标移动

标签 javascript three.js event-handling dom-events mousemove

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

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

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

mousemove 事件监听器:

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

按键事件监听器:

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;
}

我发现,如果我在按下 W 时按下 spacebar,那么播放器会继续向前移动并响应鼠标移动。这是我想要的效果(但即使不按 spacebar 也应该有效)。

最佳答案

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

关于javascript - 按下键时响应鼠标移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15594758/

相关文章:

Node.js 等待多个事件

javascript - 如何将 HTML 封装到 iFrame 中?

javascript - 为什么这个 promise 会悄然落空?

javascript - Node 表示没有数据到达服务器

three.js - 从three.js r.58 中的置换贴图计算法线?

c# - 如何在 Blazor 组件初始化中限制事件订阅

javascript - 从 javascript 触发的 transformOrigin,旋转不正确

javascript - Three.js GridHelper : How to hide/show the grid?

Three.js 更新 TubeGeometry 对象的网格

c# - 如何防止事件的订阅者相互冲突?