![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=1739349400-omGGC5E0BtOcIopFyR5WoV9iamsTGJXp-0-95111f5f6ab54b2efdc6bf78c2cc742b)
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=1739349400-72L4eTSkVptcR0cfXZPnGd9KR1JoP3yE-0-04f40e6474ecfc181293deac13cab1c9)
代码的运行效果如图1-38所示。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0038_0003.jpg?sign=1739349400-CbOZNbml9HarLaIKTNlWtYtaKzwKY3mI-0-d43eb6cfbe34822ecb91df0e8ad26ac6)
图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=1739349400-Zi6i6ezaSABqTOze824QK8G2la92kagj-0-30b4a8b746fc037dea5d6f064132bac4)
图1-39 GUI绘制的登录框