three.js学习(第二天)之阻尼+自适应+js全屏

2023-10-29

添加阻尼效果

// 加载轨道控制器
import { OrbitControls } from 'three/addons/controls/OrbitControls.js';
// 创建轨道控制器
const controls = new OrbitControls(camera, renderer.domElement)
// 设置控制器阻尼,让控制器更具有真实效果,必须在动画循环里调用.update()
controls.enableDamping = true;

function render() {
  controls.update()
  renderer.render(scene, camera)
  // 渲染下一帧的时候就会调节render函数
  requestAnimationFrame(render)
}
render()

根据尺寸自适应

// 监听画面变化,更新渲染画面
window.addEventListener('resize',()=>{
  // 更新摄像头
  camera.aspect = window.innerWidth/window.innerHeight;
  // 更新摄像机的投影矩阵
  camera.updateProjectionMatrix();
  // 更新渲染器
  renderer.setSize(window.innerWidth,window.innerHeight);
  // 更新渲染器的像素比
  renderer.setPixelRatio(window.devicePixelRatio);
})

利用js控制画布是否全屏

window.addEventListener('dblclick', () => {
  // 双击实现进入、退出全屏
  const fullscreenElement = document.fullscreenElement
  if (fullscreenElement) {
    //文档对象退出全屏
    document.exitFullscreen();
  } else {
    // 画布对象请求全屏
    renderer.domElement.requestFullscreen();

  }
})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

three.js学习(第二天)之阻尼+自适应+js全屏 的相关文章

  • 如何通过单击图像预览上的“x”从文件输入中删除图像?

    我目前有一个文件输入 一旦用户上传图像 就会显示图像预览 在图像预览上 有一个 x 可以从列表中删除图像预览 单击此 x 后 有什么方法可以从输入中的文件集中删除图像吗
  • 如何将udp发送到udp node.js服务器?

    我对此很陌生 所以我真的不知道我在做什么 但我已经设置了一个 node js udp 服务器 我想从客户端 来自网站 向它发送一个数据包 但我不知道如何在 javascript 中做到这一点 或者是否可能 我不是在研究如何从 Node js
  • 动态速度计 javascript 或 jquery 插件

    我希望有动态ajax插件在页面上显示速度计 一个想法是我设置一个背景并旋转针 有人知道相关插件吗 这里有一些供您参考 http bernii github com gauge js http bernii github com gauge
  • 用隐藏单元格补充 colspanned 表格有什么不好吗?

    我一直在表格上开发一些排序和选择功能 我发现在具有跨单元格的表格中定位非常困难 我只是添加了跨区单元格并将其隐藏 它看起来不错 它与我的 js 一起工作 非常适合索引 但我想知道这是否是合法的方法 stuffing display none
  • 如何在ASP.NET Webform中使用Jquery表单插件?

    我遇到了这个插件 http malsup com jquery form getting started http malsup com jquery form getting started 我想知道如何在 ASP NET WebForm
  • Node js 使用中间件重定向进行过多重定向

    在我的 Node js 应用程序 我使用的是express 4 x 中 我想检查用户是否已登录 如果用户未登录 我想重定向到我的登录页面 然后我在中间件中这样做 服务器 js app use function req res next if
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • jquery window.open 在 ajax 成功中被阻止

    尝试在我的 ajax 成功调用中打开一个新的浏览器窗口 但是 它被阻止为弹出窗口 我做了一些搜索 发现用户事件需要绑定到 window open 才能避免这种情况发生 我还找到了这个解决方案 您可以在 ajax 之前打开一个空白窗口 然后在
  • 在闪亮的数据表中为每个单元格显示工具提示或弹出窗口?

    有没有什么方法可以为 r闪亮数据表中的每个单元格获取工具提示 有很多方法可以获取悬停行或列 但我找不到一种方法来获取行和列索引并为每个单元格显示不同的悬停工具提示 任何人都可以修改以下代码吗 library shiny library DT
  • Javascript - 将值从下拉框传递到 Google Maps API

    我正在使用 Google 地图 API 为一家出租车公司创建报价表 目前 用户在 2 个文本框中输入出发点和接载点 API 会计算两点之间的距离以及行程费用 我正在尝试添加两个具有设定位置的下拉框 以便用户可以选择这些位置之一或使用文本框输
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 是否有任何非轮询方式来检测 DOM 元素的大小或位置何时发生变化?

    很长一段时间以来 我一直在寻找一种方法来检测 DOM 元素的大小或位置何时发生变化 这可能是因为窗口调整了大小 或者因为向该元素添加了新的子元素 或者因为在该元素周围添加了新元素 或者因为 CSS 规则已更改 或者因为用户更改了浏览器的字体
  • IE11不监听MSFullscreenChange事件

    我正在尝试使用 Bigscreen js 在 IE11 中使用全屏 但 IE11 不监听 MS FullscreenChange 事件 document addEventListener MSFullscreenChange functio
  • Chartjs刻度标签位置

    尝试让 Y 轴刻度标签看起来像image https i stack imgur com XgoxX png 位于秤顶部且不旋转 缩放选项当前如下所示 scales yAxes id temp scaleLabel display true
  • 如何在jquery中获取保存时间和当前时间的差异?

    我想在 javascript 或 jquery 中获取保存时间和当前时间之间的时差 我节省的时间看起来像Sun Oct 24 15 55 56 GMT 05 30 2010 java中的日期格式代码如下 String newDate 201
  • 如何获取 UIWebView 中元素的位置?

    我在 iPad 程序中加载了 html 的 UIWebView 通过使用 webkit column width 我将 html 分为几列 padding 0px height 1024px webkit column gap 0px we
  • 单击引导分页链接时调用 jquery 函数

    我想在单击引导分页链接时调用 jquery 函数 假设我想从第1页遍历到第2页 应该调用一个jquery函数 我正在使用以下代码 但它不起作用 ul pagination on click li function alert page ch
  • 需要有关 React Js 的帮助

    我是 React Js 新手 我的代码无法正常工作 请看下面 这是我的脚本文件Main jsx 该文件由 React 编译 输出放置在 dist 文件夹下的 main js 文件中 var react require react react
  • 防止文本区域出现新行

    我正在开发聊天功能 使用 Vue 并使用文本区域作为输入 以便溢出换行 并且对于编写较长消息的用户来说更具可读性 不幸的是 当用户按下 Enter 键并提交时 光标会在提交之前移动到新行 从而使用户体验感觉不佳 关于如何使用普通 Javas
  • 如何在打字稿文件中导入没有定义文件的js库

    随着我们的项目变得越来越大 我想从 JavaScript 切换到 TypeScript 以帮助进行代码管理 然而 我们使用许多库作为 amd 模块 我们不想将其转换为 TypeScript 我们仍然想将它们导入 TypeScript 文件

