Threejs-05、设置响应式画布与全屏控制。

1、自适应屏幕大小
在这里插入图片描述

你会发现,我们前面写好的代码,在页面尺寸发生改变的时候,并不能自适应的改变尺寸,而出现空白或者滚动条突出的情况。所以监听屏幕大小的改变,来重新设置相机的宽高比例和渲染器的尺寸大小,代码如下:

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

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

效果演示
在这里插入图片描述

2、通过按钮控制控大小

1、添加按钮并设置样式

var btn = document.createElement("button");
btn.innerHTML="点击全屏"
btn.style.position="absolute";
btn.style.top = "10px";
btn.style.left = "10px";
btn.style.zIndex = "999";
// 退出全屏
var exitbtn = document.createElement("button");
exitbtn.innerHTML="退出全屏"
exitbtn.style.position="absolute";
exitbtn.style.top = "10px";
exitbtn.style.left = "130px";
exitbtn.style.zIndex = "999";

2、设置点击事件

btn.onclick = function(){
   
  // 画布全屏
  //renderer.domElement.requestFullscreen(); //按钮没有包括在内。
  //body 全屏
  document.body.requestFullscreen(

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/698298.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

删除的东西怎么恢复?5个方法,找回误删数据!

“我刚刚一不小心在电脑上误删了一些数据,想问问大家有什么方法可以恢复删除的东西吗?请帮帮我!” 在数据时代,我们每天会在电脑上保存很多重要的数据,这些数据不仅包括我们的学习资料、工作信息,还有各种个…

DeepSORT(目标跟踪算法)中自由度决定卡方分布的形状

DeepSORT(目标跟踪算法)中自由度决定卡方分布的形状 flyfish 重要的两个点 自由度决定卡方分布的形状(本文) 马氏距离的平方在多维正态分布下服从自由度为 k 的卡方分布 独立的信息 在统计学中,独立的信息是指数据…

震撼!AI语言模型突破瓶颈,26个提示词原则引领GPT-4响应质量飙升57.7%!你的模型还在等什么?

不是模型不够强大,是你的提示不够精准。 当大型语言模型如ChatGPT在各领域大放异彩时,普通用户却对其指令设计一头雾水。这篇论文揭秘了与模型交流的秘诀,仅凭优化提示,就让GPT-4响应质量和准确性分别飙升57.7%和36.4%&#xff0…

重生奇迹mu套装掉的地点一览

1、目前只有三个地方掉套装:赤色要塞,不是100%掉,靠运气。卡利玛7,杀困顿能掉。魔炼之地,只有城主盟成员可以进入。 2、只有攻城城主盟可以进入的地图“魔炼之地”掉套装,暴率几乎为0。如果你是敏法的话&am…

C++ 判断目标文件是否被占用(独占)(附源码)

在IM软件中发起文件发送时,如果要发送的是某word文件,并且该word文件被office打开,则会提示文件正在被占用无法发送,如下所示: 那文件被占用到底是如何判断出来的呢?其实很简单,调用系统API函数CreateFile,打开该文件(OPEN_EXISTING),传入FILE_SHARE_READ共享读标记…

MySQL—多表查询—练习(2)

一、引言 接着上篇博客《 MySQL多表查询——练习(1)》继续完成剩下的案例需求。 二、案例 (0)三张表(员工表、部门表、薪资等级表) 员工表:emp 部门表:dept 薪资等级表:…

CF297C Splitting the Uniqueness 题解

CF297C Splitting the Uniqueness 题解 非常好构造题,使我的草稿纸旋转。 解法 我们记输入的数组为 a a a,需要输出的两个数组为 b , c b,c b,c(因为当时起变量名起的)。 考虑利用 a i a_i ai​ 互不相同的性质。 先将 a…

Kaggle -- Titanic - Machine Learning from Disaster

新手kaggle之旅:1 . 泰坦尼克号 使用一个简单的决策树进行模型构建,达到75.8%的准确率(有点低,但是刚开始) 完整代码如下: import pandas as pd import numpy as npdf pd.read_csv("train.csv&quo…

Spring Boot 分片上传、断点续传、大文件上传、秒传,应有尽有

文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好的办法,毕竟很少有人会忍受,…

《Brave New Words 》5.1 传递真相:偏见和虚假信息现状

Part V: Keeping Kids Safe 第五部分:确保孩子安全 Never travel faster than your guardian angel can fly. —Mother Teresa 永远不要比你的守护天使飞得更快。 ——特蕾莎修女 Distrust and caution are the parents of security. —Benjamin Franklin 不信任和谨…

使用 actor-critic 方法来控制 CartPole-V0 游戏

CartPole 介绍 在一个光滑的轨道上有个推车,杆子垂直微置在推车上,随时有倒的风险。系统每次对推车施加向左或者向右的力,但我们的目标是让杆子保持直立。杆子保持直立的每个时间单位都会获得 1 的奖励。但是当杆子与垂直方向成 15 度以上的…

Java开发基础技能简介

一、Java版本 JavaSE:标准版 JavaEE:企业版 二、IDEA工程中的模块 1.打开工程所在文件夹 鼠标右键点模块——open in——explorer 2.修改模块名 鼠标右键点模块——refactor-rename-rename module and directory 3.导出模块 ctrl c,…

LLM系列:KVCache及优化方法

前言 Transformer encode-base模型,推理和训练过程高度统一(差异仅仅是否存在反向),而decoder-base模型(如GPT、LLama2),推理与训练差异性比较大: 自回归推理全量prompt增量tokenK…

公司电脑文件防泄密软件系统——天锐绿盾 | 透明加密、防泄密系统

天锐绿盾是一款专业的企业信息安全防护软件,旨在防止公司内部文件的泄露。它提供了多种功能来保护敏感数据,确保企业信息的安全。 PC地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是天锐绿盾的主…

[Java基础揉碎]网络相关概念

目录 网络通信 网络 ip地址 ​编辑 域名 ​编辑 网络协议 TCP和UDP 网络编程比较重要的的InetAddress类 Socket ​编辑 tcp字节流编程 案例一 案例二​编辑 案例三 网络上传文件 ​编辑​编辑 ​编辑 netstat tcp网络通信客户端也是通过端口和服务端进行通讯的…

输入失调电流是什么?

输入失调电流与输入补偿电流概念一样(input offset current):同相减去反相输入端偏置电流的差值。这是由生产工艺导致同相与反相端的电流大小方向都会有所不同。 第一种情况:同相输入端减去反相输入端 第一种情况:同相…

Elasticsearch 为时间序列数据带来存储优势

作者:来自 Elastic Martijn Van Groningen, Kostas Krikellas 背景 Elasticsearch 最近投资了对存储和查询时间序列数据的更好支持。存储效率一直是关注的主要领域,许多项目取得了巨大的成功,与将数据保存在标准索引中相比,可以节…

耐用充电宝有哪些?优质充电宝到底选哪个?良心推荐!

在电量即生产力的现今时代,如何为移动设备寻找一位最佳的伴侣呢?一款耐用、优质的充电宝无疑是你的不二之选。今天我们将带您揭开市场隐藏的一面,揭示哪些充电宝品牌真正代表了耐用与品质的标杆。让我们一起深入了解并选购最适合自己的充电宝…

MFC绘图

文章目录 消息组成消息的作用获取消息翻译消息常见消息WM_DESTROYWM_SYSCOMMAND 消息循环的阻塞发送消息字符串资源加速键资源GDI绘图对象-画笔位图绘制文本绘制字体模式对话框动态库特点线程创建线程 互斥事件信号量 消息组成 窗口句柄消息ID消息的两个参数消息产生的时间消息…

PGConf.dev 2024 |@PGer 你的问题已出海,来看看 Tom Lane 如何回复?

2024 PostgreSQL 开发大会(pgconf.dev)于5月8日在温哥华召开。瀚高IvorySQL发起留言互动活动——#PGConf.dev 2024数据世界因你不同#,已将部分用户想问的问题传递到PGConf.dev现场。 与会的大佬们对每一个问题都给予了认真的回复和解答。来看…