我需要找到一个小部件和他所有孩子的界限。我尝试使用以下代码,但得到了一个奇怪的输出。小部件有宽度和高度超过 100 像素的子级,输出大约为 1。
Vector3 widgetBounds = NGUIMath.CalculateRelativeWidgetBounds(this.transform).size;
我究竟做错了什么?
谢谢你。
这是做你想做的吗?
// copied from UIDragObject.UpdateBounds()
public static Bounds GetContentRectBounds(UIRect content, UIPanel uiPanel){
Matrix4x4 toLocal = uiPanel.transform.worldToLocalMatrix;
Vector3[] corners = content.worldCorners;
for( int i = 0; i < 4; ++i ){
corners[i] = toLocal.MultiplyPoint3x4(corners[i]);
}
Bounds mBounds = new Bounds(corners[0], Vector3.zero);
for( int i = 1; i < 4; ++i ){
mBounds.Encapsulate(corners[i]);
}
return mBounds;
}