zoukankan      html  css  js  c++  java
  • Unity中uGUI的多分辨率处理

    1、通过RectTransform中的Anchors和Pivot来进行控件和窗口的布局适配


    Anchors控制当前Panel相对于父窗口的布局位置。能够设置为居中或者左上角,当父窗口拉伸的时候当前Panel能够自己主动布局到正确位置。同一时候这里能够设置拉伸。比方主界面通常是全屏拉伸的,这样的情况能够在这里处理。

    Pivot是当前控件坐标系的锚点位置,通过代码调整坐标位置的时候须要注意这个的设置。


    2、通过CanvasScaler的设置来进行多分辨率适配


    UiScaleMode一般选择Scale With Screen Size,并设置好设计分辨率。其它两个选项都是固定像素大小。

    Screen Match Mode中一般选择Expand,它能够保证ui中的全部元素都在屏幕内部。

    相对照的一个选项是Shrink,它能够保证不留空白边。


    3、多分辨率的思路是Scaler中选择Expand保证全部ui元素在屏幕内部。少部分界面,如主界面、战斗界面等依据须要设置Anchors中的全屏拉伸。注意,这里的拉伸的含义不过设置Panel的宽、高,并不影响子控件的缩放,可是会影响其布局。

    4、注意,假设是Prefab载入ui的时候,设置父节点使用transform.SetParent(root, false) 这个函数调用,而不要直接设置parent属性,否则会存在RectTransform大小或坐标错误的问题。

  • 相关阅读:
    4.变量与运算符
    2.python的基本数据类型
    bzoj 2337: [HNOI2011]XOR和路径
    bzoj 2109: [Noi2010]Plane 航空管制
    bzoj 1566: [NOI2009]管道取珠
    bzoj 3439: Kpm的MC密码
    bzoj 2957: 楼房重建
    十、mysql之索引原理与慢查询优化
    九、MySQL 5.7.9版本sql_mode=only_full_group_by问题
    八、多表查询
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7265859.html
Copyright © 2011-2022 走看看