簡體   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