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大小或坐标错误的问题。

  • 相关阅读:
    最小覆盖圆算法
    hdu2202(最大三角形 )凸包
    hdu1392(凸包)
    hdu1348
    凸包模板
    凸包算法
    DataTable和List互转
    没有功能需求设计文档?对不起,拒绝开发!【分享】
    [分享]浅谈分布式数据库
    微信公众号授权,支付,退款总结【shoucang】
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7265859.html
Copyright © 2011-2022 走看看