Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将UI图像大小设置为矩形Unity3D_C#_Unity3d - Fatal编程技术网

C# 将UI图像大小设置为矩形Unity3D

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

我想更改UI图像的大小,使其与我实时创建的矩形的大小完全匹配,我尝试了下面的代码,但图像未与矩形对齐,如屏幕截图所示。我怎样才能解决这个问题

脚本:

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);
}