UF——程序基础小框架系列
UF——程序基础小框架系列
2023-12-23记:
本系列笔记跟课课程已重置,因此本系列笔记也使用重置版课程重新制作
所有使用旧课程的原笔记已标记为过时,归档到本系列的UF_OLD文档下,不建议使用旧笔记相比旧课程,新课程结合了更多的课程的知识,前置知识要求更高,不再是只学习Unity前三部曲就能直接学习的了
学习目标
不同游戏、不同公司使用的游戏框架可能都是不一样的,市面上有很多第三方框架(别人设计好的游戏框架)
比如GameFramework、PureMVC 以及 Unity中较新的Dots系统
除此之外,还有一些软件架构思想,比如MVC、ECS等等
我们可以选择别人制作好的第三方框架 (商业项目开发中,前端框架一般很少使用别人的)
可以基于常用的软件架构思想来设计自己的框架 (常见)
也可以完全基于设计模式来设计自己的框架 (常见)
对于想要进入游戏行业的学习者来说, 我们需要对游戏框架有一个基础的认识,要感知到游戏框架的好处,了解设计游戏框架的基本思路
虽然Unity引擎已经帮助我们封装了很多游戏当中的常用功能
但是我们还是可以在它的基础上再次进行设计和封装,将游戏开发中的常用内容模块化
从而达到提升开发效率、优化性能的目的
为什么第一步做这些?
- 公共模块可以简单的理解为整个程序框架,提升开发效率
- 这些模块在游戏中各处都会用到
- 往往这些模块在各个小项目中是通用的,完成一次之后可通用
注:笔记内所有代码都是跟课学习而来的,与课上的代码基本没有差别,但课上的这些代码完全可以根据自己需要来自行修改,不必拘泥于课上所学
本系列学习内容
-
单例模式基类
-
公共Mono模块
-
缓存池(对象池)模块
- 缓存池具体实现
- 窗口布局优化
- 对象上限优化
- 增加缓存对象种类
-
事件中心模块
- 事件中心具体实现
- 事件中心传递参数
- 事件中心传递自定义参数
- 事件中心的事件名优化
-
资源加载模块
-
Resource资源加载模块
- Resource资源加载模块的具体实现
- 优化Resources资源加载模块的异步加载
- 添加引用计数的Resource资源加载模块
-
Editor资源加载模块
-
Assetbundle资源加载模块
- AB包资源管理器回顾及潜在问题考虑
- AB包资源管理器的异步加载修改
- AB包资源管理器的同步加载修改
-
UnityWebRequest资源加载模块
-
-
音效管理模块
- 音效管理模块音乐部分实现
- 音效管理模块音效部分实现
- 音效管理模块优化
-
UI管理模块
- UI面板基类
- UI管理器
- UI管理器的异步加载优化
- UI管理器的隐藏面板可选销毁优化
- UI模块的自定义事件添加函数
-
场景切换模块
-
输入控制模块
- 输入控制模块的具体实现
- 输入控制模块的改键功能
- 输入控制模块的获取输入消息
-
计时器模块
- TimerItem 具体实现
- TimeManager 具体实现
- TimeManager 进阶优化
-
加密工具模块
-
文本工具模块
-
字符串拆分方法
-
数字转字符串相关
-
秒转时间字符串相关
- 时分秒
- 00:00:00
-
大数据数值转字符串方法
-
-
数学计算工具模块
- 角度和弧度的转换
- 距离判断相关
- 屏幕外判断
- 扇形范围判断
- 射线检测
- 范围检测