我在three.js有一个项目,我需要在窗口调整大小时更新轨迹球控件。我需要更新调用具有新输入变量的函数的整个控件。重新创建控件会导致崩溃,我不想删除控件并创建可能导致垃圾的新原因。我有一个类似的问题How to update createControls's function input variables at javascript?,但我认为这是一个更完整的问题。
答案 0 :(得分:2)
如果您想在调整窗口大小时更新TrackballControls
,可以使用此模式:
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();
}
您必须根据画布的大小来修改此模式。
请参阅http://threejs.org/examples/misc_controls_trackball.html。
three.js r.70