Unity 游戏框架 QFramework 简介-Intro  - 图1

Unity 游戏框架 QFramework 简介-Intro  - 图2Documentation StatusBuild StatusCoverage StatusFeature Requests

我们团队做的每一件事情,都是为了给开发者带来更好的开发体验,提高效率,减少加班。我们尽心应该以不同的方式思考。我们挑战现状的方式是通过把我们的框架打磨得十分精美,原理简单,新手友好,但不失强大。我们只是在这个过程中做出了优雅的 QFramework。想了解下嘛?

QFramework 简介 Intro

QFramework 是一套 渐进式快速开发 框架。目标是作为无框架经验的公司、独立开发者、以及 Unity3D 初学者们的 第一套框架。框架内部积累了多个项目的在各个技术方向的解决方案。学习成本低,接入成本低,重构成本低,二次开发成本低,文档内容丰富(提供使用方式以及原理、开发文档)。github:https://github.com/liangxiegame/QFramework

QFramework is a Progressive and RAD framework.Goal is become indie developer and fresh man's The First Framework。It's include many project's tech solution.Easy 2 Learn,Easy 2 Install,Easy 2 Refactor,Easy 2 Modify,Feature Packed documents. github:https://github.com/liangxiegame/QFramework

快速开始 QuickStart:

1.Action Kit

  • chainning style(Driven by MonoBehaviour or Update)
  1. this.Sequence()
  2. .Delay(1.0f)
  3. .Event(()=>Log.I("Delayed 1 second"))
  4. .Until(()=>something is done)
  5. .Begin();
  • object oriented style
  1. var sequenceNode = new SequenceNode();
  2. sequenceNode.Append(DelayAction.Allocate(1.0f));
  3. sequenceNode.Append(EventAction.Allocate(()=>Log.I("Delayed 1 second"));
  4. sequenceNode.Append(UntilAction.Allocate(()=>something is true));
  5.  
  6. this.ExecuteNode(sequenceNode);

2.Res Kit

  1. // allocate a loader when initialize a panel or a monobehavour
  2. var loader = ResLoader.Allocate();
  3.  
  4. // load someth in a panel or a monobehaviour
  5. loader.LoadSync<GameObject>("Resources/smobj");
  6.  
  7. loader.LoadSync<Texture2D>("Resources/Bg");
  8.  
  9. // load by asset bundle's assetName
  10. loader.LoadSync<Texture2D>("HomeBg");
  11.  
  12. // load by asset bundle name and assetName
  13. loader.LoadSync<Texture2D>("home","HomeBg");
  14.  
  15.  
  16. // resycle this panel/monobehaivour's loaded res when destroyed
  17. loader.Recycle2Cache();
  18. loader = null;

3.UI Kit

  1. // open a panel from assetBundle
  2. UIMgr.OpenPanel<UIMainPanel>();
  3.  
  4. // load a panel from specified Resources
  5. UIMgr.OpenPanel<UIMainPanel>(prefabName:"Resources/UIMainPanel");
  6.  
  7. // load a panel from specield assetName
  8. UIMgr.OpenPanel<UIMainPanel>(prefabName:"UIMainPanel1");

技术支持 Tech Support:

下载地址 Download:

赞助 Donate:

  • 如果觉得不错可以在 这里 Asset Store 给个 5 星哦~ give 5 star
  • 或者给此仓库一个小小的 Star~ star this repository
  • 以上这些都会转化成我们的动力,提供更好的技术服务!

运行环境

  • Unity 5.6.x ~ 2018.x

包含项目 Include Projects:

参考 Reference:

贡献者/感谢 Developer/Contributor:

优秀的 Unity 库、框架

  • xasset:xasset 致力于为 Unity 项目提供一套精简稳健的资源管理环境

代码规范完全遵循:

QCSharpStyleGuide

结构图 (v0.0.13)

Unity 游戏框架 QFramework 简介-Intro  - 图7

QFramework 功能列表;

Unity 游戏框架 QFramework 简介-Intro  - 图8