美文网首页Unity技术
FairyGUI 结构解读

FairyGUI 结构解读

作者: bf88a9a4b3ce | 来源:发表于2021-08-24 11:52 被阅读0次

## 核心类

### Stage:

* UIContantScale:屏幕大小

* StageCamera:渲染相机

* StageEngine: 驱动更新

*  内部更新流程InternalUpdate

** HandleEvents:处理输入事件->HitTest(获取点击目标)->获取点击位置->使用冒泡处理点击事件(OnMove->RollOver->OnTouchBegin-> OnTouchEnd-> OnClick|OnRightClick)->处理文本输入

** UpdateContext:渲染内容参数 ,Begin(重置初始状态), End(绘制结束回调)。设置裁剪区域

### 点击事件 EventDispatcher:

EventDispatcher : 事件 每一个逻辑组件都支持事件分发。由Stage处理输入,判断点击触摸,然后用以冒泡的形式分发消息

### Package:

    * Package : 包资源管理,一个UIPackage包含了描述文件,一个或多个纹理图及,音频资源。支持从resource和assetbundle加载包资源。初次加载的时候,会加载包信息(id,name),解析依赖资源,,包里面导出的资源(图片,音频,字体,组件,图集,点击测试)

            提供创建组件方法CreateObject -> ConstructFromResource,通过递归ConstructFromResource方式加载完整的fairy结构。只有实际用到的资源才会被加载.

    *  GCompenent : 重要逻辑容器组件。 渲染容器Container(逻辑变化会同步更新到这里),GObject的集合管理,页面滚动控制,包装了控制器管理,动效

    * GObject:FairyGUI逻辑对象基础。是其他fairy控件基类,表现基于DisplayObject实现具体在Unity的渲染。保存编辑器配置的属性(名字,位置,宽高,透明,适配关系等等)。

                其所用到的美术资源存在PackageItem(字体图片音频等)中,存储设置DisplayObject的渲染顺序同时按需各个注册的消息事件(点击,触摸等),并且继承消息分发器。

                同时包装了一套控制器概念,其实就是基于状态机的表现(显隐,位置,大小等)。

                关联适配功能的实现,坐标体系的转换。人性化的支持了tween动画

### 渲染流程

* UdpateContext:更新当前页面的渲染配置参数(透明,置灰,clip裁剪)

* Container : 渲染物体DisplayObject的集合, 提供点击测试方法, 设置DisplayObject的渲染顺序同时按需进行fairy合批(处理相同材质还有组件大小重叠情况)

* DisplayObject: 各个引擎下适配的游戏物体基础,继承于此的有图形,图片,序列帧动画,Container。{GameObject, NGraphics,各种相应onClick等事件,提供 位置大小旋转缩放变换,颜色透明灰度的修改,提供一句unity的字段范围如:layer,shader,matdeng }

    Update流程:

* NGraphics: 渲染基本元素(包含,创建的mesh, shader,材质,等)

  Update流程 :

* NMaterial:包装的材质(材质,透明混合类型)

* NTexure: 基础的图片包装类(旋转,贴图资源(这里包含了分离通道),)

相关文章

  • FairyGUI 结构解读

    ## 核心类 ### Stage: * UIContantScale:屏幕大小 * StageCamera:渲染相...

  • FairyGUI在Cocos2d-x下的多平台接入和lua绑定

    Cocos2d-x版本是3.16FairyGUI库来自https://github.com/fairygui/Fa...

  • Laya开发-FairyGui使用

    xzhuan原创稿件,转载请注明出处! FairyGui简介FairyGUI(下面简称FGUI)提供了一个强大的U...

  • FairyGUI与Unity交互示例

    适用人群:需要使用FairyGUI的Unity开发人员。本文内容:介绍FairyGUI和Unity如何合作项目。 ...

  • Laya FairyGui系列一 FairyGui接入

    一,什么是FairyGui FairyGUI(下面简称FGUI)提供了一个强大的UI编辑器,使用习惯与Adobe系...

  • FairyGUI

    1、导出\不导出 FairyGUI是以包为单位组织资源的。包在文件系统中体现为一个目录。assets目录下每个子目...

  • 转化PSD为Unity3D 使用的 UI界面

    操作顺序: PSD文件 -> psd2fgui转化为 .fairypackage 文件 -> FairyGUI进行...

  • UI篇-FairyGUI

    工欲善其事,必先利其器FairyGUI是国内一个对UI有深厚的理解,加上经验丰富的程序(号称:谷主),开发的一款U...

  • FairyGUI-fairyBatching

    一般来说,这种强调渲染顺序,以合批为主要目的的优化方式,会用在常驻主界面多一些。其他界面可以按照实际情况酌情处理。...

  • FairyGUI插入Spine

    最近FairyGui新添了对Spine动画功能的支持,然后项目中就想用Spine动画做一些表现。然后按照官方文档上...

网友评论

    本文标题:FairyGUI 结构解读

    本文链接:https://www.haomeiwen.com/subject/exfpwftx.html