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

FairyGUI 结构解读

作者: 张燊_70ff | 来源:发表于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 结构解读

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