Unity,如何仅更改GameObject rect转换的“顶部”

时间:2019-11-18 12:43:26

标签: c# user-interface unity3d scripting

我想根据其中的实例化对象更改GameObject(ui pannel)的rect transform top value。 我发现GameObject.transform.localPosition对此没有用。 localScale在缩放的GameObject内部抓取元素。

如何正确完成?

public void OnMouseEnter()
{        
    {            
        ResoursesTipsNewPannel = Instantiate(ResoursesTipsPanel);
        ResoursesTipsNewPannel.transform.SetParent(ResoursesPanelTransform, false);

        for (i = 0; i < n; i++)
        {
            //RIGHT HERE I GUESS MUST BE SOME CODE THAT CHANGE TOP VALUE OF MY PANNEL
            ResoursesNewTipText = Instantiate(ResoursesTipText);
            ResoursesNewTipText.transform.SetParent(ResoursesTipsNewPannel.transform, false);
            ResoursesNewTipText.text = "Exemple text, " + i;
        }
        i = 0;            
    }
}

也许附加到“ ResoursesTipsNewPannel”(来自示例代码)的某些现有组件会自动更改面板的比例?

enter image description here

1 个答案:

答案 0 :(得分:0)

为解决此问题,我将其添加到示例代码中:

RectTransform ChangeRectTransform;
ChangeRectTransform = ResoursesTipsNewPannel.GetComponent<RectTransform>();
ChangeRectTransform.offsetMax = new Vector2(ChangeRectTransform.offsetMax.x, ChangeRectTransform.offsetMax.y+20);