当前位置:   article > 正文

Unity基础知识笔记(三)——NGUI中的UIInput_ngui uiinput

ngui uiinput

NGUI中的UIInput的使用_ngui uiinput-CSDN博客icon-default.png?t=N7T8https://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的应用

  1. 文本输入: UIInput主要用于接收用户的文本输入。用户可以在输入字段中键入文本,这些文本通常用于游戏中的各种目的,比如玩家名称、密码、聊天消息等。

  2. 数字输入: 除了文本,UIInput也可以用于接收数字输入。您可以配置输入字段以仅接受数字,并可以设置输入字段的最小和最大值。

  3. 多行文本: UIInput可以配置为允许多行文本输入,这对于用户输入长文本或多行消息很有用。

  4. 密码输入: UIInput可以配置为接收密码输入。在这种情况下,用户输入的文本将被隐藏,通常以“*”或其他字符代替。

  5. 输入验证: 您可以通过脚本编程来验证用户的输入。这可以包括验证文本是否符合特定格式、是否是有效的电子邮件地址等。

  6. 事件处理: UIInput可以发送事件,以便在用户输入时触发相应的操作。例如,在用户完成输入时触发事件,可以执行保存数据或处理文本的操作。

  7. 自定义样式: 您可以在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(验证规则): 指定用户输入的验证规则。通过设置验证规则,您可以确保用户输入的内容符合特定的格式或条件。这有助于确保数据的完整性和准确性,并提供更好的用户体验。

  1. None(无): 不执行任何验证,允许用户输入任何类型的文本。

  2. Integer(整数): 验证用户输入是否为整数。如果输入不是整数,则会显示错误。

  3. Decimal(浮点数): 验证用户输入是否为浮点数(即带有小数点的数字)。如果输入不是浮点数,则会显示错误。

  4. Alphanumeric(字母数字): 验证用户输入是否只包含字母和数字。如果输入包含其他字符,则会显示错误。

  5. Email Address(电子邮件地址): 验证用户输入是否符合电子邮件地址的格式。如果输入不是有效的电子邮件地址,则会显示错误。

  6. Custom(自定义): 可以编写自定义脚本来定义特定的验证规则。

Keyboard Type(键盘类型): 这是指定在移动设备上打开键盘时的键盘类型,例如默认键盘、数字键盘、电子邮件键盘等。这可以根据输入字段的内容类型进行调整。

Validation(验证): 这是指定输入字段中文本的验证规则。例如,可以验证文本是否是整数、浮点数、电子邮件地址等。

Character Limit(字符限制): 这是指定输入字段允许的最大字符数。超过此限制的字符将无法输入。

4.代码细节

以int为例

  1. /// <summary>
  2. ///UIInput.cs
  3. /// </summary>
  4. public class UIInput : MonoBehaviour
  5. {
  6. //UIInput中注册有onChange事件
  7. public List<EventDelegate> onChange = new List<EventDelegate>();
  8. }
  1. //监听inputLabel的onChange动作
  2. EventDelegate.Add(this.inputLabel.onChange, OnLabelUpdate);
  1. private void OnLabelUpdate()
  2. {
  3. int num;
  4. string inputString = inputLabel.value;//获取输入的string值
  5. int.TryParse(inputString, out num);//更安全
  6. string formatedString = inputString;
  7. if (string.IsNullOrEmpty(inputString))
  8. {
  9. formatedString = "0";
  10. }
  11. num = Mathf.Clamp(num, 0, _maxSoldierSetoutCount);//这里限制了num的范围
  12. formatedString = num.ToString();
  13. if (!formatedString.Equals(inputString))
  14. {
  15. inputLabel.value = formatedString;
  16. }
  17. _currentUseSoldierCount = num;//当前需要显示的数值
  18. CheckReduceAndAdd();//刷新页面
  19. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/963841
推荐阅读
相关标签
  

闽ICP备14008679号