[英]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.