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
Canvas 三个';相交对象似乎击中了错误的位置_Canvas_Three.js_Offset - Fatal编程技术网

Canvas 三个';相交对象似乎击中了错误的位置

Canvas 三个';相交对象似乎击中了错误的位置,canvas,three.js,offset,Canvas,Three.js,Offset,我有一个画布,可以在其中显示对象。要单击对象,我必须单击对象的左侧和上方,单击量等于画布的偏移量,即,只有当画布位于窗口的左上部分时,它才是右侧。我找不到任何关于那个问题的文献。有人有主意吗? 以下是事件的代码: function onDocumentMouseUp(event){ var mouseVector=new THREE.Vector3( 2*(event.clientX/canvasWidth)-1 , 1-2*(event.clientY/canvasHeight));

我有一个画布,可以在其中显示对象。要单击对象,我必须单击对象的左侧和上方,单击量等于画布的偏移量,即,只有当画布位于窗口的左上部分时,它才是右侧。我找不到任何关于那个问题的文献。有人有主意吗? 以下是事件的代码:

function onDocumentMouseUp(event){
  var mouseVector=new THREE.Vector3( 2*(event.clientX/canvasWidth)-1 , 1-2*(event.clientY/canvasHeight));
  var raycaster=projector.pickingRay(mouseVector.clone() , camera);
// hit testing
  var intersects=raycaster.intersectObjects(slots);
      if (intersects.length>0)     // do we have one or more hits
      if (0===intersects[0].object.material.color.g) {
          intersects[0].object.material.color  =X;   // change color
          intersects[0].object.material.opacity=1;
           Play();
      } 
    }

看看这是否有帮助:这确实是我的问题,并且成功了。布里尔。非常感谢。