Three.js中的场景移动主要是通过摄像机移动来实现的。

下面是自己写的代码,主要是鼠标滚轮实现前进与后退和四个方向的移动。

windowAddMouseWheel();
addTouchListener();
/**
* 鼠标滚轮前进雨后退
*/
function windowAddMouseWheel() {
var scrollFunc = function (e) {
var positionZ=0;
e = e || window.event;
if (e.wheelDelta) {  //判断浏览器IE,谷歌滑轮事件
camera.position.z=camera.position.z+e.wheelDelta*0.1;
console.log(e.wheelDelta);
} else if (e.detail) {  //Firefox滑轮事件
camera.position.z=camera.position.z+e.detail*0.1;
console.log(e.detail);
}
if(positionZ<=1000&&positionZ>=0.1){
camera.position.z=positionZ;
}
};
//给页面绑定滑轮滚动事件
if (document.addEventListener) {
document.addEventListener('DOMMouseScroll', scrollFunc, false);
}
//滚动滑轮触发scrollFunc方法
window.onmousewheel = document.onmousewheel = scrollFunc;
}
/**
* 上下左右移动相机
*/
function addTouchListener() {
var startX,endX,startY,endY;
document.body.οnmοusedοwn=function (event) {
startX = event.clientX;
startY = event.clientY;
};
document.body.οnmοusemοve=function (event) {
if (event.button == 1 ) {
endX = event.clientX;
endY = event.clientY;
var x=endX-startX;
var y=endY-startY;
if (Math.abs(x)>Math.abs(y)) {
camera.position.x=camera.position.x-x*0.05;
} else {
camera.position.y=camera.position.y+y*0.05;
}
startX=endX;
startY=endY;
}
};
}

Three.js用鼠标控制场景移动的代码相关推荐

  1. 实现鼠标控制场景的视野及移动

    1.移动场景中的物体 using UnityEngine; using System.Collections;public class DragAndDrog : MonoBehaviour {pri ...

  2. HTML鼠标悬浮空心圆点切换图片,js实现鼠标切换图片(无定时器)

    本文实例为大家分享了js实现鼠标切换图片的具体代码,供大家参考,具体内容如下 实现效果,可以利用鼠标移动在对应的小点点上,或者点击左右两侧的箭头切换图片,并在图片的上方显示出图片的页数,下方显示出对应 ...

  3. Unity3d C# 实现纯鼠标平滑控制场景摄像头(相机)实现自由旋转、移动和围绕节点移动旋转等功能(含源码工程)

    相机控制 前言 效果 漫游效果 围绕节点效果 实现过程 功能范围 搭建场景 编码实现 变量设置 自由漫游 观察节点 功能使用 项目工程 瑕疵 前言 在很多情况下我们都会用到如题的功能,在一般情况下我们 ...

  4. 计算机视觉课程第六讲-带你简单快速学习2021年春晚背后刘德华与背景分离切换到另一场景视觉算法(上集):OpenCV4鼠标控制图像和视频任意位置放大和缩小

    计算机视觉课程第六讲-带你简单快速学习2021年春晚背后刘德华与背景分离切换到另一场景视觉算法(上集):OpenCV4鼠标控制图像和视频任意位置放大和缩小 本专栏将会带大家学习 <计算机视觉与图 ...

  5. js鼠标移动到指定位置_Python: pyautogui模块之鼠标控制

    文章背景:PyAutoGUI是一个纯Python的GUI自动化工具,其目的是可以用程序自动控制鼠标和键盘操作,利用它可以实现自动化任务.pyautogui模块中包含了一些函数,可以模拟鼠标移动.按键和 ...

  6. html点击控制盒子左右移动,JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例...

    JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例 发布时间:2020-10-04 12:47:25 来源:脚本之家 阅读:121 作者:s_psycho 本文实例讲述了JS实现鼠标拖拽盒子移动及右键 ...

  7. Three.js使用PointerLockControls控制相机实现第一人称视角

    上传视频麻烦,所以直接上代码.自己看官网案例写的 <template><div><div id="container"></div> ...

  8. 用three.js写一个小场景

    上次我们用three.js写了一个下雨的动画,主要是用粒子.这次是用three.js搭建了一个小场景. 项目地址依然是:https://github.com/alasolala/threejs-tut ...

  9. 【企业数字化转型】数据可视化技术:Three.js 用Physijs在场景中添加物理效果

    Three.js 极简教程 简介 Three.JS 是什么 Three.JS是基于WebGL的Javascript开源框架,简言之,就是能够实现3D效果的JS库. Three.JS 能做什么 利用Th ...

最新文章

  1. c语言读取txt文件数据乱码,编的学生成绩管理系统 从文件中读取保存数据总会多读入一组乱码数据...
  2. 用户权限_SAP 用户权限
  3. 微软职位内部推荐-SW Engineer II for Azure Network
  4. 《大话数据结构》第1章 数据结构绪论 1.1 开场白
  5. mac mysql 连接超时时间设置_MAC下mysql安装连接问题
  6. wxWidgets:wxMouseCaptureChangedEvent类用法
  7. 2修改字段名_DevExpress ASP.NET v18.2新功能详解(二)
  8. c++ 隐藏进程_Linux 查看进程的动态信息
  9. CocoaPods did not set the base configuration of your project 问题解决方案
  10. 前端学习(1954)vue之电商管理系统电商系统之重置表单数据
  11. 如何应对视觉深度学习存在的问题
  12. 登陆拦截拦截ajax,过滤器实现登录拦截需要注意的问题(AJAX请求的处理)
  13. react入门jsx
  14. 监督学习和无监督学习_一篇文章区分监督学习、无监督学习和强化学习
  15. java获取页面点击次数_在Java中怎样得出一个按钮点击的次数
  16. linux系统管理与服务器配置【2008网络工程师】,Linux系统管理与服务器配置
  17. 最新中国一二三四五线城市排名出炉!去这些城市买房准没错!
  18. 微信小助手插件WeChatTweak
  19. 那年我们也曾高三——纪录片《高三》真实记录高三生活
  20. 计算机高特效吃鸡游戏主机配置单,吃鸡最高特效配置 万元i7-8700K/GTX1080Ti吃鸡特效全开配置 (全文)...

热门文章

  1. Java初学者快速上手之实战“套路”
  2. shp转osm格式——道路文件格式转换
  3. vivo S16,一个美丽又“温柔”的姑娘
  4. 红队攻击演练过程中必须具备哪些能力
  5. 771. 宝石与石头
  6. sql多维度组合排序
  7. ABAP在Eclipse中做abap cds视图(marc表增强字段增强)
  8. OSI与TCP/IP各层的结构与功能
  9. nacos 使用过程中的一些问题
  10. 【文末福利】用Python画了一幅《海上生明月》的画