我正在尝试以三种方式实现移动摄像机:

function initThree(){
    scene = new THREE.Scene();
    camera = new THREE.PerspectiveCamera(75,window.innerWidth/window.innerHeight,0.1,1000);
    renderer = new THREE.CanvasRenderer();
    renderer.setSize(window.innerWidth,window.innerHeight);
    document.body.appendChild(renderer.domElement);
    geometry = new THREE.CubeGeometry(1,1,1);
    material = new THREE.MeshBasicMaterial({color:0x00ff00});
    cube = new THREE.Mesh(geometry,material);
    scene.add(cube);
    camera.position.z=5;
    controls = new THREE.PointerLockControls(camera); //fails at this line

}


在标记的行,我得到以下错误:

Uncaught TypeError: undefined is not a function


但是,在this页面上有一个示例吗?我当前正在使用this三个构建的本地副本。

任何帮助将是巨大的!

最佳答案

因为controls不属于main source的一部分,所以出现了该错误。如果要使用控件,则可能需要单独包含它们。参见此related post

关于javascript - THREE.PointerLockControls()返回“未定义不是函数”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21838997/

10-12 15:15