随机推荐

  • ubuntu18.04双系统安装

    ubuntu18 04双系统安装 1 下载Ubuntu镜像文件 进入ubuntu官网https cn ubuntu com download 点击下载Ubuntu桌面版 点击其他下载 点击查看历史版本 点击18 04 将 ubuntu 18
  • Ajax vs Willem II,Ajax suffer shock home defeat against Willem II

    Video PlayerClose THE HAGUE Dec 6 Xinhua Four days before the crucial Champions League tie against Valencia Dutch league
  • redux入门详解

    redux定义 redux是一个专门用于做状态管理的js库 它可以用于原生js react vue angular等项目中 但基本与react配合使用 作用 集中式管理react应用中多个组件共享的状态 什么情况下需要redux 某个组件的
  • [4G+5G专题-140]: 终端 - 5G终端主要的产品形态 - 行业终端

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 123064525 目录 第1章 本章在
  • mysql 批量替换域名_MYSQL批量替换文章中的url地址

    博客建立初期 因为迷信各种优化 所以把文章中上传的图片地址都用了空间上给的二级域名 一直不喜欢搞 MYSQL 也就一直没有改动这些图片地址 所以在这次搬家中含有这些图片的文章在显示中收到了影响 搬家以后二级域名不再属于我 所以使用 MYSQ
  • nodejs 格式化 Date() 为yyyy-MM-dd HH:mm:ss 格式

    一 推荐 更实用完美解决时间格式化的 组件 monent 官网地址 http momentjs cn 二 Date prototype Format function fmt var o M this getMonth 1 d this g
  • MySQL对标准SQL的扩展

    1 8 4 MySQL对标准SQL的扩展 MySQL服务器包含一些其他SQL DBMS中不具备的扩展 注意 如果使用了它们 将无法把代码移植到其他SQL服务器 在某些情况下 你可以编写包含MySQL扩展的代码 但仍保持其可移植性 方法是用
  • git 学习

    跟着下面两篇文章设置了一下自己的GitHub 决心今后好好维护自己的github主页 just for reference http www jianshu com p cdbe242dd1b8 http www jianshu com p
  • -Z(IDATA)ISTACK+_IDATA_STACK_SIZE#08-_IDATA_END",

    IAR 8 3以后的版本编译TI BLE Stack会报类似如下的错误 Error e16 Segment ISTACK size 0xc0 align 0 is too long for segment definition At lea
  • OpenCV人脸识别的原理

    在之前讲到的人脸测试后 提取出人脸来 并且保存下来 以供训练或识别是用 提取人脸的代码如下 void GetImageRect IplImage orgImage CvRect rectInImage IplImage imgRect do
  • 13-1 可执行程序的编译过程

    1 编译流程 使用 gcc 编译器 将源代码 c 文件一步一步编译至可执行程序 gcc 编译器在 Windows Linux Mac 均可正常编译 编译具体过程如下 1 打开 msys 目录下的 mingw64 exe 跳转至待编译源码的目
  • ISCC——美人计

    拿到题目下载文件 得到一张照片 还有一张二维码扫码结果 U2FsdGVkX1 Ka sScszwQkwhO VLiJwV 6IFg5W TfNHGxG2qZsIr2iwMwb9X9Iu3GuGWmPOtO27z8vNppD2D50fwsD
  • PowerDNS篇1-简介和安装

    本文主要介绍PowerDNS的主要特性和初始化安装的配置方法 侧重点是对复杂程度相对较高PowerDNS Authoritative Server进行介绍 同时会夹杂部分PowerDNS Recursor的初始化安装和配置 1 PowerD
  • 【AI编程工具合集】42 款 AI 代码助手工具大盘点!开发效率神器!

    0 未来百科 未来百科 https nav 6aiq com 是一个知名的AI产品导航网站 为发现全球优质AI工具而生 目前已 聚集全球3000 优质AI工具产品 旨在帮助用户发现全球最好的AI工具 同时为研发AI垂直应用的创业公司提供展示
  • Python字典加减操作

    最近工作中遇见了这个基础问题 分享一下 以下是Python中的两个Dict x a 1 b 2 c 3 y a 3 b 1 d 5 我们需要用到class collections Counter iterable or mapping 相加
  • 数学建模_饮食计划

    摘要 民以食为天 合理的饮食是身体健康的基础 科学的控制摄入食物的比例可以健康的减肥 实际的饮食计划中既要考虑较低的热量摄入 还要考虑较高的满足感和饱腹感 并且营养要均衡 本文采用多目标加权 分优先级的方法将多目标优化问题转化为多个线性规划
  • rsync使用时的常见问题

    rsync使用时的常见问题 错误1 rsync read error Connection reset by peer 104 rsync error error in rsync protocol data stream code 12
  • 常用社交网络(SNS、人人网、新浪微博)动态新闻(feed、新鲜事、好友动态)系统浅析

    最近见几个朋友都在说人人网新鲜事排序的问题 恰巧对这方面也较感兴趣 于是打算顺便把手头收集到的资料梳理学习一下 由于本人也只是新手 很多内容仅仅是参阅资料后的个人猜测与纸上谈兵故难免存有错误与纰漏 感谢大家指正 一 什么是feed Feed
  • HMI全液晶仪表方案-使用QNX和Kanzi的UI解决方案

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额1元起步 多少随意 锋影 e mail 174176320 qq com 黑莓有限公司子公司及全球车载电子软件平台领导厂商QNX软件系统有限公司与汽车用户界面设计工
  • three.js学习(第二天)之阻尼+自适应+js全屏

    添加阻尼效果 加载轨道控制器 import OrbitControls from three addons controls OrbitControls js 创建轨道控制器 const controls new OrbitControls