在 Cocos Creator 中优雅且高效地管理弹窗

MARK.

肯定会有大量需要多级弹窗的

mark.

mark。

我正在遇到的问题是
服务器下发 切换场景+弹窗
则可能这个弹窗 在当前场景弹出 马上就 切换场景, 导致看不到弹窗或者看不全弹窗
有解吗?

真不错,先打卡收藏!

这个问题我暂时还没有找到原因,但是在 onEnable 中修改 progress 是没问题的~

其实是分别用于数据初始化UI 初始化啦,我个人偏向于把逻辑分得细一点~

这个你可能需要将弹窗生成在一个常驻节点上,这样才能保证切场景弹窗还在~

现在只能一个一个的弹出,实际情况需要多级页面弹出。

好文。可以提提优先级队列的事情。实际情况下,弹窗是有优先级的,存在“插队”的可能。

请教一下,我想实现点击背景遮罩时关闭弹窗,且所有弹窗都有该功能,那这个点击事件是应该注册在PopupBase.ts中吧,那应该是放在哪个时间节点呢?

当然是直接在 PopupBase.ts 里面写最好

放在 PopupBase.ts 的 onLoad 里注册. onDestroy 里取消,这样每个弹窗只会走一次

最近刚好重构完弹窗逻辑,发现思路大致都差不多。 没太细看,但是正好有个问题,onShow在弹窗动画完全好之后才会执行,那如果在onShow里面有UI刷新,这样会明显的闪一下啊。我一开始也是放在动画结束之后,才执行onShow的,后来移动到了动画执行之前。
但这样又会有一个问题,如果在onShow里面分帧实例化prefab的时候,如果prefab比较大,动画就没那么流畅了

奈斯,享用

:sunglasses: 目前最新版本的 PopupManager 套件已经支持优先级队列强制挂起啦,欢迎各位试用提Bug~

在线预览:https://ifaswind.gitee.io/eazax-cases/?case=popupTest

4赞

Mark!

mark11

mark mark

Mark!!!