您的位置:首页 > 产品设计 > UI/UE

UI框架

2015-11-15 15:41 295 查看
1、UI特点:占了项目50%的工作量;技术不难,但它的好坏决定了产品的品质;

有通用的框架,可加快开发进度和提高代码质量,让新人也能很好完成任务;

2、UI的定义:把数据以可视化形式表现出来,采用“基于数据的编程”;

管理所有View:GUIManager类+BasePanel类

每个独立功能模块,推荐使用MVC架构;

3、数据的管理

三种数据:配表、网络协议数据、临时数据(界面、或模块内产生的);

作为MVC架构的一员,通常用类来封装;

UI只是数据的可视化而已,一切UI操作都围绕它们进行;

4、(一)统一管理所有View:GUIManager类+BasePanel类

GUIManager类是个单例,它有大量成员变量,可记录一些状态信息(使用“基于状态机”的编程);

每个View的行为都会影响到BasePanel类,而在BasePanel内部调用GUIManager的接口,

这样就可以通过GUIManager记录所有UI状态并管理它们,例如curPanel_id, lastPanel_id等;

5、(二)UI工具类、工具函数封装

1)应该有guiToos目录,封装了一些类、函数,方便快速代码迭代

2)内容:适配、UI分层

6、(三)MVC架构

M:类封装,该类定义了数据结构、数据的处理(增删查改);

类的子对象保存到Controller里;

临时数据可直接保存在对应View类里;

V:每个Panel封装为一个类,管理该界面的一切逻辑;

建议封装一个BasePanel类,所有界面都继承它

C:对内管理整个模块运作,有M、V类对象做成员变量;

对外提供操作接口,有一系列public成员函数

7、View的封装

1)有BasePanel类,所有界面View都继承它,它有两个作用:

封装一些通用功能、接口,例如:资源加载、显示、销毁;

便于管理所有UI;

2)每个View类都有一套通用模板,可加快开发效率

8、View类通用模板(规则)

1)使用“基于数据”的编程

2)三大操作:创建界面、数据显示、数据操作

3)创建界面createPanel

<1>只创建静态界面,不赋值,与数据无关;

<2>使用“界面布局法”,例如左右结构-createPanel(){createLeftPanel(); createRightPanel();}

<3>单例工厂类ComponentFactory创建各种组件:因为组件就10几种(按钮、label、滚动条等)

<4>大量同类型组件的处理:例如背包上各种格子,没必要每个都创建;

第一个GO对象:在createPanel()里创建

其它对象可通过实例化创建:GO2=GameObject.Instantial(GO)

实例化的地方:若数量少且与数据关系不大 —— 在createPanel(),例如5颗星星;

否则,在refreshPanel(),例如背包物品

4)数据显示refreshPanel

<1>两大操作:动态组件的赋值 + 动态创建(针对那些根据数据情况而创建的原件)

<2>显示更新分两种:全局更新、局部更新(节省性能)

5)数据操作:玩家点击事件的处理

<1>两大操作:数据更新、刷新面板refreshPanel

6)代码模板可参考博客“View类通用模板”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: