为什么要弄这套框架
这套框架有什么用
怎么使用这套框架
怎么获取这套框架
附录
为什么要弄这套框架
游戏中,弹框往往是比较频繁的一种页面切换,我们需要处理各种状态,比如:
各种提示弹框弹出时,其它弹框不能覆盖
弹框关闭后,后面的弹框需要显示
......
因此,目前有众多大神会实现一套弹框的管理机制,本框架也是在项目中总结提炼,并结合了解到的一些实际需求,整合而来的。
这套框架有什么用
核心解决:
弹框的依次显示
队列
问题弹框的
优先级
问题一个prefab可以
多次
实例化的问题
本框架暂未实现功能
本框架暂未实现资源释放问题
怎么使用这套框架
从git克隆后,提出PopupManager.ts 和 PopupBase.ts 两个文件加入自己的工程即可。
所有弹框以prefab的形式存在,且prefab都挂载了PopupBase脚本。
在第一个弹框显示前调用
PopupManager.instance.init();
在需要显示弹框的地方调用
PopupManager.instance.show(option: { name?: string, prefab?: Prefab, path?: string, priority?: number, params?: any, keep?: boolean }):void;
字段解释
字段名 | 默认值 | 解释 |
---|---|---|
priority | 0 | 层级 |
params | null | 弹框参数 |
keep | false | 是否保持当前弹框 |
如果是拖曳的,传入prefab
如果是动态加载的,传入path
如果一个prefab需要多次实例化,需要将name的名字不同
隐藏或销毁
PopupManager.instance.hide(name:string):void;
PopupManager.instance.remove(name:string):void;
怎么获取这套框架
关注公众号,回复【C3DLIBS】即可获取。其中代码位于libs目录下,示例在test下。
附录
本框架在完善过程中参考了下面两位开发者提出的意见,在此表示感谢【以下回复对象为另外一位作者,并非本文作者】。