例如有个功能,需要做一个类似拼图的拖拽效果,但拖拽的过程中可能会弹出一些类似恭喜获得或者升级胜利之类的全屏面板。
这个时候touch的end 和cancel都不触发,对弹出的全屏界面做关闭操作后,会导致拖拽的图片还在全屏界面弹出前的样子。(理论上应该能触发cancel的事件。有点想不透)
为了避免出现莫名的bug,希望的是弹出界面后,调用一下结束函数,例如end和cancel,做一下回收处理。
目前想到的是监听拖拽过程中某个界面弹出后,强行做回收处理,无论任何界面。但总感觉很不优雅。。。
你说这个不符合引擎设计的逻辑,touchMove中本来就是会有各种节点的生成消失,放大缩小等,你怎么规定这节点生成的时候就触发touchCancel,而其他的不触发呢,最终还是要自己去控制,可以做一个弹窗或页面的基类,在生命周期里发送事件,在游戏界面中响应事件来处理
你要是觉得不合理,可以在游戏设计层面规避这个问题,比如在拖拽的时候不强制弹出界面,改用上放悬浮的文字提示
卡牌游戏,这个处理方式直接pass,目前来看只能监听是否有界面弹出了
