Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在三个位置更新轨迹球控件_Javascript_Three.js_Controls_Trackball - Fatal编程技术网

Javascript 如何在三个位置更新轨迹球控件

Javascript 如何在三个位置更新轨迹球控件,javascript,three.js,controls,trackball,Javascript,Three.js,Controls,Trackball,我在three.js上有一个项目,我需要在window resize上更新轨迹球控件。。我需要用新的输入变量更新调用函数的整个控件。重新创建控件会导致崩溃,我不想删除控件并创建新的控件,因为这可能会导致垃圾。我有一个类似的问题,但我认为这是一个更完整的问题 如果要在调整窗口大小时更新轨迹球控件,可以使用以下模式: window.addEventListener( 'resize', onWindowResize, false ); function onWindowResize() {

我在three.js上有一个项目,我需要在window resize上更新轨迹球控件。。我需要用新的输入变量更新调用函数的整个控件。重新创建控件会导致崩溃,我不想删除控件并创建新的控件,因为这可能会导致垃圾。我有一个类似的问题,但我认为这是一个更完整的问题

如果要在调整窗口大小时更新
轨迹球控件
,可以使用以下模式:

window.addEventListener( 'resize', onWindowResize, false );

function onWindowResize() {

    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();

    renderer.setSize( window.innerWidth, window.innerHeight );

    controls.handleResize(); // for TrackballControls

    render();

}
您必须根据画布的大小修改此图案


three.js r.70

很抱歉回复太晚!我一直在努力解决我的问题,但没有结果。我需要的是更新轨迹球控件,以便在不同的屏幕上检测鼠标位置事件。我成功地创建了handleResize()函数,但getmousePosition(事件)工作不正常。如果你有新问题,你需要写一篇新文章。