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