注意
:考虑到UGUI的内容比较多,我将UGUI的内容分开,并全部整合放在【unity游戏开发——UGUI】专栏里,感兴趣的小伙伴可以前往逐一查看学习。
文章目录
- 前言
- 1、文本输入控件
- 2、InputField旧文本输入控件组成
- 一、InputField文本输入组件参数相关
- 1、Interactable 交互
- 2、Transition 过渡
- 3、Navigation 导航
- 4、TextComponent 文本组件
- 5、Text 文本
- 6、Character Limit 字符限制
- 7、Content Type 内容类型
- 8、Line Type 行类型
- 9、Placeholder 占位符
- 10、Caret Blink Rate 光标闪烁频率
- 11、Caret Width 光标宽度
- 12、Custom Caret Color 自定义光标颜色
- 13、Selection Color 选择颜色
- 14、Hide Mobile Input 隐藏移动输入
- 15、Read Only 只读
- 16、ShouldActivateOnSelectv 应在选择时激活
- 17、OnValueChanged 值改变时
- 18、OnSubmit 提交时
- 19、 OnEndEdit 结束编辑时
- 二、InputField文本输入代码控制
- 三、InputField监听事件的两种方式
- 1、拖脚本监听事件
- 2、代码添加监听事件
- 专栏推荐
- 完结
前言
1、文本输入控件
文本输入控件是UGUI中用于处理玩家文本输入相关交互的关键组件。UGUI的文本输入控件可以分两为种——InputField旧文本输入控件、TextMeshPro-InputField新文本输入控件。
本文主要是介绍InputField旧文本输入控件。
2、InputField旧文本输入控件组成
默认创建的InputField由3个对象组成
- 父对象——InputField组件依附对象 以及 同时在其上挂载了一个Image作为背景图
- 子对象——Text (Legacy)文本显示组件(必备)、Placeholder默认显示文本组件(必备)。
一、InputField文本输入组件参数相关
这里很多参数都和前面button按钮控件一样的,就不再详细介绍了。
1、Interactable 交互
是否接受输入。
2、Transition 过渡
响应用户输入的过渡效果。
3、Navigation 导航
导航模式,可以设置UI元素如何在播放模式中控制器导航。
4、TextComponent 文本组件
用于关联显示输入内容的文本组件。默认自带关联的是自己的Text (Legacy)组件
5、Text 文本
输入框的起始默认值,当前文本输入的内容。
6、Character Limit 字符限制
可以输入字符长度的最大值。
7、Content Type 内容类型
输入的字符类型限制。
- Standard:标准模式,可以输入任何字符。
- Autocorrected:自动更正模式,跟踪未知单词,向用户建议合适的替换候选词。
- Integer Number:整数模式,用户只能输入整数。
- Decimal Number:十进制数模式,用于只能输入数字包括小数。
- Alphanumeric:字母数字模式,只能输入字母和数字。
- Name:名字模式,自动将每个单子首字母大写。
- Email Address:邮箱地址模式,允许最多输入一个@符号组成的字符和数字字符串。
- Password:密码模式,用星号隐藏输入的字符,允许使用符号。
- Pin:固定模式,用星号隐藏输入的字符,只允许输入整数。
- Custom:自定义模式,允许自定义行类型、输入类型、键盘类型和字符验证。
8、Line Type 行类型
定义文本格式。
- Single Line:只允许单行显示。
- Multi Line Submit:允许使用多行,仅在需要时使用新的一行。
- Multi Line NewLine:允许使用多行,用户可以按回车键换行。
9、Placeholder 占位符
关联用于显示初始内容文本控件。默认关联的是自己的Placeholder对象
可以在Placeholder占位符修改内容
10、Caret Blink Rate 光标闪烁频率
光标闪烁速率。
11、Caret Width 光标宽度
12、Custom Caret Color 自定义光标颜色
13、Selection Color 选择颜色
批量选中的背景颜色。
14、Hide Mobile Input 隐藏移动输入
隐藏移动设备屏幕上键盘,仅适用于iOS。
15、Read Only 只读
只读,不能改,输入没有任何作用。
16、ShouldActivateOnSelectv 应在选择时激活
17、OnValueChanged 值改变时
内容改变时执行的函数列表。
18、OnSubmit 提交时
内容提交时执行的函数列表。
19、 OnEndEdit 结束编辑时
结束输入时执行的函数列表。
二、InputField文本输入代码控制
获取InputField组件
InputField inputField = this.GetComponent<InputField>();
获取设置文本内容
// 打印输出 inputField 的文本内容
print(inputField.text);// 将 inputField 的文本内容设置为 "123123123123"
inputField.text = "123123123123";
三、InputField监听事件的两种方式
1、拖脚本监听事件
新增脚本,添加不同的函数,注意函数要有一个string类型的参数。
public void ChangeInput(string str)
{print("改变的输入内容" + str);
}
public void SubmitInput(string str)
{print("提交的输入内容" + str);
}
public void EndInput(string str)
{print("结束输入时内容" + str);
}
选择动态的函数。注意不要选错了。
对文本输入框的任何输入都会调用值改变时的事件,键盘点击回车就会触发提交时的事件,只要焦点不在文本输入框上就会调用结束编辑时的事件。
2、代码添加监听事件
新增脚本
using UnityEngine;
using UnityEngine.UI;public class NewMonoBehaviourScript : MonoBehaviour
{void Start(){InputField inputField = GetComponent<InputField>();// 给 inputField 的 onValueChanged 事件添加监听器,当输入框文本内容改变时触发inputField.onValueChanged.AddListener((str) =>{// 打印输出带有改变内容的消息print("代码监听 改变" + str);});//给 inputField 的 OnSubmit 事件添加监听器,当输入框文本内容提交时触发inputField.onSubmit.AddListener((str) =>{// 打印输出带有提交内容的消息print("代码监听 提交" + str);});// 给 inputField 的 onEndEdit 事件添加监听器,当输入框结束编辑时触发inputField.onEndEdit.AddListener((str) =>{// 打印输出带有结束输入内容的消息print("代码监听 结束输入" + str);});}
}
通过代码就不需要像前面一样手动绑定了,只要挂载前面编写的脚本
运行游戏即可
专栏推荐
地址 |
---|
【unity游戏开发入门到精通——C#篇】 |
【unity游戏开发入门到精通——unity通用篇】 |
【unity游戏开发入门到精通——unity3D篇】 |
【unity游戏开发入门到精通——unity2D篇】 |
【unity实战】 |
【制作100个Unity游戏】 |
【推荐100个unity插件】 |
【实现100个unity特效】 |
【unity框架/工具集开发】 |
【unity游戏开发——模型篇】 |
【unity游戏开发——InputSystem】 |
【unity游戏开发——Animator动画】 |
【unity游戏开发——UGUI】 |
【unity游戏开发——联网篇】 |
【unity游戏开发——优化篇】 |
【unity游戏开发——shader篇】 |
完结
好了,我是向宇
,博客地址:https://xiangyu.blog.csdn.net,如果学习过程中遇到任何问题,也欢迎你评论私信找我。
赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注
,你的每一次支持
都是我不断创作的最大动力。当然如果你发现了文章中存在错误
或者有更好的解决方法
,也欢迎评论私信告诉我哦!