three.js - 如何在 Three.js 中自定义指针锁定控件?

标签 three.js

基于指针锁定控件的示例
http://pages.cs.wisc.edu/~lizy/mrdoob-three.js-ef5f05d/examples/misc_controls_pointerlock.html

如何修改此示例,以便我们可以使用按键上下移动以及使用鼠标滚轮或按键放大和缩小?

也欢迎提供有关自定义指针锁定控件的任何其他提示。

最佳答案

使用开关来识别按下的键。添加相应的事件监听器。

按键

var onKeyDown = function ( event ) {
    switch ( event.keyCode ) {
        case 38: // up
        case 87: // w
            moveForward = true;
            break;

        ...
    }
};

document.addEventListener( 'keydown', onKeyDown, false );

按键

var onKeyUp = function ( event ) {
    switch( event.keyCode ) {
        case 38: // up
        case 87: // w
            moveForward = false;
            break;

        ...
    }
};

document.addEventListener( 'keyup', onKeyUp, false );

鼠标滚轮

var onMouseWheel = function ( event ) {
    ...
};

this.domElement.addEventListener( 'mousewheel', onMouseWheel, false );
this.domElement.addEventListener( 'DOMMouseScroll', onMouseWheel, false ); // firefox

关于three.js - 如何在 Three.js 中自定义指针锁定控件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20026322/

相关文章:

javascript - 如何使用Canvas制作3D动画

javascript - 三个JS : Create Triangle Strip

javascript - Three.js 使用正交相机从鼠标位置获取世界坐标

javascript - Threejs - 几何坐标系到屏幕坐标系

javascript - 顶点着色器中未声明名称相同但类型不同的变量,或片段着色器中静态使用的变量 : fogDepth

javascript - 无法访问 webrtc 上的后置摄像头 [chrome :54]

javascript - Three.js Object3D.applyMatrix() 设置不正确的比例

typescript - 如何只加载一次字体? (TS/三.JS)

python - 如何使 jupyter pytherejs 绘图更大?

javascript - 检查 three.js 中是否有与另一个 Object3D 特定距离的 Object3D