首页 > 其他 > 详细

U3D 如何计算一个UI四个角的绝对坐标

时间:2017-06-26 17:48:47      阅读:598      评论:0      收藏:0      [点我收藏+]

screen space overlay 下直接取UI坐标和长,宽,计算得到四角坐标。

screen space camera 下需要转换长宽到相机空间单位:如下:

        var cam = GameObject.Find("Camera").GetComponent<Camera>();
        var cam_h = 2*cam.orthographicSize;
        var cam_w = cam_h * Screen.width /Screen.height;

        var rtrans = gameObject.GetComponent<RectTransform>();
        Vector3[] worldcorners = new Vector3[4];
        rtrans.GetWorldCorners(worldcorners);

        float[] wcs = new float[4];
        float fw = rtrans.rect.width / Screen.width * cam_w;
        float fh = rtrans.rect.height / Screen.height * cam_h;
        var c1 = transform.position.x - fw / 2;
        var c2 = transform.position.x + fw / 2;
        var c3 = transform.position.y - fh / 2;
        var c4 = transform.position.y + fh / 2;

 

U3D 如何计算一个UI四个角的绝对坐标

原文:http://www.cnblogs.com/timeObjserver/p/7081583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!