在Unity中,我们要获取组件的宽高,具体方法要看组件的类型。
假如是2D UI组件,那么我们可以通过RectTransform的Rect属性获取,如获取Image?组件宽高:
Image image = GetComponent<Image>();
RectTransform rectTransform = image.rectTransform;
float width = rectTransform.rect.width;
float height = rectTransform.rect.height;
假如是3D组件,如 MeshRenderer?对象,那么我们就用MeshRenderer中的bounds属性获取,如:
MeshRenderer meshRenderer = GetComponent<MeshRenderer>();
Bounds bounds = meshRenderer.bounds;
float width = bounds.size.x;
float height = bounds.size.y;
假如是?2D SpriteRenderer 组件,同样可以用SpriteRenderer的bounds属性获取宽高:
SpriteRenderer spriteRenderer = GetComponent<SpriteRenderer>();
float width = spriteRenderer.bounds.size.x;
float height = spriteRenderer.bounds.size.y;