NGUI中的UIInput的使用_ngui uiinput-CSDN博客https://blog.csdn.net/MonoBehaviour/article/details/78423299?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171023629716800180684601%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171023629716800180684601&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-78423299-null-null.142%5Ev99%5Epc_search_result_base4&utm_term=uiinput&spm=1018.2226.3001.4187
目录
一、UIInput是什么
二、UIInput的应用
三、UIInput的使用以及其各项属性
1.添加脚本组件
2.代码声明
3.各项属性
4.代码细节
一、UIInput是什么
UIInput(用户界面输入)通常指的是用于在用户界面中接收用户输入的元素。在Unity中,UIInput通常以Input Field的形式存在,它允许用户在游戏中输入文本或数字等信息。
二、UIInput的应用
-
文本输入: UIInput主要用于接收用户的文本输入。用户可以在输入字段中键入文本,这些文本通常用于游戏中的各种目的,比如玩家名称、密码、聊天消息等。
-
数字输入: 除了文本,UIInput也可以用于接收数字输入。您可以配置输入字段以仅接受数字,并可以设置输入字段的最小和最大值。
-
多行文本: UIInput可以配置为允许多行文本输入,这对于用户输入长文本或多行消息很有用。
-
密码输入: UIInput可以配置为接收密码输入。在这种情况下,用户输入的文本将被隐藏,通常以“*”或其他字符代替。
-
输入验证: 您可以通过脚本编程来验证用户的输入。这可以包括验证文本是否符合特定格式、是否是有效的电子邮件地址等。
-
事件处理: UIInput可以发送事件,以便在用户输入时触发相应的操作。例如,在用户完成输入时触发事件,可以执行保存数据或处理文本的操作。
-
自定义样式: 您可以在Unity的Inspector面板中调整UIInput的外观,包括背景、边框、字体、文本颜色等。这使得您可以根据游戏的需求自定义输入字段的外观。
三、UIInput的使用以及其各项属性
1.添加脚本组件
单击笔记(二)中提到的Add Component,给Label物体添加Input Field
2.代码声明
在代码中表现为
public UIInput inputLabel;
3.各项属性
Label(标签): InputField的文本标签,显示在InputField之前,用于标识输入字段的用途或内容。
Starting Value(初始值): InputField的初始值,即在用户输入之前显示在输入字段中的默认文本或数字。
Saved As(保存为): 这是指定输入字段的值将被保存为哪个变量的属性。在使用该InputField获取用户输入后,可以将输入的值保存到指定的变量中。
Active Text Color(活动文本颜色): 当输入字段处于活动状态(用户正在编辑文本时)时,文本显示的颜色。活动状态指的是用户正在编辑该输入字段,光标正在输入文本时的状态。活动文本颜色是用户输入时看到的文本的颜色。
Inactive Color(非活动颜色): 当输入字段处于非活动状态(用户不在编辑该字段时)时,文本显示的颜色。非活动状态指的是用户不在编辑该输入字段时的状态。非活动颜色是当输入字段未被激活时显示的文本颜色。
Caret Color(光标颜色): 光标是指示用户当前正在编辑的文本位置的垂直竖线或闪烁的标志。Caret Color是光标的颜色,它指定了光标在文本中的位置,并且通常与文本颜色有所区别,以便用户能够清晰地看到光标的位置。
Select Color(选中颜色): 当InputField被选中(获取焦点)时的背景颜色。通常用于指示用户当前正在输入的字段。
Input Type(输入类型): 指定输入字段接受的类型,比如文本、整数、浮点数等。不同的输入类型可以限制用户输入的内容。
validation(验证规则): 指定用户输入的验证规则。通过设置验证规则,您可以确保用户输入的内容符合特定的格式或条件。这有助于确保数据的完整性和准确性,并提供更好的用户体验。
-
None(无): 不执行任何验证,允许用户输入任何类型的文本。
-
Integer(整数): 验证用户输入是否为整数。如果输入不是整数,则会显示错误。
-
Decimal(浮点数): 验证用户输入是否为浮点数(即带有小数点的数字)。如果输入不是浮点数,则会显示错误。
-
Alphanumeric(字母数字): 验证用户输入是否只包含字母和数字。如果输入包含其他字符,则会显示错误。
-
Email Address(电子邮件地址): 验证用户输入是否符合电子邮件地址的格式。如果输入不是有效的电子邮件地址,则会显示错误。
-
Custom(自定义): 可以编写自定义脚本来定义特定的验证规则。
Keyboard Type(键盘类型): 这是指定在移动设备上打开键盘时的键盘类型,例如默认键盘、数字键盘、电子邮件键盘等。这可以根据输入字段的内容类型进行调整。
Validation(验证): 这是指定输入字段中文本的验证规则。例如,可以验证文本是否是整数、浮点数、电子邮件地址等。
Character Limit(字符限制): 这是指定输入字段允许的最大字符数。超过此限制的字符将无法输入。文章来源:https://www.toymoban.com/news/detail-843210.html
4.代码细节
以int为例文章来源地址https://www.toymoban.com/news/detail-843210.html
/// <summary>
///UIInput.cs
/// </summary>
public class UIInput : MonoBehaviour
{
//UIInput中注册有onChange事件
public List<EventDelegate> onChange = new List<EventDelegate>();
}
//监听inputLabel的onChange动作
EventDelegate.Add(this.inputLabel.onChange, OnLabelUpdate);
private void OnLabelUpdate()
{
int num;
string inputString = inputLabel.value;//获取输入的string值
int.TryParse(inputString, out num);//更安全
string formatedString = inputString;
if (string.IsNullOrEmpty(inputString))
{
formatedString = "0";
}
num = Mathf.Clamp(num, 0, _maxSoldierSetoutCount);//这里限制了num的范围
formatedString = num.ToString();
if (!formatedString.Equals(inputString))
{
inputLabel.value = formatedString;
}
_currentUseSoldierCount = num;//当前需要显示的数值
CheckReduceAndAdd();//刷新页面
}
到了这里,关于Unity基础知识笔记(三)——NGUI中的UIInput的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!