GUI 和 GUILayout 的區別

GUI 和 GUILayout 的區別

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

相關文章
相關標籤/搜索