Unity 获取组件宽高的方法

在Unity中,我们要获取组件的宽高,具体方法要看组件的类型。

假如是2D UI组件,那么我们可以通过RectTransform的Rect属性获取,如获取Image 组件宽高:

Image image = GetComponent();
RectTransform rectTransform = image.rectTransform;
float width = rectTransform.rect.width;
float height = rectTransform.rect.height;

假如是3D组件,如 MeshRenderer 对象,那么我们就用MeshRenderer中的bounds属性获取,如:

MeshRenderer meshRenderer = GetComponent();
Bounds bounds = meshRenderer.bounds;
float width = bounds.size.x;
float height = bounds.size.y;

假如是 2D SpriteRenderer 组件,同样可以用SpriteRenderer的bounds属性获取宽高:

SpriteRenderer spriteRenderer = GetComponent();
float width = spriteRenderer.bounds.size.x;
float height = spriteRenderer.bounds.size.y;

你可能感兴趣的:(unity,游戏引擎,c#)