Unity 3D GUI高级控制之Label控件
Label控件是Unity 3D GUI高级控件中的标签控件,可以在游戏界面中以文本的形式展示出一段字符串信息,还可以展示贴图。
下边是实例代码如下:
#pragma strict //定义公有的字符串变量,用来接收外部赋值字符串(默认是公有的) var str:String; //定义公有的贴图对象变量,用来接收外部赋值的贴图(默认是公有的) var image:Texture; //定义私有的贴图宽度变量 private var imageWidth:int; //定义私有的贴图高度变量 private var imageHeight:int; //定义私有的屏幕宽度变量 private var screenWidth:int; //定义私有的屏幕高度变量 private var screenHeight:int; function Start () { //通过Screen来获取屏幕的宽度和高度 screenWidth = Screen.width; screenHeight = Screen.height; //通过image贴图对象来获取贴图的宽度和高度 imageWidth = image.width; imageHeight = image.height; } function OnGUI () { //将文字内容显示在屏幕中 GUI.Label(Rect(10,10,200,30),str); GUI.Label(Rect(10,50,200,30),"当前屏幕的宽度:"+screenWidth); GUI.Label(Rect(10,90,200,30),"当前屏幕的高度:"+screenHeight); //将贴图显示在屏幕中 GUI.Label(Rect(10,130,imageWidth,imageHeight),image); }
上述的代码示例中,使用了两个方法:第一个是Start()方法,该方法只会执行一次,在程序运行的时候执行,所以需要将初始化的相关代码都放在Start()方法中;第二个是OnGUI()方法,它是界面绘制方法,所有GUI的绘制都需要在这个方法中实现。
所有的脚本只有绑定在游戏对象上时,才会执行脚本自身的生命周期。此处你可以将上述的脚本对象添加给任何一个游戏对象模型。将脚本添加给模型后,记得在Inspector
视图中为脚本中的公有变量赋值,如下图所示:
注意:只有公有的变量才能在编译器中以拖拽对象或输入的形式赋值。在声明变量时,在变量前方添加public关键字或未添加任何关键字表示该变量为公有变量,如:
public var str :String ;
var str:String ;
如果在变量前方添加private关键字的变量,则为私有变量。私有变量不会出现在编辑器中,只能在脚本中使用。
运行程序后的结果是如下所示:
<!--EndFragment-->
<!--EndFragment-->