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

共 1055字,需浏览 3分钟

 ·

2021-03-14 14:59


  • 为什么要弄这套框架

  • 这套框架有什么用

  • 怎么使用这套框架

  • 怎么获取这套框架

  • 附录


为什么要弄这套框架

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

  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下。


附录

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


浏览 100
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报