Unity 获取组件宽高的方法

在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;

猜你喜欢

转载自blog.csdn.net/mr_five55/article/details/135396427
今日推荐