unity ugui ui转屏幕坐标
·
Public Rect GetUIScreenRect(){
//目标ui
RectTransform rectTra;
Canvas canvas;
Camera cam=canvas.renderMode==RenderMode.ScreenSpaceOverlay?null:canvas.worldCamera;
//获取ui元素四个顶点的世界坐标
Vector3 worldCorners=new Vector3[4];
rectTra.GetWorldCorners(worldCorners);
Vector2 point1=RectTransformUtility.WorldToScreenPoint(cam,worldCorners[0]);
Vector2 point2=RectTransformUtility.WorldToScreenPoint(cam,worldCorners[2]);
//创建屏幕矩形
Rect screenRect=new Rect(point1.x,point1.y,point2.x-point1.x,point2.y-point1.y);
return screenRect;
}
更多推荐

所有评论(0)