【unity游戏开发入门到精通——UGUI】文本输入控件 —— InputField旧控件

注意:考虑到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,如果学习过程中遇到任何问题,也欢迎你评论私信找我。

赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章中存在错误或者有更好的解决方法,也欢迎评论私信告诉我哦!
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/78787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

获得ecovadis徽章资格标准是什么?ecovadis评估失败的风险

EcoVadis徽章资格标准 EcoVadis徽章是对企业在可持续发展&#xff08;环境、劳工与人权、商业道德、可持续采购&#xff09;方面表现的认可。获得徽章需满足以下条件&#xff1a; 完成评估&#xff1a; 企业必须完成EcoVadis的问卷评估&#xff0c;并提交所有必要文件。 评分…

Python初学 有差异的知识点总结(一)

目录 一、基础语法规则 1.注释 2.代码编写 二、基础语法 1.变量 2.数据类型 3.数据类型的转换 &#xff08;1&#xff09;隐式转换 &#xff08;2&#xff09;显示转换 4.标识符 5.运算符 6.字符串 &#xff08;1&#xff09;定义 &#xff08;2&#xff09;拼接 …

Java面试场景深度解析

Java面试场景深度解析 在互联网大厂Java求职者的面试中&#xff0c;经常会被问到关于Java项目中的各种技术场景题。本文通过一个故事场景来展示这些问题的实际解决方案。 第一轮提问 面试官&#xff1a;马架构&#xff0c;欢迎来到我们公司的面试现场。请问您对Java内存模型…

【数据可视化艺术·应用篇】三维管线分析如何重构城市“生命线“管理?

在智慧城市、能源管理、工业4.0等领域的快速发展中&#xff0c;地下管线、工业管道、电力通信网络等“城市血管”的复杂性呈指数级增长。传统二维管理模式已难以应对跨层级、多维度、动态变化的管线管理需求。三维管线分析技术应运而生&#xff0c;成为破解这一难题的核心工具。…

Spring-全面详解(学习总结)

一&#xff1a;概述 1.1 为什么学 解决了两个主要问题 1. 2 学什么 1.3 怎么学 二&#xff1a;系统架构 作用&#xff1a;web开发、微服务开发、分布式系统开发 容器&#xff1a;用于管理对象 AOP:面向切面编程&#xff08;不惊动原始程序下对其进行加强&#xff09; 事…

企业架构之旅(2):解锁TOGAF ADM

文章目录 一、什么是 TOGAF ADM二、TOGAF ADM 的关键阶段架构愿景&#xff08;Phase A&#xff09;业务架构&#xff08;Phase B&#xff09;信息系统架构&#xff08;Phase C&#xff09;技术架构&#xff08;Phase D&#xff09;机会与解决方案&#xff08;Phase E&#xff0…

MySQL 中 SQL 语句的详细执行过程

MySQL 中 SQL 语句的详细执行过程 当一条 SQL 语句在 MySQL 中执行时&#xff0c;它会经历多个阶段的处理。下面我将详细描述整个执行流程&#xff1a; 1. 连接阶段 (Connection) 客户端与 MySQL 服务器建立连接服务器验证用户名、密码和权限连接器负责管理连接状态和权限验…

ETL架构、数据建模及性能优化实践

ETL&#xff08;Extract, Transform, Load&#xff09;和数据建模是构建高性能数据仓库的核心环节。下面从架构设计、详细设计、数据建模方法和最佳实践等方面系统阐述如何优化性能。 一、ETL架构设计优化 1. 分层架构设计 核心分层&#xff1a; 数据源层&#xff1a;对接O…

快速上手Prism WPF 工程

1、Prism 介绍 ​定位​&#xff1a; Prism 是 ​微软推出的框架&#xff0c;专为构建 ​模块化、可维护的复合式应用程序​ 设计&#xff0c;主要支持 WPF、Xamarin.Forms、UWP 等平台。​核心功能​&#xff1a; ​模块化开发​&#xff1a;将应用拆分为独立模块&#xff0c…

React 单一职责原则:优化组件设计与提高可维护性

