Three窗口自适应Resize

 

 

 浏览器监测

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

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

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

   //第一人称控制器专用 controls.handleResize();

}

 

 


监听某个元素:

useEffect(() => {
    resizeObserver.observe(roomButtonGroupRef.current);
    // 清理监听函数
    return () => {
      if (resizeObserver && roomButtonGroupRef.current) {
        resizeObserver.unobserve(roomButtonGroupRef.current);
        resizeObserver.disconnect();
      }
    };
  }, [])

  const resizeObserver = new ResizeObserver(entries => {
    for (let entry of entries) {
      const width = entry.contentRect.width;
      console.log(width, 'width');
    }
  });
 
posted @   SimoonJia  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示