UGUI Canvas自适应和新UI缩放错误

通常通过设置CanvasScale来使UI自适应不同屏幕

1.UIScaleMode – 通常选ScaleWithScreenSize,以自适应不同屏幕

  • ConstantPixelSize //固定像素
  • ScaleWithScreenSize //随屏幕缩放
  • ConstantPhysicalSize //固定物理大小

2.ReferenceResolution – 设置参考分辨率(即开发时使用的分辨率)
3.ScreenMatchMode – 通常用MatchWidthOrHeight,Math设为0.5

  • MatchWidthOrHeight 根据权重"Match"对屏幕宽高进行适配
  • Expand //屏幕扩展使Canvas完全展现,屏幕比例不同时,屏幕边缘会无ui覆盖
  • Shrink //屏幕收缩使Canvas填满屏幕,部分UI会在屏幕外

常见问题:

  • 使用预制体新建UI时,缩放异常
    方式一: 设置父节点用ui.SetParent(parent,false), 而不是ui.SetParent(parent);
    Canvas自适应时会有缩放,第二个参数设为false使新UI适用父节点的位置,缩放和旋转;
    方式二: ui.transform.localScale = Vector3.one;

Guess you like

Origin blog.csdn.net/HeyHei/article/details/130125674