Unity3D网络游戏实战
上QQ阅读APP看书,第一时间看更新

1.8 GUI

1.8.1 GUI绘图基础

GUI绘图是Unity3D绘制UI的原始方法,只要在组件的OnGUI方法中调用绘图方法,便可以在游戏界面上绘制贴图、文字、按钮、滚动条等多种元素。最常用的GUI方法见表1-8。

表1-8 最常用的GUI方法及说明

1.8.2 编写HelloWorld程序

在OnGUI方法中调用GUI.Label即可显示文本。GUI.Label有两个参数,第一个参数通过Rect(长方体)指定文字的位置和大小,第二个参数指定要显示的内容。以下是编写HelloWorld的代码。

代码的运行效果如图1-38所示。

图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所示。

图1-39 GUI绘制的登录框