C# 将UI图像大小设置为矩形Unity3D
我想更改UI图像的大小,使其与我实时创建的矩形的大小完全匹配,我尝试了下面的代码,但图像未与矩形对齐,如屏幕截图所示。我怎样才能解决这个问题 脚本:C# 将UI图像大小设置为矩形Unity3D,c#,unity3d,C#,Unity3d,我想更改UI图像的大小,使其与我实时创建的矩形的大小完全匹配,我尝试了下面的代码,但图像未与矩形对齐,如屏幕截图所示。我怎样才能解决这个问题 脚本: public Image MyImage; void Update () { Rect boundsDown = new Rect(0, Screen.height / 35, Screen.width / 1.05f, Screen.height /3); MyImage.rectTransform.sizeDelta = n
public Image MyImage;
void Update () {
Rect boundsDown = new Rect(0, Screen.height / 35, Screen.width / 1.05f, Screen.height /3);
MyImage.rectTransform.sizeDelta = new Vector2(Screen.width / 1.1f, Screen.height / 3);
MyImage.transform.position = boundsDown.position;
}
这是结果:
public Image MyImage;
void Update () {
Rect boundsDown = new Rect(0, Screen.height / 35, Screen.width / 1.05f, Screen.height /3);
MyImage.rectTransform.sizeDelta = new Vector2(Screen.width / 1.1f, Screen.height / 3);
MyImage.transform.position = boundsDown.position;
}
您最好将图像设置为矩形的子元素,然后将其设置为父元素宽度和高度的100%。手动设置绝对值,就像你试图做的,有点脆,不会处理屏幕大小的变化之类的事情
public Image MyImage;
public RectTransform ParentRect;
void Update()
{
MyImage.transform.parent = ParentRect.transform;
MyImage.rectTransform.anchorMin = new Vector2(0f, 0f);
MyImage.rectTransform.anchorMax = new Vector2(1f, 1f);
MyImage.rectTransform.localPosition = new Vector3(0f, 0f, 0f);
}