求助!单击事件调用destory事件报错
-
我需要实现一些Object3D节点的更新,因此我需要先销毁原有Object3D节点,再将新的Object3D节点挂载上去。我的目标是通过点击事件实现这样的效果。现在的问题是:
我写了代码实现这样的效果,该效果可以通过dat.gui的控件调用该函数正常运行并实现,但当我通过PointerEvent3D.PICK_CLICK的监听来调用该函数时却会报错Uncaught (in promise) TypeError: Cannot read properties of null (reading 'length')。
代码如下//dat.gui的按钮调用 let button_remove = { IntoNext: () => { this.intoProvince(); } //鼠标点击的调用 pickClick(e:PointerEvent3D){ this.intoProvince(); } //被调用的函数 intoProvince(){ if(!this.geoMap.getChildByName('420000')){ this.destoryGeoMap(); //销毁 this.loadGeoJsonMap('420000');//挂载新的节点 } } //销毁函数 destoryGeoMap(){ this.graphic3D.ClearAll(); for(let i=0;i<this.geoMap.entityChildren.length;i++){ let destoryObj=this.geoMap.entityChildren[i]; this.geoMap.removeChild(destoryObj); destoryObj.destroy(); } }
报错信息如下:
不知道有没有大佬能解决这个问题? -
@github-sugar 试着安装一下 @orillusion/core@0.8.4-dev.3,看看错误有没有解决,如果可以我们稍后会发布 0.8.4 正式版
-
@shuangliu 在 求助!单击事件调用destory事件报错 中说:
@github-sugar 试着安装一下 @orillusion/core@0.8.4-dev.3,看看错误有没有解决,如果可以我们稍后会发布 0.8.4 正式版
错误已经解决了,十分感谢!!