Unity:获取附有内容大小拟合器的GameObject的高度

问题描述 投票:0回答:1

我有一个附带了内容大小标准的GameObject,想读出GameObject的高度。在阅读了十几个论坛帖子的基础上,我尝试了很多事情,但无法正常工作。我认为此代码应该几乎是正确的,但是,它没有给我正确的数字:

GameObject go;    // The game object whose height i want to read out
...
// Force rebuild before reading out height
LayoutRebuilder.ForceRebuildLayoutImmediate(go.GetComponent<RectTransform>());
// Read out height
float h = go.GetComponent<RectTransform>().rect.height;

不幸的是,这不给我正确的高度,因为它与我在检查员中看到的不符。该代码返回的高度约为2400,而检查员说高度为1257.8(与我在屏幕上看到的高度相对应)-请参见下面的屏幕截图。任何帮助,将不胜感激!

Screenshot

c# unity3d height
1个回答
0
投票

尝试RectTransform.sizeDelta。在几个项目中,我用它来设置RectTransforms的高度。大概您也可以用它来获得高度。

© www.soinside.com 2019 - 2024. All rights reserved.