簡體   English   中英

如何將 ui 元素寬度除以二?

[英]How can i divide ui elements width by two?

(float)rect.sizeDelta.x / 2.0f

我試圖將 rect 變換的寬度除以 2。但它只返回 rect 變換寬度的原始值。 和 size delta 返回 vector2 所以我認為它們都是浮點數。 那么為什么會發生這種情況,我該如何解決呢?

- -編輯 - -

這是我的完整代碼。

public move m;
    float oris;
    // Start is called before the first frame update
    void Start()
    {
        oris = transform.localScale.x;
    }

    // Update is called once per frame
    void Update()
    {
        if (m.abletime - Time.time > 0)
        {
            transform.parent.GetComponent<RectTransform>().sizeDelta = new Vector2(((m.killtime - (m.abletime - Time.time)) / m.killtime) * 100f, 100f);
        }
        var halfWidth = GetComponent<RectTransform>().rect.width / 2f;
        GetComponent<RectTransform>().localPosition = new Vector3(halfWidth, 0, 0);
    }

請注意, RectTransform.sizeDelta取決於您的錨點設置,顧名思義在大多數情況下是一個增量

如果錨點位於父項的四個角中的每一個,則sizeDelta是矩形與其父項相比的大小。


如果您想要實際寬度,您可能應該使用RectTransform.rect

var halfWidth = GetComponent<RectTransform>().rect.width / 2f;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM