繁体   English   中英

Unity,如何仅更改 GameObject 矩形变换的“顶部”

[英]Unity, how to change only “top” of GameObject rect transform

我想更改其中实例化对象的 GameObject(ui pannel) 的矩形变换顶部值 我发现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”(来自示例代码)的现有组件会自动更改面板的比例?

在此处输入图像描述

为了解决这个问题,我将这个添加到我的示例代码中:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM