threejs顶层管理交互

本文介绍了如何在ThreeJS中进行顶层交互管理,以click事件为例,提出通过创建事件容器、统一监听、添加与移除事件、设置当前执行事件及修改事件激活状态等步骤,有效管理和协调多个按钮的触发行为,减少资源损耗。
摘要由CSDN通过智能技术生成

背景

threejs做业务,存在多个按钮时,为了管理各个按钮不同时触发,就不能在各个按钮做container.addEventListener,应该在顶层统一管理。

解决方案(以click事件为例,mousemove等其他事件同理)

1、顶层建立容器统一储存事件、统一监听事件

顶层类的内部:所有事件都在handleClickEvent里,实际container.addEventListener执行的事件,会去找当前且被激活的事件去执行。也节省损耗,不需要一有事件需要监听就新造一个addEventListener出来。

//事件容器
let handleClickEvent = [
  {
   
    stage: true,     //表示是否激活该事件
    fun: () => {
   },  //事件
    id: '',        //事件标识
  },
]

//当前触发的事件
let currentEvent

//事件容器中搜索目标事件
const findEvent = (id)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luxiaopengyou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值