UI生成的位置RectTransform

/// <summary>

    /// 自身显示的位置

    /// </summary>

    private void SetMyShowRectTransform()

    {

        if (location == 0)

        {

            // //左下角对其

            var objVec = btn.anchoredPosition;//当前按钮的坐标

            //print("当前按钮的位置" + btn.anchoredPosition);

            //计算出父物体的宽和高,也就是父物体的位置

            var wide = btn.sizeDelta.x;

            var hight = btn.sizeDelta.y;

            //按钮左下角的位置

            float x = objVec.x + wide / 2;

            float y = objVec.y - hight / 2;

            //计算出自身的x和y

            var imageX = rect.sizeDelta.x;

            var imageY = rect.sizeDelta.y;

            var imgpos = new Vector2(x + imageX / 2, y - imageY / 2);//同级的位置

                 //子级的位置(同级时不需要减去按钮的位置)

            rect.anchoredPosition = imgpos - objVec + new Vector2(0, hight);

        }

        else

        {

            //右下角对其

            var objVec = btn.anchoredPosition;//当前按钮的坐标

            //计算出父物体的宽和高,也就是父物体的位置

            var wide = btn.sizeDelta.x;

            var hight = btn.sizeDelta.y;

            //按钮左下角的位置

            float x = objVec.x + wide / 2;

            float y = objVec.y - hight / 2;

            //计算出自身的x和y

            var imageX = rect.sizeDelta.x;

            var imageY = rect.sizeDelta.y;

            var imgpos = new Vector2(x + imageX / 2, y - imageY / 2);//同级的位置

             //子级的位置(同级时不需要减去按钮的位置)

            rect.anchoredPosition = objVec - imgpos - new Vector2(0, hight);

        }

    }

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 最近一段时间的实习都是苦逼的在做ui,做移动端的,适配是永恒的话题,庆幸的是unity提供了一套强大的接口让...
    巨龙饿了阅读 67,262评论 20 140
  • RectTransform继承于Transform 上图中的中间九个按钮叫做绝对布局(也有人叫九宫格),边上的七...
    黎明之钥阅读 5,728评论 0 2
  • 一、Unity简介 1. Unity界面 Shift + Space : 放大界面 Scene界面按钮渲染模式2D...
    MYves阅读 12,675评论 0 22
  • using System.Collections; using System.Collections.Generi...
    MakerSir阅读 3,744评论 0 0
  • UGUI做一个类似Windows的框选功能: 效果: 主要用到的知识点,就是2D世界的碰撞检测(BoxCollid...
    runinnn阅读 3,795评论 2 3