# UIFrame **Repository Path**: exe1010748847/uiframe ## Basic Information - **Project Name**: UIFrame - **Description**: No description available - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-06-11 - **Last Updated**: 2021-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UIFrame #### 软件架构 基于cocos creator的UI框架, 当前使用的cocos creator版本2.4.3版本 #### 安装教程 下载本项目后, 将assets\Script下的UIFrame文件夹拷贝到自己的项目, #### 使用说明 1. ui 管理 中心思想, 将所有的UI窗体分为4类管理(screen窗体, 固定窗体, 弹出窗体, 独立窗体), 再将窗体制作成预制体, 动态加载与释放; 使用UIManager.getInstance().openUIForm("窗体名字"); 显示窗体 -Scene(管理UIManager) -- UIROOT(UIManager脚本挂载结点) ---- screen(普通窗体) ---- fixed(固定窗体) ---- popup(弹出窗体) ---- TopTips(独立窗体) 不同类型的窗体放置在不同的节点上, 统一管理 ![输入图片说明](https://images.gitee.com/uploads/images/2021/0322/141818_b298ae12_1489272.png "ui.png") - UIManager.ts 核心脚本,包括了加载,显示,隐藏窗体等功能. - UIBase.ts 包好了生命周期函数,如load,init,onShow,onHide等 - AdapterMgr.ts 适配管理 - ModalManager.ts - UIModalScript.ts 弹窗模态层管理 - ResMgr.ts 资源管理,包括加载释放等 - SoundManager.ts 音频管理,包括播放,暂停,声音大小,本地保存等 - Binder.ts 自动绑定结点, 通过特殊的结点命名方式 2.GEventManager 事件管理 使用 监听: onEnable() { GEventManager.on(Event_Name.GAME_REFRESH_GOLD, this.refreshGold, this); } 取消监听 onDisable() { GEventManager.off(Event_Name.GAME_REFRESH_GOLD, this.refreshGold, this); } 触发事件 GEventManager.emit(Event_Name.GAME_REFRESH_GOLD,null); 3.UIManager -> UIBase UIManager控制UIBase的加载,释放,显示,隐藏 UIMaskManager -> UIMaskScript UIMaskManager控制UIMaskScript的显示,隐藏 UIBase继承UIBinder,默认自动绑定UI节点,添加onShow, onHide,showAnimation, hideAnimation的接口 生命周期 load -> oninit ->onShow -> onLoad -> start -> onHide -> onDestory 4.CocosHelper 一些cocos api 的封装, promise函数统一加上sync后缀 */