美文网首页
three.js - Resizing and FullScre

three.js - Resizing and FullScre

作者: 闪电西兰花 | 来源:发表于2023-10-23 11:14 被阅读0次
    • Fit in the viewport
    // 修改画布尺寸 原先为 800 * 600
    
    // Sizes
    const sizes = {
      width: window.innerWidth,
      height: window.innerHeight
    }
    
    // 监听窗口大小改变
    window.addEventListener('resize', () => {
      // Update sizes
      sizes.width = window.innerWidth
      sizes.height = window.innerHeight
    
      // update camera
      camera.aspect = sizes.width / sizes.height
      camera.updateProjectionMatrix() // 更新camera投影矩阵
    
      // Update renderer
      renderer.setSize(sizes.width, sizes.height)
    })
    
    • Handle pixel ratio
      • window.devicePixelRatio设备像素比, 有时候我们看到的渲染是不清晰的,有锯齿边的,通常因为我们使用的显示器像素比是大于1的
    // Render
    const renderer = new THREE.WebGLRenderer({})
    renderer.setSize(sizes.width, sizes.height)
    renderer.setPixelRatio(Math.min(window.devicePixelRatio))
    document.body.appendChild(renderer.domElement)
    
    • Handle fullscreen
    // 双击全屏
    window.addEventListener('dblclick', event => {
      const fullScreenElement = document.fullscreenElement // 全屏元素
      if (fullScreenElement) {
        document.exitFullscreen()
      } else {
        renderer.domElement.requestFullscreen()
      }
    })
    

    相关文章

      网友评论

          本文标题:three.js - Resizing and FullScre

          本文链接:https://www.haomeiwen.com/subject/ewzdpdtx.html