2014-01-20 78 views
0

我需要找到他的所有孩子的一個部件的邊界。我試着用下面的代碼,但得到了一個奇怪的輸出。無論是該部件有超過100像素的寬度和高度的孩子,輸出約爲1.如何計算小部件邊界?

Vector3 widgetBounds = NGUIMath.CalculateRelativeWidgetBounds(this.transform).size; 

我在做什麼錯?

謝謝。

回答

1

這是做你想做的嗎?

// 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; 
} 
+0

像'封裝()'而不是'SetMinMax()',所以很特別。 :d – Geri