NGUI核心代码之UIRoot
NGUI核心代码之UIRoot
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
UIRoot简介
UIRoot是NGUI系统的根节点,是每一个NGUI元素的顶级父节点。
UIRoot主要负责UI的缩放。
UIcamera是一个独立的正交摄像机,负责渲染UI对象到视图中,为UIRoot的子节点。
UIRoot的缩放方式
public enum Scaling
{
Flexible,
Constrained,
ConstrainedOnMobiles,
}
public Scaling activeScaling
{
get
{
Scaling scaling = scalingStyle;
if (scaling == Scaling.ConstrainedOnMobiles)
#if UNITY_EDITOR || UNITY_IPHONE || UNITY_ANDROID || UNITY_WP8 || UNITY_WP_8_1 || UNITY_BLACKBERRY
return Scaling.Constrained;
#else
return Scaling.Flexible;
#endif
return scaling;
}
}
1、Flexible 这个组合主要用于对所有的UI元件都不进行缩放,但是当屏幕分辨率不在Minimum Height和Maximum Height区间时,则会根据Minimum Height(Maximum Height)/screen height的比例对UIRoot进行缩放。这种在PC端这种可以调节界面大小的会使用比较多。
2、Contrained 这个组合主要用于对所有的UI元件进行缩放,,我们上图勾选的是通过高度适配,当设备分辨率的Height值不同于此设置值时,则根据其比例(即 ContentHeight / Screen Height)对整棵UI树的进行“等比”缩放,我们就可以更好去适配屏幕了。一般用于移动设备上,特别是手机上,屏幕就那么小,UI界面一定要求全屏显示,就要进行缩放。保持该UI在屏幕中所占的百分比去缩放。
3、Constrained On Mobiles这种是我们经常选用的,这种就是上边两种的混合。因为我们做的有些项目不但希望可以在PC端,也希望在移动设备上运行。