<Unity3D>Unity3D入门篇——第四讲 GUI控件(二)

三、TextField控件    

 
TextField控件主要用于监听用户的输入信息,我们通常使用GUI.TextField()方法来显示输入框,其返回值类型为string型。



Parameters(参数):
position : Rect ——用于在屏幕绘制文本框的位置(起点x轴坐标,起点y轴坐标,文本框的宽度,文本框的高度)
text : String ——显示的编辑文本,这个函数的返回值应该赋回给字符串
maxLength : int ——控制字符串的最大长度,如果不设置,用户可以一直输入
style : GUIStyle ——使用样式,如果不设置,文本框的样式将使用当前的GUISkin皮肤

Returns(返回值):
字符串类型——被编辑的字符串

Description(描述):
创建一个单行的文本框,用户可以编辑字符串(注:与TextArea进行区别,TextArea是多行的,后面会详细说明!)


四、PasswordField控件        


顾名思义,PasswordField(密码字段)控件是用来进行密码输入的文本框控件。我们可以通过GUI.PasswordField()来进行该控件的显示。和普通文本框一样,该控件的返回值也是为String类型。


Paraments(参数):
position : Rect —— 用来密码字段在屏幕上的矩形位置(起点x坐标,起点y坐标,控件宽度,控件高度)
password : String —— 编辑的密码。这个函数的返回值应该赋回给字符串
maskChar : char —— 用于密码的字符遮罩。即,一般的我们都使用******来显示密码的
maxLength : int —— 控制字符串的最大长度,如果不设置,用户可以一直输入。
style : GUIStyle —— 该控件使用的样式。如果不设置,该控件将使用当前的GUISkin皮肤。

Returns(返回):
字符串类型——返回被编辑的密码

Description(描述):
创建一个文本框来给用户输入密码。

案例——制作一个简单的用户登录窗口。用户名为zuoyamin,密码为123

Login.cs
[csharp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class Login : MonoBehaviour {  
  5.       
  6.     private string userName;//用户名  
  7.     private string userPassword;//密码  
  8.     private string info;//信息  
  9.       
  10.     void Start ()   
  11.     {     
  12.         //初始化  
  13.         userName = "";  
  14.         userPassword = "";  
  15.         info = "";  
  16.     }  
  17.       
  18.     void OnGUI()  
  19.     {  
  20.         //用户名  
  21.         GUI.Label(new Rect(20,20,50,20),"用户名");  
  22.         userName = GUI.TextField(new Rect(80,20,100,20),userName,15);//15为最大字符串长度  
  23.         //密码  
  24.         GUI.Label(new Rect(20,50,50,20),"密  码");  
  25.         userPassword = GUI.PasswordField(new Rect(80,50,100,20),userPassword,'*');//'*'为密码遮罩  
  26.         //信息  
  27.         GUI.Label(new Rect(20,100,100,20),info);  
  28.         //登录按钮  
  29.         if(GUI.Button(new Rect(80,80,50,20),"登录"))  
  30.         {  
  31.             if(userName == "zuoyamin" && userPassword == "123")  
  32.             {  
  33.                 info = "登录成功!";  
  34.             }  
  35.             else  
  36.             {  
  37.                 info = "登录失败!";  
  38.             }  
  39.         }  
  40.     }  
  41. }  


将Login.cs绑定到Main Camera上,点击Play按钮。
   


五、TextArea控件                 

  
TextArea(文本区域)控件用来显示多行文本。使用GUI.TextArea()来绘制。其返回值也是String类型。



Parameters(参数):
position : Rect —— 在屏幕上的矩形位置(起点x坐标,起点y坐标,控件宽度,控件高度)
text : String —— 显示的编辑文本。这个函数的返回值应该赋回给字符串
maxLength : int —— 控制字符串的最大长度,如果不设置,用户可以一直输入。
style : GUIStyle —— 该控件使用的样式。如果不设置,该控件将使用当前的GUISkin皮肤。

Returns(返回):
字符串类型——返回被编辑的文本

Description(描述):
创建一个多行文本区域,用户可以编辑文本。

案例——用TextArea来显示一首诗

TextArea.cs
[csharp]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. using UnityEngine;  
  2. using System.Collections;  
  3.   
  4. public class TextArea : MonoBehaviour {  
  5.   
  6.     private string info;  
  7.     void Start ()   
  8.     {  
  9.         info = " 悯农-李绅 \n锄禾日当午,\n汗滴禾下土。\n谁知盘中餐,\n粒粒皆辛苦。";  
  10.     }  
  11.       
  12.     void OnGUI()  
  13.     {         
  14.         GUI.TextArea(new Rect(20,20,90,100),info);  
  15.     }  
  16. }  
将TextArea.cs绑定到Main Camera上,点击运行按钮。


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值