DS623089578
2018-07-12 06:31
采纳率: 25%
浏览 5.1k
已采纳

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

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

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • u011650813 2018-07-12 06:57
    已采纳

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

    打赏 评论
  • appppppen 2018-07-12 06:57

    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);
    }

                        像这样!
    
    打赏 评论

相关推荐 更多相似问题