threejs 拖拽事件会触发点击事件

2023-10-31

记录three中拖拽场景会触发click事件

解决方法

 dragNoClick = () => {

  const lock = (e) => {

   //获取相机位置

   this.lockStart = this.map.controls.target.clone();

  };

  const unlock = (e) => {

   const target = this.map.controls.target;

   //起始点距离小于0.1认为是没有挪动 点击事件

   if (!this.lockStart || this.lockStart.distanceTo(target) > 0.1) {this.lockTiles = false;

   } else {//点击事件this.lockTiles = true;

   }

  };

  const controls = this.map.controls;

  controls.addEventListener("start", lock);

  controls.addEventListener("end", unlock);

绑定事件

//t===事件名称 fn===回调
handleEvent = (t, fn) => {
    this.map.on(t, (e) => {
      if (e.length <= 0) {
        return;
      }

      //点击事件 区别拖拽事件
      if (t === "click") {
        if (this.lockTiles) {
          fn(e);
        }
      } else {
        fn(e);
      }
    });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

threejs 拖拽事件会触发点击事件 的相关文章

随机推荐

  • ubuntu解压zip文件命令_Ubuntu压缩及解压文件简介

    使用Ubuntu的过程中 无论用来干什么 都会有文件上的交流 必不可免的就是压缩文件 Ubuntu系统中自带了部分格式的压缩软件 但是win系统习惯的rar格式文件解压需要下载相关软件 现整理如下 1 文件格式及解压工具 tar 用 tar
  • ARM中MMU之地址转换

    第一次发帖略微有点激动 有不足的地方还请各位大神指教 最近看了看mmu 找了好多资料 看了好多博文终于稍微清楚了一点 现在我把自己理解的内容总结一下 首先我来说一下MMU的作用 MMU就是负责虚拟地址 virtual address 转化成
  • response.getWriter().write()和 response.getWriter().print()的区别 以及 PrintWriter对象 和 out对象 的区别

    一 response getWriter write 和 response getWriter print 的区别 response getWriter 返回的是PrintWriter 这是一个打印输出流 response getWrite
  • Pytorch之经典神经网络Generative Model(三) —— GAN (MNIST)

    2014年由GAN之父Ian Goodfellow提出 加拿大蒙特利尔大学 GAN 生成式对抗网络 前面我们讲了自动编码器和变分自动编码器 不管是哪一个 都是通过计算生成图像和输入图像在每个像素点的误差来生成 loss 这一点是特别不好的
  • 一篇文章,让你彻底搞懂单例设计模式

    今天在一群小哥哥的带领下 本程序媛终于学会了所有单例模式 非常感谢大哥哥 小哥哥 下文是我总结的单例模式的八种实现方式 如下所示 单例模式的简介 我们将一个类在当前进程中只有一个实例的这种模式 称之为 单例模式 那么Java代码如何实现一个
  • Postman —— 配置环境变量

    PostMan是一套比较方便的接口测试工具 但我们在使用过程中 可能会出现创建了API请求 但API的URL会随着服务器IP地址的变化而改变 这样的情况下 如果每一个API都重新修改URL的话那将是非常的麻烦 所以PostMan中也提供环境
  • 【ViT 微调时关于position embedding如何插值(interpolate)的详解】

    目录 1 问题描述 2 positional embedding如何interpolate 3 输入的sequence length改变了ViT还能正常前向推断 本文适合对Vision Transformer有一定了解 知道内部结构和一些实
  • 项目6—利用中断实现单位数码管0~9显示

    项目5中有介绍中断问题 中断函数命名格式 函数值类型 函数名 形式参数列表 interrupt x interrupt为中断函数关键字 表中第二行T0中断 使能T0中断 就要将ET0置1 当它的中断标志位TF0变为1时 就会触发T0中断 这
  • UVA1613 K-GraphOddity

    UVA1613 K GraphOddity 题目传送门 刚看第一眼一点思路都没有 后面看了大佬的题解发现这道题其实是一道水题 用到的方法就是DFS遍历图 我是废物 题目意思很简单 就不分析了 下面直接说方法 首先求出k 然后dfs遍历一遍图
  • 出现这个问题 -bash: /etc/profile.d/env.sh: Permission denied

    记录一下搞了一个上午都没有解决的问题 如下图 出现的问题很奇怪 从root用户切换到普通用户是出现了 bash etc profile d env sh Permission denied 然后用root 把这个env sh文件 内容是PS
  • IP核之FIFO实验

    FIFO 的英文全称是 First In First Out 即先进先出 FPGA 使用的 FIFO 一般指的是对数据的存储具有先进先出特性的一个缓存器 常被用于数据的缓存 或者高速异步数据的交互也即所谓的跨时钟域信号传递 它与 FPGA
  • Python配置清华镜像源

    Python配置清华镜像源 1 前言 使用pip 安装服务器在国外的python 库时 下载需要很长时间 在配置文件中设置国内镜像可以提高速度 清华镜像源就是其中之一 2 pypi 镜像使用帮助 网址 https mirrors tuna
  • 将cookie字符串转化为json对象

    先看一下cookie长啥样 在控制台输入查看document cookie 如下图 分析可以看出cookie是以 key value key2 value2 的结构 好 接下来我们就将其转为json对象 function cookieToJ
  • base64 加密解密

    1 str lt gt bytes str bytes bytes s encoding utf8 bytes str str b encoding utf 8 此外还可通过编码解码的形式对二者进行转换 str 编码成 bytes 格式 s
  • Spring cloud+Zuul+JWT实现无状态统一身份认证和分布式限流

    本文主旨搭建一个无状态统一身份认证的系统 基于Spring cloud微服务架构 Eureka 实现服务的注册与发现 Zuul网关实现服务路由 请求过滤和限流功能 使用JWT规范实现客户登陆信息的服务端无状态话 相关文章参考 Spring
  • localStorage sessionStorage cookie的区别

    文章转载自 http blog csdn net cwzhsi article details 49557879 一 基本概念 Cookie cookie比较小 大小限制在4kb左右 是网景公司的前雇员 LouMontulli 在1993年
  • tilemap 菱形_【cocos3.x+tilemap】制作rpg小游戏(二)遮挡与碰撞

    前面制作了地图 现在就可以在工程中使用了 现在只实现了遮挡与碰撞 后续再实现点击屏幕移动 寻路算法 npc交互等 实现遮挡与碰撞 都需要解决一个核心问题 当前角色到底在哪一块瓦片上 也就是cocos坐标如何转化为TileMap瓦片坐标 这个
  • python函数中将变量名转换成字符串

    考虑到在日常中 常常需要对模型指标输出 但涉及多个模型的时候 需要对其有标示输出 故需要将模型变量名转换成字符串 看到的基本方法有两种 一 方法层面 方法1 函数内推荐 def namestr obj namespace return na
  • webpack.config.js基础配置(五大核心属性)

    在上一节webpack零基础入门中我们在安装完webpack 和 webpack cli依赖之后 直接通过npx webpack src main js mode development的方式对src下的js文件进行了打包 其中的 src
  • threejs 拖拽事件会触发点击事件

    记录three中拖拽场景会触发click事件 解决方法 dragNoClick gt const lock e gt 获取相机位置 this lockStart this map controls target clone const un