UGUI 适配
//屏幕自适应
public const int IdealWide = 1280;
public const int IdealHigh = 720;
public void UIAdaption()
{
GameObject uiRoot=GameObject.Find("Global/UI/");
float idealscreenProportion = IdealWide * 1.00f / IdealHigh;
float screenProportion=Screen.width * 1.00f / Screen.height;
int match = 0;
if (screenProportion > idealscreenProportion)
{
match = 1;
}
for (int i = 0; i < uiRoot.transform.childCount; i++)
{
if (uiRoot.transform.GetChild(i).GetComponent<CanvasScaler>() == null)
{
continue;
}
uiRoot.transform.GetChild(i).GetComponent<CanvasScaler>().matchWidthOrHeight = match;
}
}
FairyGUI 适配
//屏幕自适应
public const int IdealWide = 1280;
public const int IdealHigh = 720;
public override void Awake(FUIComponent self)
{
float idealscreenProportion = IdealWide * 1.00f / IdealHigh;
float screenProportion=Screen.width * 1.00f / Screen.height;
int match = 0;
if (screenProportion > idealscreenProportion)
{
match = 1;
}
GRoot.inst.SetContentScaleFactor(1280, 720, match==1?UIContentScaler.ScreenMatchMode.MatchWidth:UIContentScaler.ScreenMatchMode.MatchHeight);
self.Root = ComponentFactory.Create<FUI, GObject>(GRoot.inst);
}