我很确定我的JavaScript代码中包含了使用Three.js OrbitControls所需的一切。我有:
<script>"OrbitControls.js"></script>
还有:
var cameraControls;
cameraControls = new THREE.OrbitControls(camera, renderer.domElement);
它没有抱怨。但我的错误说......
未捕获的TypeError:无法在public_html / OrbitControls.js中读取未定义的属性'LEFT'(21:20:28:855 |错误,javascript):76
其中指的是OrbitControls文档:
this.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT };
我不知道如何解决它,任何事情都会非常感激!!
答案 0 :(得分:1)
就像@ryanpcmcquen在他的评论中已经建议你缺少THREE.MOUSE
个对象。您也应加载three.js
库以使其正常工作。
THREE.MOUSE
对象is defined here in the core of the three.js library。
THREE.MOUSE = { LEFT: 0, MIDDLE: 1, RIGHT: 2 };
确保在代码中定义了build
对象的地方加载了THREE.MOUSE
版本的库。我建议从http://threejs.org/网站下载。
这两个文件都有THREE.MOUSE
对象。
注意:还要考虑一下库的正确加载顺序。
您必须在three.js
脚本之前添加OrbitControls.js
脚本 。