单一职责原则&#xff08;SRP&#xff09; 在 React 中&#xff0c;组件是构建 UI 的核心单位&#xff0c;而良好的组件设计是保证应用质量和可维护性的关键。单一职责原则是一种设计原则&#xff0c;也适用于 React 组件的开发。它强调每个组件应该只关注一个职责&#xff0c…

css网格布局Grid

一、网格布局适应场景 当涉及到的布局是二维布局&#xff08;元素不止一行或者一列&#xff09;且比较复杂的时候&#xff0c;可以用网格布局&#xff0c;看下面的一个例子&#xff1a; 上图上一个四行三列的网格&#xff0c;布局相对比较复杂。如果你用别的布局方案&#xff…

利用Python生成Xilinx FPGA ROM IP核 .coe初始化文件

以下是一个 Python 脚本&#xff0c;用于生成 Xilinx IP ROM 的.coe 格式初始化文件&#xff0c;假设ROM 深度为 1024&#xff0c;数据位宽为 32bit&#xff0c;使用随机的 32 位无符号数进行初始化&#xff1a; import random# 定义ROM的深度和数据位宽 rom_depth 1024 data…

8.2 段落格式

在word里&#xff0c;段落格式包括首行缩进、行间距、段前、段后等。LaTex同样支持这些功能。 段落间距 全局设置 段落间距用setlength命令来指定。如以下代码 \documentclass{article} \usepackage{ctex} \begin{document}\setlength{\parskip}{11em plus 1em minus 1em}\p…

OpenVLA-OFT

TL;DR 2025 年斯坦福提出的 OpenVLA 工作的续作 OpenVLA-OFT&#xff0c;优化 VLA 能够有效适应新的机器人平台和任务&#xff0c;优化的技术主要有并行解码、动作块处理、连续动作、L1 回归和&#xff08;可选的&#xff09;FiLM 语言调节 Paper name Fine-Tuning Vision-La…

SpringBoot 接口国际化i18n 多语言返回 中英文切换 全球化 语言切换

介绍 Spring Boot通过MessageSource接口来实现国际化&#xff0c;它可以加载不同的消息资源文件&#xff0c;通常是.properties格式。通过定义不同的语言文件&#xff08;例如&#xff1a;messages_en.properties、messages_zh.properties等&#xff09;&#xff0c;可以根据用…

一个crackme例子

文件下载地址&#xff1a;https://download.csdn.net/download/m0_37567738/90713354 将cipher.txt文件内容解密后&#xff1a; 恭喜你解出了这一关&#xff0c;flag为 zjwa{36_23121136a28d0d15} 好了现在告诉你最后一层的获取方式&#xff0c; 在系统内找到 手机镜像的 ra…

账户解封无望?3步高效申诉取回亚马逊冻结资金

近年来&#xff0c;随着全球跨境电商市场的飞速扩张&#xff0c;亚马逊&#xff08;Amazon&#xff09;作为其中的巨头&#xff0c;持续强化其平台治理力度。然而&#xff0c;随之而来的是卖家账户因各种原因被冻结、关闭的事件频频发生。根据Marketplace Pulse发布的2024年第一…

【C++ Qt】快速上手 显⽰类控件(Label、LCDNumber、ProcessBar、CalendarWidget)

每日激励&#xff1a;“不设限和自我肯定的心态&#xff1a;I can do all things。 — Stephen Curry” 绪论​&#xff1a; 本文围绕Qt中常用的显示类控件展开&#xff0c;重点讲解了 QLabel&#xff08;文本/图片显示&#xff09;、QLCDNumber&#xff08;数字显示&#xff0…

从困局到破局的AI+数据分析

从困局到破局的AI数据分析 困局&#xff1a;数据分析的四道高墙破局&#xff1a;AI赋能全流程数据分析远见&#xff1a;AI数据分析的革命性意义 数据是新时代的石油&#xff0c;人工智能是炼油厂。当两者强强联合&#xff0c;一场数据分析的革命正悄然发生。 多少次你面对Excel…

IGH 汇川SV660N调试

EoE 目前的方式是将eoe 关闭, 这需要重新配置编译ec_master sudo ./configure --disable-8139too --enable-generic --enable-r8169 --disable-eoe --enable-coe[426163.348589] EtherCAT 0: Master thread exited. [426163.348592] EtherCAT 0: Stopping EoE thread. [426163.…