Javascript 如何使用控件。更新();使用PointerLockControls.js

Javascript 如何使用控件。更新();使用PointerLockControls.js,javascript,three.js,controls,typeerror,Javascript,Three.js,Controls,Typeerror,当我使用下面的代码片段时,我被告知要使用controls.update();命令,但我得到一个错误 未捕获的TypeError:controls.update不是动画中的函数 我查看了PointerLockControls.js和OrbitControls.js,我注意到Orbit有一个update()函数,而Pointer没有,最后我检查了让控件更新每一帧是很重要的,我该如何解决这个问题 var dt = 1/60; function animate() { requestAnimatio

当我使用下面的代码片段时,我被告知要使用controls.update();命令,但我得到一个错误

未捕获的TypeError:controls.update不是动画中的函数

我查看了PointerLockControls.js和OrbitControls.js,我注意到Orbit有一个update()函数,而Pointer没有,最后我检查了让控件更新每一帧是很重要的,我该如何解决这个问题

var dt = 1/60;
function animate() {
  requestAnimationFrame(animate);
  if(controls.enabled) {
    world.step(dt);

    //update ball positions
    for(var i=0; i<balls.length; i++) {
      ballMeshes[i].position.copy(balls[i].position);
      ballMeshes[i].quaternion.copy(balls[i].quaternion);
    }

    //update box positions
    for(var i=0; i<boxes.length; i++) {
      boxMeshes[i].position.copy(boxes[i].position);
      boxMeshes[i].quaternion.copy(boxes[i].position);
    }
  }

  controls.update(Date.now()-time);
  renderer.render(scene, camera);
  time = Date.now();
}
var dt=1/60;
函数animate(){
请求动画帧(动画);
如果(控件已启用){
世界标准步骤(dt);
//更新球的位置
对于(var i=0;i
我被告知要使用controls.update()命令


有趣的是,谁告诉过你^^?
PointerLockControls
没有更新方法,因为它只执行简单的事件处理。虽然
OrbitControls
有更新方法,但你只需要在启用阻尼或自动旋转时调用它。为什么?因为当这些选项之一处于活动状态时,它需要更新相机a即使未触发像
mousemove
touchmove
之类的事件。

您不能同时使用OrbitControl和PointerLockControl吗?由于pointerlock没有,它将从orbit进行更新