一套基于CocosCreator3.0的彈框管理框架
為什么要弄這套框架
這套框架有什么用
怎么使用這套框架
怎么獲取這套框架
附錄
為什么要弄這套框架
游戲中,彈框往往是比較頻繁的一種頁面切換,我們需要處理各種狀態(tài),比如:
各種提示彈框彈出時,其它彈框不能覆蓋 彈框關(guān)閉后,后面的彈框需要顯示
......
因此,目前有眾多大神會實現(xiàn)一套彈框的管理機制,本框架也是在項目中總結(jié)提煉,并結(jié)合了解到的一些實際需求,整合而來的。
這套框架有什么用
核心解決:
彈框的依次顯示 隊列問題彈框的 優(yōu)先級問題一個prefab可以 多次實例化的問題
本框架暫未實現(xiàn)功能
本框架暫未實現(xiàn)資源釋放問題
怎么使用這套框架
從git克隆后,提出PopupManager.ts 和 PopupBase.ts 兩個文件加入自己的工程即可。
所有彈框以prefab的形式存在,且prefab都掛載了PopupBase腳本。
在第一個彈框顯示前調(diào)用
PopupManager.instance.init();
在需要顯示彈框的地方調(diào)用
PopupManager.instance.show(option: { name?: string, prefab?: Prefab, path?: string, priority?: number, params?: any, keep?: boolean }):void;
字段解釋
| 字段名 | 默認(rèn)值 | 解釋 |
|---|---|---|
| priority | 0 | 層級 |
| params | null | 彈框參數(shù) |
| keep | false | 是否保持當(dāng)前彈框 |
如果是拖曳的,傳入prefab 如果是動態(tài)加載的,傳入path 如果一個prefab需要多次實例化,需要將name的名字不同
隱藏或銷毀
PopupManager.instance.hide(name:string):void;
PopupManager.instance.remove(name:string):void;
怎么獲取這套框架
關(guān)注公眾號,回復(fù)【C3DLIBS】即可獲取。其中代碼位于libs目錄下,示例在test下。
附錄
本框架在完善過程中參考了下面兩位開發(fā)者提出的意見,在此表示感謝【以下回復(fù)對象為另外一位作者,并非本文作者】。


評論
圖片
表情
