【发布时间】:2019-04-12 17:16:21
【问题描述】:
我在 three.j 中使用轨道控制来旋转相机。
const controls = new THREE.OrbitControls(camera, renderer.domElement);
controls.dampingFactor = 0.07;
controls.rotateSpeed = 0.07;
controls.enableZoom = false;
controls.screenSpacePanning = false;
controls.minDistance = 250;
controls.maxDistance = 350;
controls.minPolarAngle = 1.2;
controls.maxPolarAngle = 1.2;
我正在像这样固定相机位置 -
camera.position.x = 308;
camera.position.y = 130;
camera.position.z = 135;
当我使用鼠标左键移动时,相机可以很好地围绕我的对象移动。但是当我使用鼠标右键移动时,它奇怪地将我的相机从物体上移开。我需要禁用此功能,但找不到任何方法来做到这一点。我尝试在文档上使用事件侦听器来阻止和停止鼠标移动事件的传播,如果随后单击鼠标右键,但它不起作用。
document.addEventListener("mousedown", function(event){
console.log(event.button);
if(event.button == 2){
rightmousemove = true;
return false;
// // Right click
}
});
document.addEventListener("mousemove", function(event){
if(rightmousemove === true){
event.preventDefault();
event.stopPropagation();
}
});
【问题讨论】:
标签: javascript three.js