• UGUI RectTransform


    概念:
    (框):指的是显示内容包围盒的矩形,就是由4个蓝色圆形角点构成的矩形。
    (轴心点):旋转围绕的中心或坐标原点,就是pivot。
    (角标):编辑器中调整anchorMin,anchorMax的4个三角形。

    =========================================

    anchoredPosition,anchoredPosition3D:(轴心点)-4个(角标)的中心,像素为单位。

    anchorMin,anchorMax:分别指4个(角标)的标准化坐标,也称锚点。取值范围:[0,1]

    offsetMin:(框)的左下角-anchorMin,像素为单位。
    offsetMax:(框)的右上角-anchorMax,像素为单位。

    pivot:(轴心点)的标准化坐标。取值范围:[0,1]

    rect:本地空间的矩形。xy是以(轴心点)为原点到(框)的左下角的偏移量,width与height指(框)的大小,像素为单位。

    sizeDelta:(框)的大小-4个(角标)所构成的矩形大小,像素为单位。

    localPosition:
    Canvas RenderMode Overlay 以父级(轴心点)为原点到当前(轴心点)的像素坐标
    Canvas RenderMode Camera 以父级(轴心点)为原点到当前(轴心点)的像素坐标

    position:
    Canvas RenderMode Overlay 以Canvas的左下角为原点到(轴心点)的像素坐标
    Canvas RenderMode Camera 以Camera的中心为原点到当前(轴心点)的世界单位坐标

    SetInsetAndSizeFromParentEdge(RectTransform.Edge edge, float inset, float size);
    调整RectTransform的大小
    edge:将设置角标到一条边上
    inset:距离edge的长
    size:要调整的大小
    该方法可以重复调用多次产生不同效果

    注意:
    1.RectTransform中的除了localPosition和position外,其它属性并不会跟随屏幕大小发生变化,
    使用其他属性时需要根据canvas.localScale进行计算才能得到实际的大小值。
    2.Canvas下的所有RectTransform的localScale和lossyScale属性,在适应不同大小屏幕时是不会改变的,会变的只有canvas.localScale,canvas.lossyScale也不会变。

    更多说明
    http://www.manew.com/thread-95753-1-1.html

    应用示例:

    //Canvas RenderMode Overlay 
    /// <summary>
    /// 返回指定RectTransform屏幕坐标矩形
    /// </summary>
    /// <param name="rectTransform">指定的RectTransform</param>
    /// <param name="canvasLocalScale">Canvas的缩放量</param>
    /// <returns></returns>
    public static Rect getScreenRect(RectTransform rectTransform,Vector3 canvasLocalScale){
    	Rect rect=rectTransform.rect;
    	//根据Canvas缩放
    	rect.width*=canvasLocalScale.x;
    	rect.height*=canvasLocalScale.y;
    	rect.position*=canvasLocalScale;
    	//计算矩形左下角
    	Vector2 leftBottom=(Vector2)rectTransform.position+rect.position;
    	rect.position=leftBottom;
    	return rect;
    }
    
  • 相关阅读:
    POJ 3308 Paratroopers
    POJ 3228 Gold Transportation
    POJ 4786 Fibonacci Tree
    POJ 2987 Firing
    Models——英语学习小技巧之四
    Linux编程环境介绍(3) -- linux下的c/c++程序开发
    怎样使用Markdown
    windows系统中的dll的作用详细解释
    解决ListView 和ScroolView 共存 listItem.measure(0, 0) 空指针
    网页添加背景音乐
  • 原文地址:https://www.cnblogs.com/kingBook/p/11357211.html
Copyright © 2020-2023  润新知