DS623089578
DS623089578
采纳率25%
2018-07-12 06:31

Unity3d 中如何获取任意UI组件Rect的左下角与右上角在屏幕的坐标

10
已采纳

Unity3d 中如何获取任意UI组件Rect的左下角与右上角在屏幕的坐标

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • u011650813 u011650813 3年前

    1.先取得该rect对应的UICamera,
    2.然后使用算出rect的左下角的本地坐标(这个本地是指以rect的质心即pivot做标准):
    根据该rect的pivot和尺寸确定本地坐标localpos,然后localtoworld转为世界坐标worldpos
    3.使用camera的worldtoscreen函数把worldpos转成screenpos
    4.done

    点赞 评论 复制链接分享
  • appppppen appppppen 3年前

    Vector2 min = Vector2.zero;
    Vector2 max = Vector2.zero;
    if (mRectTransform[i].anchorMin == mRectTransform[i].anchorMax)
    {
    min = new Vector2(mRectTransform[i].anchoredPosition.x - mRectTransform[0].rect.width,
    Screen.height + mRectTransform[i].anchoredPosition.y);
    max = new Vector2(mRectTransform[i].anchoredPosition.x,
    Screen.height + mRectTransform[i].anchoredPosition.y + mRectTransform[0].rect.height);
    }

                        像这样!
    
    点赞 1 评论 复制链接分享

相关推荐