UI框架简介(一)

时间:2024-03-08 13:31:55

好久没有写博客了,前一阵公司太忙了,作为程序员的我们天天累成狗啊!不过每年都是这样的啦!谁让马上就到年底了呢,项目要紧啊!这不昨天才放假的嘛!哎!可能是职业习惯吧!一天不写代码感觉没有什么意思了!但是想写又不想写。对了!那就写点博客吧!以供大家互相交流学习嘛!

今天给大家要介绍的框架内容哦!是属于我们游戏开发过程中UI界面的框架搭建过程哦!不过要是一点点搭框架的写起来就有点多了哦!那么今天我带大家来讲解我之前搭的一个简单UI框架吧!
首先提供一下框架工程哦!在我的百度云里面哦!框架源码
密码:ld09
先来说说框架吧!“框架”一词对于刚入公司的小白来说,感觉就是两个字“懵逼”,以及一些吐不完的槽,“这是什么鬼,”“这他妈能看懂吗?”“我槽,这么难,”“感觉这个行业不适合我!”但是吐槽的再多都没有用啊!不会的东西还是不会啊!唯一能做的就是接受事实,耐下心来看代码。不然你就辞职吧!是啊!想想当年的我也是如此啊!一看见框架就已经懵逼了,还没有开发呢,就已经有这么多代码了啊!实在是无从下手啊!和很多人一样,感觉就是难,一会发派发这个事件,一会派发那个事件,发这么多干嘛啊?还有好多地方需要侦听各种事件。哎!好麻烦啊!关键是这些代码还有好多都不需要挂在游戏对象上面。以前我们都是直接写一个脚本,挂一个脚本的。这他妈真搞不懂主程的思路。(PS:你要是搞懂的话,你就是主程啦!何必在这里抱怨呢!)不过硬着头皮接触了一个月以后,我自己感觉瞬间提高了自己不少。在框架中开发东西基本也能开发出来。当然了,这些都是题外话啦!

框架,在编程世界中它是一个比较大的东西,不光是应用于游戏开发,程序中都会用到的。那么今天我们就来讲一讲适合刚入职小白的UI框架吧!
首先要明白一个问题:为什么要有框架?以前我们自己开发小游戏时,没有框架游戏一样正常运行啊!现在搞个框架在里面,多累啊!其实不然,这样想的话,你是真的错了哦!你想啊!

第一:随着游戏系统的复杂,UI控件越来越多,各个UI之间的直接通讯,以及UI与GameObject之间的通讯,会形成一张复杂的蜘蛛网,拖着拖着,有时候会忘了哪个对象和哪个对象关联了。如果是别人要看你的程序,我估计半天都找不到游戏逻辑的入口。
第二:耦合性会非常严重,如果要改变需求,更改某个UI或者某个游戏对象,那么你就需要再手动把全部的与该对象有关联的地方都要重新更改一次。
那么对于以上情况,我们需要寻找一种新的,科学的,高效的UI的管理方式方式。

这是就需要我们的框架来解决了哦!那么我们框架需要处理哪些问题呢?
第一:打开,关闭,层级,页面跳转等管理问题集中化,将外部切换等逻辑交给UIManager去处理。

第二:功能逻辑分散化,每个页面维护自身逻辑,依托于框架便于多人协同开发,不用关心跳转和显示关闭细节。

第三:市场上面成熟的框架能够做到简单的代码复用和项目经验的沉淀。

框架其实就是一种模块的分离,一种写代码的规则,所为的目的都是便于代码的管理修改,更有利于编码思维。做游戏开发很重要的一点就是将UI和逻辑剥离出来,UI框架就很好地实现了UI和逻辑的分离以及各个模块的分离。市场上主要有两种StrangeIocMVC框架和PureMVC框架。

当然了,这两种框架是比较成熟的,我们在GitHub可以去下载到的哦!但是对于一个新手来说,要理解这两个框架也不是一件容易的事情呢!最好的框架是我们自己能够根据客户需求自己去搭建框架的!(PS:能达到这样的能力说明你已经不是一般人了哦!你懂的哦!)

我们的编程框架一般都是具有MVC 三层架构的!即数据层,显示层,控制层。

经典的MVC架构图

这是一个经典的mvc关系图,要能够记住哦!
我即将要讲的UI框架用到的,由于比较简单我就没有用控制层了。下面是图示:
这里写图片描述

我打算分开来写,这篇主要介绍了框架大概是用来干什么的,为什么要有框架,这篇暂时写这么多吧!不然大家看起来会很烦的哦!谢谢大家的阅读哦!