Unity 中的锚点适配 - NGUI
刚入职分的第一个小工作去做适配。
分辨率
为图片做适配,分辨率主要几种,但分辨率是一个区间值。
pad :1080 * 1440
mobble :1080 * 1920/2190
iphonex : 1125 * 2436
Method
通过代码
预制体调整成1920 在代码里为1440 2190做适配即可
图片的setAnchor方法
做适配时根据设置锚点的方式来调整图片的大小
1 | local var = self.window:ComponentByName("dir",typeof(UIType)) |
通过锚点
ref - privot 形式 ref为窗口边角的方块,privot 方块边界的点,常用为上边中心,也可为顶点。
目标图形的锚点为privot ,ref 随着分辨率调整大小即可
AutoScale
--通过分辨率去修改大小
--参数分别为:最大分辨率,最小分辨率,最终大小,最小,最大 -- 最小最大为适应iphonex 这种
local aspect,toAspect,toScale,minScale,maxScale
void start() {
Vector2 curSize = NGUITools.screenSize;
float curAspect = curSize.y / curSize.x;
float rate = (curAspect - toAspect) / (aspect - toAspect);
float scale = rate * (1 - toScale) + toScale;
scale = Mathf.Clamp(scale,minScale,maxScale);
this.transform.localScale = new Vector3(scale, scale, scale);
}