THREE.js轨道控制不工作



我确信我的JavaScript代码中有使用Three.js OrbitControls所需的一切。我有:

<script>"OrbitControls.js"></script>

还有:

var cameraControls;
cameraControls = new THREE.OrbitControls(camera, renderer.domElement);

它没有抱怨。但我的错误是。。。

Uncaught TypeError:无法读取public_html/OrborControls.js:76 中未定义的属性"LEFT"(21:20:28:855|error,javascript)

指的是轨道控制公司的文件,上面写着:

this.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };

我不知道该怎么修,任何东西都将不胜感激!!

Like@ryanpcmcquen已经在他的评论中暗示您缺少THREE.MOUSE对象。您也应该加载three.js库以使其工作。

这里在three.js库的核心中定义了THREE.MOUSE对象。

THREE.MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2 };

更新

确保在代码中定义了THREE.MOUSE对象的位置加载了build版本的库。我建议从http://threejs.org/网站

  • 此处:http://threejs.org/build/three.js对于完整版本或
  • 此处:http://threejs.org/build/three.min.js对于缩小版

这两个文件都有THREE.MOUSE对象。


注意:还要考虑库的正确加载顺序。您必须在OrbitControls.js脚本之前包含three.js脚本。

最新更新