Unity 游戏框架搭建 (十) QFramework v0.0.2小结
从框架搭建系列的第一篇文章开始到现在有四个多月时间了,这段时间对自己来说有很多的收获,好多小伙伴和前辈不管是在评论区还是私下里给出的建议非常有参考性,在此先谢过各位。
说到是一篇小节,先列出框架的概要图。

目前,图中除了UI模块和未支持的部分,都有相应的文章来介绍。
设计模式:
事件:
AI:
模块化:
调试:
UI模块还没有写对应的文章来介绍。因为没有找到一种自己认为满意的方式,目前暂时使用UGUIManager或者NGUIManager来配合UILayer应付UI的开发。
QFramework的基因:
我个人意愿是想把Framework打造成,让使用的人觉得所有框架中出现的概念要非常清晰,没有任何模糊的概念,出现的概念已经达成共识的概念,没有任何生僻概念,使用门槛尽很低:)。
QFramework和框架搭建系列的接下来要做的事情:
Unity中比较强大(但是坑多)的概念就属AssetBundle了吧,还没有认真研究过,打算近期花些时间指定一个比较满意的方案引入到框架里。
框架中很多工具的实现都是基于字典+字符串的形式实现的,但是看了好多其他框架用的都是字典+enum转unsigned int方式实现,这部分的话要考虑下大换血。
UI模块:很少有哪个项目不使用UI的,所以UI这部分应该多下些功夫,以目前的UGUIManager和NGUIManager结合UILayer肯定是不够的,还需要一些辅助工具来加快UI的开发。
一键打包,这部分每个项目的差异化太大了,不过可以先为QFramework制定一个标准。
网络、数据持久化。数据持久化部分可以考虑为SQLite封装一套易用的API,网络的话需要花些时间研究下,因为本人只开发过弱联网游戏,所以这部分还不太了解。所以这部分最后花时间研究。
以上的这些内容需要十篇左右的文章来介绍吧。对了,目前QFramework框架算是稳定一些了,欢迎大家入坑。
欢迎讨论!
附:我的框架地址
转载请注明地址:凉鞋的笔记
微信公众号:liangxiegame

output/writing/Unity游戏框架搭建
Unity 游戏框架搭建 (十) QFramework v0.0.2小结的更多相关文章
- Unity 游戏框架搭建 (十六) v0.0.1 架构调整
背景: 前段时间用Xamarin.OSX开发一些工具,遇到了两个问题. QFramework的大部分的类耦合了Unity的API,这样导致不能在其他CLR平台使用QFramework. QFramew ...
- Unity 游戏框架搭建 (十九) 简易对象池
在Unity中我们经常会用到对象池,使用对象池无非就是解决两个问题: 一是减少new时候寻址造成的消耗,该消耗的原因是内存碎片. 二是减少Object.Instantiate时内部进行序列化和反序列化 ...
- Unity 游戏框架搭建 (十八) 静态扩展 + 泛型实现transform的链式编程
本篇文章介绍如何实现如下代码的链式编程: C# this.Position(Vector3.one) .LocalScale(1.0f) .Rotation(Quaternion.identity); ...
- Unity 游戏框架搭建 (十五) 优雅的QChain (零)
加班加了三个月终于喘了口气,博客很久没有更新了,这段期间框架加了很多Feature,大部分不太稳定,这些Feature中实现起来比较简单而且用的比较稳定的就是链式编程支持了. 什么是链式编程? 我想大 ...
- Unity 游戏框架搭建 (十二) 简易AssetBundle打包工具(二)
上篇文章中实现了基本的打包功能,在这篇我们来解决不同平台打AB包的问题. 本篇文章的核心api还是: BuildPipeline.BuildAssetBundles (outPath, 0, Edit ...
- Unity 游戏框架搭建 (十四) 优雅的QSignleton(零) QuickStart
好久不见 !之前想着让各位直接用QFramework,但是后来想想,如果正在进行的项目直接使用QFramework,这样风险太高了,要改的代码太多,所以打算陆续独立出来一些工具和模块,允许各位一个 ...
- Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
约定 还记得上版本的第二十四篇的约定嘛?现在出来履行啦~ 为什么要重制? 之前写的专栏都是按照心情写的,在最初的时候笔者什么都不懂,而且文章的发布是按照很随性的一个顺序.结果就是说,大家都看完了,都还 ...
- Unity 游戏框架搭建 (十三) 无需继承的单例的模板
之前的文章中介绍的Unity 游戏框架搭建 (二) 单例的模板和Unity 游戏框架搭建 (三) MonoBehaviour单例的模板有一些问题. 存在的问题: 只要继承了单例的模板就无法再继承其他的 ...
- Unity 游戏框架搭建 (十七) 静态扩展GameObject实现链式编程
本篇本来是作为原来 优雅的QChain的第一篇的内容,但是QChain流产了,所以收录到了游戏框架搭建系列.本篇介绍如何实现GameObject的链式编程. 链式编程的实现技术之一是C#的静态扩展.静 ...
随机推荐
- Nginx下载安装
系统环境:win7 nginx:1.11.4 1.下载Nginx 下载地址:http://nginx.org/en/download.html 2.将压缩包解压到相应位置 3.启动nginx服务,ng ...
- 05.while循环的练习
练习1: namespace _05.while循环练习01 { class Program { static void Main(string[] args) { //打印100次"努力学 ...
- info.plist 安全登录
设置info.plist 安全登录 App Transport Security Settings dictionary Allow Arbitrary Loads Boolean YES
- 二维数组针对某字段排序 - array_multisort()
/** * 针对二维数组下的某字段排序 * @param array $myarr 被排序数组 * @param string $sort_key 排序根据字段 * @param flag $sort ...
- Python爬虫《Python网络爬虫相关基础概念》
引入 之前在授课过程中,好多同学都问过我这样的一个问题:为什么要学习爬虫,学习爬虫能够为我们以后的发展带来那些好处?其实学习爬虫的原因和为我们以后发展带来的好处都是显而易见的,无论是从实际的应用还是从 ...
- js实现瀑布流加载图片效果
今天学习了一个瀑布流加载效果,很多网站都有瀑布流效果,瀑布流就是很多产品显示在网页上,宽相同,高度不同,表现为多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.原理是:1. ...
- ref关键字的用法
ref 关键字通过引用(而非值)传递参数. 通过引用传递的效果是,对所调用方法中的参数进行的任何更改都反映在调用方法中. 例如,如果调用方传递本地变量表达式或数组元素访问表达式,所调用方法会将对象替换 ...
- eclipse的应用和整理
1如何在eclipse中获取动态项目的绝对路径 1.鼠标选中项目,右击菜单,选择properties2.出来弹出框,选择resource,location的值就是你想要的项目绝对路径 JSP中获得当前 ...
- Selenium 2.0 以后不在必须Selenium server了
does not require the Selenium Server to automate the browser.这个句话,解决了我很的疑惑,新版Selenium 可以直接操作浏览器了,还可以 ...
- 笨办法学Python(四十一)
习题 41: 来自 Percal 25 号行星的哥顿人(Gothons) 你在上一节中发现 dict 的秘密功能了吗?你可以解释给自己吗?让我来给你解释一下,顺便和你自己的理解对比看有什么不同.这里是 ...