学习知识,分享知识。
列记录下自己经常使用的这个UI框架。首先说下这个UI框架整体吧,该框架主要实现了UI的的显示、隐藏、按钮点击、UI数值更新,这也是大多数游戏UI的功能。
该框架主要分三个部分来理解,分别是窗口(window)、视图(view)、控制(control),看起来有点像mvc框架是吧,但这里并没有实现model数据这块,现在只是实现UI的一些显示功能,并不需要做Model数据处理内容,所以暂时不管。如果加上model模块,那么窗口和视图可以合成View的。
细说三部分
1、窗口(window):为了将UI分类,将其分成相应的窗口理解,如:商店窗口、设置窗口等;
2、视图(view):每个窗口内的具体UI视图,一个窗口可有多个UI视图,如:商店窗口有显示所有商品的视图、然后选择单个商品时又可以弹出一个商品详情视图,点击购买又可以弹出一个购买视图。当然,把这些都放在同一视图也行,但是就是显得脚本程序臃肿了,毕竟分类管理能让程序更直观清晰。
3、控制(control):用来实现UI的创建、记录、显示和隐藏等功能的具体逻辑。
代码实现
根据上面三部分可以创建三个类UIBaseWindow(窗口)、UIBaseView(视图)、UIWindowCtrl(控制);
详细如下图: