大家好,又见面了,我是你们的朋友全栈君。
前言
一款典型的软件都会有交互界面,这些界面包括标签、按钮、拖动条等。Unity3D内置一些基本的GUI命令,可以在屏幕上绘制简单的交互控件。本文主要介绍传统的GUI。而最新加入的UGUI模块将在下一讲中介绍。
1 Label控件
Label控件可以将字符串信息展示在游戏界面上。
代码语言:javascript复制GUI.Label(new Rect(10,10,100,30),"学习GUI");//将字符串显示在屏幕上
2 Button控件
Button生成一个按钮,可以检测用户鼠标点击。
代码语言:javascript复制if(GUI.Button(newRect(10,200,100,30),"普通按钮"))
{
Debug.Log("按下了按钮。");
}
if (GUI.RepeatButton(new Rect(10, 250, 100,30), "连续按钮"))
{
Debug.Log("正在按按钮!");
}
3 TextField文本输入框
可以输入文字等,如用户名和密码。
代码语言:javascript复制editName = GUI.TextField(new Rect(150, 40,200, 30), editName, 15);
editPassword = GUI.PasswordField(newRect(150,80,200,30),editPassword,"*"[0],15);
4 Slider滑动条
滑动条上的滑块位置可以表明对应的数值。
代码语言:javascript复制toolBarValue0 = GUI.VerticalSlider(newRect(200,200,30,100),toolBarValue0,100,0);
toolBarValue1 = GUI.HorizontalSlider(newRect(200,180,100,30),toolBarValue1,0,100);
5 GUI中绘制贴图
代码语言:javascript复制GUI.DrawTexture(newRect(10,50,100,80),tex); //绘制贴图
运行效果
完整脚本
代码语言:javascript复制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是新一代的交互方式,具有更加灵活的使用情境,值得继续探究。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169343.html原文链接:https://javaforall.cn