three.js - 触摸轨迹球控制

标签 three.js

我尝试做触摸控制。我想在 TrackballControls.js 中制作它,所以我是这样制作的:

this.domElement.addEventListener( 'touchmove', touchmove, false );
this.domElement.addEventListener( 'touchstart', touchstart, false );
this.domElement.addEventListener( 'touchend', mouseup, false );

function touchstart( event ) {
    if (event.touches.length != 1) return;

    var touch = event.touches[0];
    event['clientX'] = touch.clientX;
    event['clientY'] = touch.clientY;
    event['button'] = 0;
    userLog('touchstart');
    mousedown( event ); 
}
function touchmove( event ) {
    if (event.touches.length != 1) return;

    var touch = event.touches[0];
    event['clientX'] = touch.clientX;
    event['clientY'] = touch.clientY;

    mousemove( event ); 
}

我已经开始处理工作空间了。页面分为几个区域。 “工作区”中的 Canvas 初始化 enter image description here 但在 ipad 之后,任何触摸都被视为“工作区”中的触摸。如果有用,我可以发布 init() 函数或其他任何内容

最佳答案

controls = new THREE.TrackballControls( camera, renderer.domElement );

renderer.domElement - 你需要的工作区域

关于three.js - 触摸轨迹球控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12057316/

相关文章:

javascript - 三个js的loader使用webworker和IndexedDB

python - 将 FBX 转换为 three.js

javascript - 单击以将相机放置在 Three js 中的对象附近

three.js - 使用 OBJLoader2 加载 Obj 以加载顶点颜色

javascript - Three.js raycaster 可以与一个组相交吗?

javascript - 无法在 ThreeJS 场景上加载 blender 模型未定义

javascript - 如何在 Three.js 中设置挤出高度?

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

javascript - 使用 Threejs 将彩色线条加载到浏览器中

javascript - 三个js在函数调用时更改背景图像