
## 核心类
### 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 结构解读、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)