如何更新createControls';javascript中的函数输入变量?

如何更新createControls';javascript中的函数输入变量?,javascript,resize,three.js,controls,Javascript,Resize,Three.js,Controls,我有一个 function createControls(){ return new THREE.TrackballControls( camera,domElement );} 它是用 THREE.TrackballControls=function(object, domElement){.....} controls = createControls(camera, renderer.domElement); restoreView(controls, vars); addDefaul

我有一个

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

THREE.TrackballControls=function(object, domElement){.....}
controls = createControls(camera, renderer.domElement);
restoreView(controls, vars);
addDefaultKeyEventListener();
调整webgl容器的大小后,控件无法正常工作。确切地说,当用户单击屏幕时,一个黄色球会移动到3d空间平面上的确切位置。调整大小事件后,球在一个点上移动,该点的偏移量与调整大小的比例有关。当我试图重新定义变量控件时,它崩溃了


如何更新具有新摄影机和渲染器的控件。doElement输入变量?

轨迹球控件有一种方法:
handleResize()
。因此,如果您使用

controls=new THREE.TrackballControls(...);
你只要加上

controls.handleResize();

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

我看到的问题是,renderer.setSize随着浏览器窗口的大小而改变。如果我保持相同的大小,会导致内容失真。有什么帮助吗?如何解决这个问题?