Unity FairyGUI 自适应扩展

Attention

不能对非全屏大小的做自适应,那种可以用关联去处理就好了
如:非全屏的:GComponent(包括Window)
只要满足全屏大小的就OK。

(后面有时间再写一个对Window的处理)

Running

Figure 1 - Adapt None

没有任何适配
Adapt None

Figure 2 - Adapt RelationFullScreen

适配为:RelationFullScreen的话,会依赖FairyGUI中的‘关联’(Relation)来控制自适应
缺点:当某个分辨率大小超过了FairyGUI内的设计大小是,就会出现一些内容适配显示不完整,等问题,如:背景图,设计为:1024*576的,放在1440*900的分辨率上,如果不进行放大,就布不完整个背景的内容,当然你也可以在FairyGUI中对这个背景图进行关联为:宽->宽,高->高的方式来让背景自动为父节点调整大小

这种配置方式也可以到达:保留比例,让左右、上下留空白的效果
方法:
将需要Register的FairyGUI的Component(组件),放一个底板,将其关联父级别为:左右居中、上下居中,然后所有其他的都关联这个底板的上、下、左、右做关联即可
Adapt RelationFullScreen

Figure 3 - Adapt ScaleFullScreen

适配为:ScaleFullScreen的话,会直接将FairyGUI的内容全变形为:当前Screen.width,height的大小来控制缩放
缺点:会让FairyGUI的内容失真
优点:能适用所有分辨率
这里写图片描述

Figure 4 - Adapt Center

这个是保持比例,适配宽、高的居中处理
这里写图片描述

Ext others

后面可以根据项目情况来添加:AdaptType(适配枚举)

Gif

以下这个Gif是比较久的版本内容,还有center的也没有
现在陆陆续续增加了一些功能:

  • 添加FguiAdapter全局变量:globalAdaptedType
  • 注册配置时,可指定参数:
    • 适配类型(默认center)
    • 是否使用globalAdaptedType(默认true)
    • 名称(默认null,维护用)

Adapt ScaleFullScreen

Project

以上的图、Gif都是旧的。
改工程中添加了:FguiAdapterEditor

方便在Inspector中实时看到所有注册适配对象的情况

如下图:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/linjf520/article/details/81386479
今日推荐