【Unity3D入门教程】Unity3D之GUI浅析
前言
一款典型的软件都会有交互界面,这些界面包括标签、按钮、拖动条等。Unity3D内置一些基本的GUI命令,可以在屏幕上绘制简单的交互控件。本文主要介绍传统的GUI。而最新加入的UGUI模块将在下一讲中介绍。
1 Label控件
Label控件可以将字符串信息展示在游戏界面上。
GUI.Label(new Rect(10,10,100,30),"学习GUI");//将字符串显示在屏幕上
2 Button控件
Button生成一个按钮,可以检测用户鼠标点击。
if(GUI.Button(newRect(10,200,100,30),"普通按钮")) { Debug.Log("按下了按钮。"); } if (GUI.RepeatButton(new Rect(10, 250, 100,30), "连续按钮")) { Debug.Log("正在按按钮!"); }
3 TextField文本输入框
可以输入文字等,如用户名和密码。
editName = GUI.TextField(new Rect(150, 40,200, 30), editName, 15); editPassword = GUI.PasswordField(newRect(150,80,200,30),editPassword,"*"[0],15);
4 Slider滑动条
滑动条上的滑块位置可以表明对应的数值。
toolBarValue0 = GUI.VerticalSlider(newRect(200,200,30,100),toolBarValue0,100,0); toolBarValue1 = GUI.HorizontalSlider(newRect(200,180,100,30),toolBarValue1,0,100);
5 GUI中绘制贴图
GUI.DrawTexture(newRect(10,50,100,80),tex); //绘制贴图
运行效果
完整脚本
using UnityEngine; using System.Collections; public class StudyGUI : MonoBehaviour { public Texture tex; string editName; string editPassword; float toolBarValue0; float toolBarValue1; void Start() { editName = "请输入用户名"; editPassword = "请输入密码"; toolBarValue0 = 0; toolBarValue1 = 0; } void OnGUI() { GUI.Label(new Rect(10,10,100,30),"学习GUI"); //将字符串显示在屏幕上 GUI.DrawTexture(new Rect(10,50,100,80),tex); //绘制贴图 //检测按钮 if(GUI.Button(new Rect(10,200,100,30),"普通按钮")) { Debug.Log("按下了按钮。"); } //检测连续按钮 if (GUI.RepeatButton(new Rect(10, 250, 100, 30), "连续按钮")) { Debug.Log("正在按按钮!"); } //设置文本输入框 editName = GUI.TextField(new Rect(150, 40, 200, 30), editName, 15); editPassword = GUI.PasswordField(new Rect(150,80,200,30),editPassword,"*"[0],15); //垂直和水平滑动条 toolBarValue0 = GUI.VerticalSlider(new Rect(200,200,30,100),toolBarValue0,100,0); toolBarValue1 = GUI.HorizontalSlider(new Rect(200,180,100,30),toolBarValue1,0,100); } }
小结
本文介绍了几种最简单的GUI控件的使用方法,其他的控件如ToolBar、ScrollView等没有介绍到,感兴趣的读者可以在掌握本文讲述的基本控件的基础上,继续深入研究其他控件。当然现在很多开发中,这种基本的GUI已经用得不多了,UGUI是新一代的交互方式,具有更加灵活的使用情境,值得继续探究。