Reputation: 31
I want to change rect transform top value of GameObject(ui pannel) dependely of Instantiated objects in it.
I found that GameObject.transform.localPosition
is not useful for that. localScale stratch the elements inside of scaled GameObject.
How it can be done correctly??
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;
}
}
Maybe some existing component that is attached to "ResoursesTipsNewPannel"(from example code) that change scale of panel automatically?
Upvotes: 1
Views: 1881
Reputation: 31
To solve I added this into code from my example:
RectTransform ChangeRectTransform;
ChangeRectTransform = ResoursesTipsNewPannel.GetComponent<RectTransform>();
ChangeRectTransform.offsetMax = new Vector2(ChangeRectTransform.offsetMax.x, ChangeRectTransform.offsetMax.y+20);
Upvotes: 2