其他分享
首页 > 其他分享> > iframe中嵌套threejs使用TrackballControls时touch事件报错

iframe中嵌套threejs使用TrackballControls时touch事件报错

作者:互联网

iframe中嵌套threejs使用TrackballControls时touch事件报错

作者:咕魂

时间:2021年8月3日

项目背景:在使用threejs引擎进行游戏开发时,使用iframe嵌套解决bgm在不同页面连续播放的问题,但是iframe中的onPointerDown事件会触发两次导致position出现两个元素无法使用

解决办法:修改TrackballControls的源码中的addPointer函数

原始函数:

function addPointer(event) {
  _pointers.push(event)
}

修改后:

function addPointer(event) {
  if (_pointers.length == 1) {
    return
  }
  _pointers.push(event)
}

作用:拦截掉一次多余的事件

总结:该方法是在TrackballControls的源码中进行修改,不太推荐,如果有其他拦截iframe多次touch事件的方法欢迎指正

标签:threejs,addPointer,TrackballControls,报错,iframe,touch,event
来源: https://www.cnblogs.com/guhunjun/p/15092659.html