threejs实现监听窗口变化自适应画面以及全屏和退出全屏

一、现在的效果

threejs实现监听窗口变化自适应画面以及全屏和退出全屏_第1张图片
threejs实现监听窗口变化自适应画面以及全屏和退出全屏_第2张图片
如上图,我改变窗口大小之后,整个场景并没有跟着窗口的变化自适应

二、解决方案

// 监听画面变化,更新渲染画面
window.addEventListener("resize", () => {
  //   console.log("画面变化了");
  // 更新摄像头
  camera.aspect = window.innerWidth / window.innerHeight;
  //   更新摄像机的投影矩阵
  camera.updateProjectionMatrix();

  //   更新渲染器
  renderer.setSize(window.innerWidth, window.innerHeight);
  //   设置渲染器的像素比
  renderer.setPixelRatio(window.devicePixelRatio);
});

三、全屏和退出全屏

// 监听鼠标双击击事件
window.addEventListener("dblclick", () => {
  const fullScreenElement = document.fullscreenElement;
  if (!fullScreenElement) {
    //   双击控制屏幕进入全屏,退出全屏
    // 让画布对象全屏
    renderer.domElement.requestFullscreen();
  } else {
    //   退出全屏,使用document对象
    document.exitFullscreen();
  }
});

你可能感兴趣的:(three.js,javascript)