FairyGUI 结构解读

FairyGUI 结构解读,第1张

## 核心类

### 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 结构解读全部的内容,包括:FairyGUI 结构解读、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10158794.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存