FlashUI框架LowoUI-AS

利用Flash完善的2D工作流,实现富表现效果与可高效开发的UI系统。

特点

  1. 数据驱动:所有数据发生改变时,会触发主动广播消息行为,UI界面通过注册所需要关心的数据消息来被动更新界面显示元素。如何显示则完全根据表现层需求自行定义。
  2. 逻辑解耦:只通过消息进行通信,Ingame和UI层之间不直接引用任何实例对象。
  3. 数据解耦:只使用基元数据类型,没有自定义复杂数据类型,减少广播时的资源消耗。
  4. 富美术表现:利用Flash编辑器时间轴动画工具优势,可自由定制动画,并支持混合音轨。
  5. 资源独立管理与优化:利用Flash的资源管理方案,接管了贴图,声音,字体,动画等资源,并做了优化。
  6. 资源自动化处理:利用Flash的IDE可扩展性,编写JSFL脚本,实现基础资源和复合资源SWF的批处理。
  7. 组件生态:定制了最精简的组件,并通过组合实现了多种复合组件。重新定制的组件较传统组件有更丰富的表现效果,再扩展也很便利。
  8. 功能生态:定制了多种通用功能模块,比如小地图,外部图片,Web界面,Swf嵌入。
  9. 制定业务逻辑开发规范:实现了SPOT(真理的单点性)原则。界面逻辑嵌套式开发:通过逻辑单元拆分,复杂的界面由多个子界面组合而成,每个功能对应一处逻辑,消除重复。

应用

Unreal Engine 3 的集成

  • 界面显示系统的独立性

该架构可基于scaleform中间件提供的库进行扩展,与ingame的通讯机制需要匹配其语言互操作的部分。但由于采用消息通信机制,切换非常易于实现,且整个UI系统可以替换成其他形式。

  • 实现了Ingame的整洁性

接管了传统工作流程中unreal客户端关于界面表现的所有逻辑功能,由UI系统进行定制,比如:小地图显示对象使用原始3D世界信息,坐标数据转换与显示效果完全由UI对应的模块来定义。

  • 资源更新层面更高效

由于抛弃传统的canvas对象来画UI,优化了资源制作方法,并通过批处理命令进行自动化更新,客户端开发效率大大提高。

案例

火源计划

发布

LowoUI-AS

发布者

Loy Wong

A Programmer.