Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 摩擦阻力和摩擦阻力;WebGL中的放置方向_Javascript_Three.js - Fatal编程技术网

Javascript 摩擦阻力和摩擦阻力;WebGL中的放置方向

Javascript 摩擦阻力和摩擦阻力;WebGL中的放置方向,javascript,three.js,Javascript,Three.js,我试图通过拖放实现WebGL项目中的相机移动。我是通过计算与事件中先前位置的差异来实现的,然后将该值添加到当前旋转级别 下面是正在执行此任务的一段代码: function animate() { // drag and drop part /*var spdx = 0, spdy = 0; spdy = (HEIGHT / 2 + difference_y) / 400; spdx = (WIDTH / 2 + difference_x) / 400;*/

我试图通过拖放实现WebGL项目中的相机移动。我是通过计算与事件中先前位置的差异来实现的,然后将该值添加到当前旋转级别

下面是正在执行此任务的一段代码:

function animate()
{
    // drag and drop part
    /*var spdx = 0, spdy = 0;
    spdy =  (HEIGHT / 2 + difference_y) / 400;
    spdx =  (WIDTH / 2 + difference_x) / 400;*/

    if(mouseDown)
    {
         camera.rotation.x += difference_x / 200;
        //camera.rotation.y += difference_y / 200;
    } 

    requestAnimationFrame(animate);
    renderer.shadowMapEnabled = true;
    renderer.shadowMapType = THREE.PCFSoftShadowMap;

    object.rotation.x += 0.005;
    object.rotation.y += 0.01;

    // Render the scene.
    renderer.render(scene, camera);
    //controls.update();

}

function onDocumentMouseMove(event){
    mouseX = event.clientX;
    mouseY = event.clientY;

    difference_x = mouseX - last_position_x;
    difference_y = mouseY - last_position_y;

    last_position_x = mouseX;
    last_position_y = mouseY;
}
它是animate()函数中直到requestAnimationFrame(animate)的一部分。变量mouseDown在usedown事件时设置为true,在mouseUp时重置为false。我在您可以找到的文件中包含的全部代码(尽管它在小提琴中不起作用)

为了正确地显示引用,我禁用了向其中一个方向移动并上传了它,这样您就可以正确地测试奇怪的行为


有人知道问题出在哪里吗?谢谢。

所以,问题出在mouseDown事件中,我还需要在那里存储实际坐标

function onDocumentMouseDown(event){
    mouseDown = true;
    last_position_x = event.clientX;
    last_position_y = event.clientY;
}