一套基于CocosCreator3.0的弹框管理框架

  • 为什么要弄这套框架

  • 这套框架有什么用

  • 怎么使用这套框架

  • 怎么获取这套框架

  • 附录

为什么要弄这套框架

游戏中,弹框往往是比较频繁的一种页面切换,我们需要处理各种状态,比如:

  1. 各种提示弹框弹出时,其它弹框不能覆盖

  2. 弹框关闭后,后面的弹框需要显示
    ......

因此,目前有众多大神会实现一套弹框的管理机制,本框架也是在项目中总结提炼,并结合了解到的一些实际需求,整合而来的。

这套框架有什么用

核心解决:

  1. 弹框的依次显示队列问题

  2. 弹框的优先级问题

  3. 一个prefab可以多次实例化的问题

本框架暂未实现功能

  1. 本框架暂未实现资源释放问题

怎么使用这套框架

  1. 从git克隆后,提出PopupManager.ts 和 PopupBase.ts 两个文件加入自己的工程即可。

  2. 所有弹框以prefab的形式存在,且prefab都挂载了PopupBase脚本。

  3. 在第一个弹框显示前调用

PopupManager.instance.init();
  1. 在需要显示弹框的地方调用

PopupManager.instance.show(option: { name?: string, prefab?: Prefab, path?: string, priority?: number, params?: any, keep?: boolean }):void;

字段解释

字段名默认值解释
priority0层级
paramsnull弹框参数
keepfalse是否保持当前弹框

  • 如果是拖曳的,传入prefab

  • 如果是动态加载的,传入path

  • 如果一个prefab需要多次实例化,需要将name的名字不同

  1. 隐藏或销毁

PopupManager.instance.hide(name:string):void;
PopupManager.instance.remove(name:string):void;

怎么获取这套框架

关注公众号,回复【C3DLIBS】即可获取。其中代码位于libs目录下,示例在test下。


附录

本框架在完善过程中参考了下面两位开发者提出的意见,在此表示感谢【以下回复对象为另外一位作者,并非本文作者】。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值