如何在 javascript 处更新 createControls 的函数输入变量?

How to update createControls's function input variables at javascript?

我有一个

 function createControls(){ return new THREE.TrackballControls( camera,domElement );}

这是用

创建的
THREE.TrackballControls=function(object, domElement){.....}
controls = createControls(camera, renderer.domElement);
restoreView(controls, vars);
addDefaultKeyEventListener();

并且在调整 webgl 容器的大小后,控件无法正常工作。准确地说,有一个事件,当用户单击屏幕时,黄色球移动到 3d 平原上的确切位置 space.在调整大小事件之后,球移动到一个位置,该位置与我认为与调整大小的比例相关的那个位置有偏移。当我尝试重新定义控件变量时它崩溃了..

如何更新具有新相机和 renderer.domElement 输入变量的控件?

TrackballControls 有一个方法:handleResize()。因此,如果您使用

创建控件
controls=new THREE.TrackballControls(...);

您只需添加

controls.handleResize();

进入在 resize 事件中调用的函数。