我是AR人
侠客
侠客
  • UID4982
  • 粉丝2
  • 关注0
  • 发帖数20
阅读:443回复:0

Unity3d入门教程系列:GUI浅析

楼主#
更多 发布于:2017-12-30 22:44
前言
一款典型的软件都会有交互界面,这些界面包括标签、按钮、拖动条等。Unity3D内置一些基本的GUI命令,可以在屏幕上绘制简单的交互控件。本文主要介绍传统的GUI。而最新加入的UGUI模块将在下一讲中介绍。

1  Label控件
Label控件可以将字符串信息展示在游戏界面上。

  1. GUI.Label(new Rect(10,10,100,30),"学习GUI");//将字符串显示在屏幕上  

2  Button控件
Button生成一个按钮,可以检测用户鼠标点击。

  1. if(GUI.Button(newRect(10,200,100,30),"普通按钮"))  
  2. {  
  3.   Debug.Log("按下了按钮。");  
  4. }  
  5. if (GUI.RepeatButton(new Rect(10, 250, 100,30), "连续按钮"))  
  6. {  
  7.   Debug.Log("正在按按钮!");  
  8. }  

3  TextField文本输入框
可以输入文字等,如用户名和密码。
  1. editName = GUI.TextField(new Rect(150, 40,200, 30), editName, 15);  
  2. editPassword = GUI.PasswordField(newRect(150,80,200,30),editPassword,"*"[0],15);  

4  Slider滑动条
滑动条上的滑块位置可以表明对应的数值。

  1. toolBarValue0 = GUI.VerticalSlider(newRect(200,200,30,100),toolBarValue0,100,0);  
  2. toolBarValue1 = GUI.HorizontalSlider(newRect(200,180,100,30),toolBarValue1,0,100);    




5  GUI中绘制贴图

  1. GUI.DrawTexture(newRect(10,50,100,80),tex);  //绘制贴图  




运行效果


完整脚本
  1. using UnityEngine;  
  2. using System.Collections;  
  3.  
  4. public class StudyGUI : MonoBehaviour {  
  5.  
  6.    public Texture tex;  
  7.    string editName;  
  8.    string editPassword;  
  9.    float toolBarValue0;  
  10.    float toolBarValue1;  
  11.  
  12.    void Start()  
  13.    {  
  14.        editName = "请输入用户名";  
  15.        editPassword = "请输入密码";  
  16.        toolBarValue0 = 0;  
  17.        toolBarValue1 = 0;  
  18.    }  
  19.  
  20.  
  21.    void OnGUI()  
  22.    {  
  23.        GUI.Label(new Rect(10,10,100,30),"学习GUI"); //将字符串显示在屏幕上  
  24.        
  25.        GUI.DrawTexture(new Rect(10,50,100,80),tex);  //绘制贴图  
  26.  
  27.        //检测按钮  
  28.        if(GUI.Button(new Rect(10,200,100,30),"普通按钮"))  
  29.        {  
  30.            Debug.Log("按下了按钮。");  
  31.        }  
  32.        //检测连续按钮  
  33.        if (GUI.RepeatButton(new Rect(10, 250, 100, 30), "连续按钮"))  
  34.        {  
  35.            Debug.Log("正在按按钮!");  
  36.        }  
  37.  
  38.        //设置文本输入框  
  39.        editName = GUI.TextField(new Rect(150, 40, 200, 30), editName, 15);  
  40.        editPassword = GUI.PasswordField(new Rect(150,80,200,30),editPassword,"*"[0],15);  
  41.        //垂直和水平滑动条  
  42.        toolBarValue0 = GUI.VerticalSlider(new Rect(200,200,30,100),toolBarValue0,100,0);  
  43.        toolBarValue1 = GUI.HorizontalSlider(new Rect(200,180,100,30),toolBarValue1,0,100);      
  44.    }  
  45. }  
小结
本文介绍了几种最简单的GUI控件的使用方法,其他的控件如ToolBar、ScrollView等没有介绍到,感兴趣的读者可以在掌握本文讲述的基本控件的基础上,继续深入研究其他控件。当然现在很多开发中,这种基本的GUI已经用得不多了,UGUI是新一代的交互方式,具有更加灵活的使用情境,值得继续探究。

欢迎分享

游客

返回顶部