UI框架

1、UI特点:占了项目50%的工作量;技术不难,但它的好坏决定了产品的品质;

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

2、UI的定义:人机交互,直接影响玩家体验,所以必须做得卓越;

                          它是数据的可视化表现,采用“基于数据的编程”;

      UI卓越=代码好+数据表现正确+界面美观+操作感好+操作流畅;

      内容:管理所有View:GUIManager类+BasePanel类;

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

                  UI通用工厂:界面、组件、功能接口;

                  UI性能优化;

                  历史UI栈、UI分层管理、适配、UI统一规范;

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类通用模板”

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值