关于在TouchEnd中移除对象自身的问题。

今天在使用3.4.1开发过程中遇到一个问题。目前仅发现在windows web调试中遇到。如题,我场景中有可通过鼠标移动并被移除的对象,类似拖动文件到垃圾桶的功能。因此该对象注册了Touch相关的事件;当我在TouchEnd中移除该对象到缓存池中,会导致PointerEventDispatcher的pointerEventProcessorList中残留该对象引用,并且在任何Touch事件中均被遍历。导致的问题是,当我退出并Destory该场景时,会获取列表中对象的_uiProps,而此时_uiProps为null,导致报错。还有个奇怪的点是,如果残留非法对象比较少的时候不会报错,当达到一定的量时才会触发该错误。因此,我的解决办法是,TouchEnd中仅仅标记可被移除,然后再在update中对对象遍历查找该标记后再移除。此时,再也没有了非法对象。
无论这个问题是引擎问题还是我本身游戏代码写法问题,均可作为提醒以后遇到相同问题的朋友。