Javascript 摩擦阻力和摩擦阻力;WebGL中的放置方向
我试图通过拖放实现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;*/
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;
}