# CocosCreator_UIFrameWork_2D **Repository Path**: eetuuuu/cocos-creator_-uiframe-work_2-d ## Basic Information - **Project Name**: CocosCreator_UIFrameWork_2D - **Description**: 基于cocoCreator版本2.4.5整理一款2D小游戏快速开发的游戏框架。 - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2023-10-29 - **Last Updated**: 2023-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 说明文档 基于cocoCreator版本2.4.5整理一款2D小游戏快速开发的游戏框架。 # cocosCreator的UI框架 中心思想, 将所有的UI窗体分为3类管理(1级窗体, 2级窗体, 3级窗体),分类规则: 1、1级窗体存在互斥性,当1级窗体A处于打开状态,此时打开1级窗台B将自动关闭窗台A;常作为父级面板存在。 2、2级窗体依赖与1级窗台,只能作为1级窗台的子节点存在。 3、3级窗体独立存在且无互斥性。1级2级没有关系。 根据以上规则实现UI节点的加载管理和在内存中的自动释放,之所分为不同级窗体便于规则制定和管理的同时,也方便拆分预制体节点。 -- 使用 UIManage.Instance.ShowUIPannelByID(xx, xx, xx)传入不同参数,加载窗体节点; -- 当点击关闭按钮,1级窗体进行关闭释放,此时子节点存在2级窗体; 2级窗体自动实现节点的销毁以及内存释放; 3级窗体同理 -- UI节点树中常用这两个最为窗体父亲节点: ---- fixed(固定窗体的父亲节点,比如头像、菜单等固定3级UI节点) ---- popup(弹出窗体的父亲节点,任何1和3级UI窗体) 注意:2级窗体依赖于1级窗体而存在。 # 项目介绍(主要脚本功能) -- UIManager ** UI窗体管理类, 控制的所有窗体的加载, 显示,销毁等功能 -- UIBasic ** UI窗体的基类, 你的自定义窗体脚本应当继承它, 只有继承它才能实现动态加载的资源自动释放,以及自动管理UI释放等功能。 -- UIMaskBg ** UI窗体的遮罩管理类, 为UI窗体添加一个背景阴影 -- UIPlanInfo * 设置UI窗体的配置比如:预制体路径和名子、UI等级、背景遮罩、是否从内存中释放。 -- EventManage ** 事件管理, 游戏中常用的事件监听和分发,实现解耦合功能。 -- NetManage ** 使用webSocket协议实现与后端的通信功能,其中实现了proto序列化功能。涉及脚本:ServerProxy文件夹下。 -- ResManage ** 资源管理,这里我们针对自己定义的bundle管理,包括资源加载/释放bundle和内部资源。 -- SoundManage ** 封装了聲音播放、暂停接口。不全可以自己补充。 -- TableManage ** 表格配置,进入游戏我们将所有的数据加载进内存中,通过searchTable或searchTables接口进行同步获取数据。 -- TimerManage ** 全局的时间管理对cocos内部定时器的封装,相当于setTimeOut,相对更喜欢自己封装的,更贴合cocos引擎。 -- SysConfig * 配置类 一些和框架有关系的配置。 -- ToolBox * 常用的一些通用功能模块函数 -- GameLanch *** 启动脚本,初始化框架数据。 -- GameApplication *** 游戏入口脚本