A~ GUI是Unity中的基礎控件類,其中包含了經常使用的GUI控件,列如Button,Label,PasswordField,slider,Window等等~ 其中的參數函數就不一一列舉了。。查文檔一大堆~ide
B~ Unity中還有另一個GUI類,也就是GUILayout,這個類至關因而對GUI作了一層自動佈局的封裝,可是從源碼來看,GUILayout並非繼承於GUI的,而是新開了一個類別~函數
C~ 下面說說GUILayout和GUI的一些區別吧~佈局
一、有這樣一個需求,我在屏幕上繪製了一個Label,用來展現手機陀螺儀獲取到的數據.字體
a.經過GUILabel繪製~ui
GUI.Label (new Rect(0,100,300,100), string.Format ("用戶加速度—— x:{0},y:{1},z:{2},", Input.gyro.userAcceleration.x, Input.gyro.userAcceleration.y, Input.gyro.userAcceleration.z));
這時候屏幕上出現的情況是Label裏面的字符串居中顯示,因爲陀螺儀的數據是在動態的刷新,因此label裏面的字符串有時長有時短,致使了Label裏面的字體不停的閃動。不易看清楚我須要的信息。。調試
b.GUILayout.Label繪製~code
GUILayout.Label (string.Format ("用戶加速度—— x:{0},y:{1},z:{2},", Input.gyro.userAcceleration.x, Input.gyro.userAcceleration.y, Input.gyro.userAcceleration.z));
使用GUILayout並不須要使用Rect描述他的座標和長寬,而是直接在構造函數裏面傳入字符串就能夠~重要的是字符串自動左對齊,我所須要的信息再也不閃爍~ 以下圖
orm
最後總結叻 ~ 開發中可使用GUILayout很方便在屏幕上輸出調試想要的信息,做爲開發人員調試挺方便的~blog