![Unity3D网络游戏实战](https://wfqqreader-1252317822.image.myqcloud.com/cover/295/847295/b_847295.jpg)
上QQ阅读APP看书,第一时间看更新
1.8 GUI
1.8.1 GUI绘图基础
GUI绘图是Unity3D绘制UI的原始方法,只要在组件的OnGUI方法中调用绘图方法,便可以在游戏界面上绘制贴图、文字、按钮、滚动条等多种元素。最常用的GUI方法见表1-8。
表1-8 最常用的GUI方法及说明
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0037_0002.jpg?sign=1738828932-pmysSgGSOR2GGOPkpus5KTnSuF3B1JZL-0-e7e87ac9769c4b94806b47ace1c9a582)
1.8.2 编写HelloWorld程序
在OnGUI方法中调用GUI.Label即可显示文本。GUI.Label有两个参数,第一个参数通过Rect(长方体)指定文字的位置和大小,第二个参数指定要显示的内容。以下是编写HelloWorld的代码。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0038_0002.jpg?sign=1738828932-n2EqM6d0IWpktlPu6BhahtHSXxPpJYo6-0-ea7d54785f64528206d253562b260673)
代码的运行效果如图1-38所示。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0038_0003.jpg?sign=1738828932-r52J6a4B0FGKYihzxtPscoE9y61HHa3s-0-6cd45181f22379f3d26dc9758c09d002)
图1-38 GUI绘制的HelloWorld
1.8.3 绘制登录框
组合GUI.Box、GUI.Label、GUI.TextField、GUI.PasswordField和GUI.Button这5个元素即可完成登录框的绘制,代码如下所示。
public class LoginPanel : MonoBehaviour { public string userName = ""; public string password = ""; void OnGUI() { //登录框 GUI.Box(new Rect(10, 10, 200, 120), "登录框"); //用户名 GUI.Label(new Rect(20, 40, 50, 30), "用户名"); userName = GUI.TextField(new Rect(70, 40, 120, 20), userName); //密码 GUI.Label(new Rect(20, 70, 50, 30), "密码"); password = GUI.PasswordField(new Rect(70, 70, 120, 20), password, ' *' ); //登录按钮 if (GUI.Button(new Rect(70, 100, 50, 25), "登录")) { if (userName == "hellolpy" && password == "123") Debug.Log("登录成功"); else Debug.Log("登录失败"); } } }
代码的运行效果如图1-39所示。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0039_0001.jpg?sign=1738828932-6Ndxf3o2iFMuwWtXINLuI5CxTLutWufd-0-83eb738f92de2ce62e21f2691a17618f)
图1-39 GUI绘制的登录框