![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=1739348699-0fM3UQ4zZu8sphAud2fd90xX62W5Ohf3-0-a09d5db62c65ae49d0604f5c9b7d04db)
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=1739348699-XEoWS1yt6vZ0mYOAZVNxIjs4fp3UnasX-0-719bd7f355d8c394e0ba71edfe8b2b14)
代码的运行效果如图1-38所示。
![](https://epubservercos.yuewen.com/FABC1B/6158700004756901/epubprivate/OEBPS/Images/figure_0038_0003.jpg?sign=1739348699-ssZiBBqOynOlGdHu7wReyvinUttW03U6-0-af0bcf98179c0e97197ed140f7f22c72)
图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=1739348699-JKVCVN46BmySWpc9uWjsV0dNxEUnhdPk-0-4e84ac223af4daed776dd1aaaa26f231)
图1-39 GUI绘制的登录框