第四十一章 Unity 输入框 (Input Field) UI

news2024/9/25 3:28:12

本章节我们学习输入框 (Input Field),它可以帮助我们获取用户的输入。我们点击菜单栏“GameObject”->“UI”->“Input Field”,我们调整一下它的位置,效果如下

我们在层次面板中发现,这个InputField UI元素包含两个子元素,一个是Placeholder,另一个是Text。如下所示

同样,我们查看它的检视面板,发现它拥有Image组件和Input Field组件。Image组件主要用来做输入框的背景,而Input Field组件才是核心所在。

我们简单介绍一下这些属性的含义。

Interactable是否可以输入,默认值可以输入。

Transition 输入框状态改变时候的切换效果,默认就是Color Tint颜色改变。

Target Graphic 就是输入框使用的图片源。

Normal Color 就是输入框默认状态的颜色。

Highlighted Color 就是输入框高亮颜色。

Pressed Color 就是输入框点击时的颜色

Selected Color 就是输入框选中时候的颜色

Disable Color 就是输入框失效时候的颜色

Color Multiplier 则是颜色乘数值,默认1即可。

Fade Duration 则是输入框颜色切换的时间(单位秒)。

其中以上属性与我们之前的Button的效果是一样的。

Navigation 和 Visualize 用于导航的设置,这里我们不设置。

接下来就是Text Component已经非常明显的指向了Hierarchy层次面板中的子游戏对象Text。然后下面的Text属性就代表了输入框Input Field的内容,由于是用户输入的,因此我们留空即可。Character Limit可在输入字段中输入的最大字符数的值。Content Type可以用来显示输入内容的格式,默认是Stanard标准,可以输入任意的字符文本。如果我们想要用户输入整数的话,可以选择Integer Number,当然还有其他的格式可以选择。Line Type,默认值为Single Line(单行),也就是用户只能输入一行文本。接下来就是Placeholder,它就对应了Hierarchy层次面板中子游戏对象Placeholder,它的作用就是“提示文本”。我们双击这个游戏对象,进入到子游戏对象Placeholder的检视面板页面。

说白了,这就是一个Text的UI元素而已,我们可以改变它的“Text”值。

接下来我们看输入框Input Field下面的“事件”相关的属性

On Value Change   输入框内文本内容发生变化时调用该“事件”。

On End Edit   用户完成文本内容的输入后调用该“事件”。

接下来,我们就在之前的“ClickEventScript.cs”脚本中添加两个方法对应上面的两个事件。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ClickEventScript : MonoBehaviour
{
    // 输入框元素上面的 InputField 组件
    private InputField inputField;

    void Start()
    {
        // 获取输入框UI元素上面的 InputField 组件
        inputField = GameObject.Find("InputField").GetComponent<InputField>();
    }

    public void testClick()
    {
        Debug.Log("点击了!");
    }

    public void testChange()
    {
        Debug.Log("Change:" + inputField.text);
    }

    public void testEnd()
    {
        Debug.Log("End:" + inputField.text);
    }
}

上面的代码非常简单,我们找到InputField这个游戏对象(UI元素)上面的InputField组件,然后在testChange和testEnd方法中打印输入框的值。那么接下来,我们就需要将这两个方法绑定到输入框的On Value Change事件和On End Edit 事件。

接下来,我们运行整个工程,然后在输入框中输入“你好”

 

On Value Change事件就不需要解释了,只要文本内容改变,就会触发该事件方法。对于On End Edit事件的触发,一般情况下是输入框失去光标焦点的时候,例如我们点击其他UI元素。当然,输入框的这两个事件我们可以根据自身情况来使用的。我们也完全可以不使用,可以点击Button的时候,直接获取输入框的文本内容也是可以的。

本课程涉及的内容已经共享到百度网盘:https://pan.baidu.com/s/1e1jClK3MnN66GlxBmqoJWA?pwd=b2id

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

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

相关文章

PMP项目管理-[第十章]沟通管理

沟通管理知识体系&#xff1a; 规划沟通管理&#xff1a; 10.1 沟通维度划分 10.2 核心概念 定义&#xff1a;通过沟通活动(如会议和演讲)&#xff0c;或以工件的方式(如电子邮件、社交媒体、项目报告或项目文档)等各种可能的方式来发送或接受消息 在项目沟通中&#xff0c;需要…

聊聊并发编程的12种业务场景

前言 并发编程是一项非常重要的技术&#xff0c;无论在面试&#xff0c;还是工作中出现的频率非常高。 并发编程说白了就是多线程编程&#xff0c;但多线程一定比单线程效率更高&#xff1f; 答&#xff1a;不一定&#xff0c;要看具体业务场景。 毕竟如果使用了多线程&…

用DevExpress WinForms富文本编辑器,集成高级文本编辑功能(一)

DevExpress WinForm富文本编辑器&#xff08;RTF编辑器&#xff09;控件允许用户将高级文本编辑功能集成到下一个WinForms项目中&#xff0c;它包括全面的文本格式选项、支持邮件合并&#xff0c;并附带了丰富的终端用户选项集&#xff0c;因此可以轻松交付受Microsoft word启发…

Linux本地套接字通信

1. 本地套接字 socket API原本为网络通信而设计&#xff0c;后来在其基础上扩展出本地套接字机制用于本地进程间通信。 本地套接字为全双工通信方式。 2. 本地套接字的使用 本地套接字通信步骤 &#xff08;1&#xff09;创建本地socket 本地套接字使用文件来标识&#xff0c;…

【JUC基础】04. Lock锁

1、前言 java.util.concurrent.locks为锁定和等待条件提供一个框架的接口和类&#xff0c;说白了就是锁所在的包。 2、什么是Lock Lock是一种锁机制&#xff0c;比同步块&#xff08;synchronized block&#xff09;更加灵活&#xff0c;同时也更加复杂的线程同步机制。在JDK…

Node.js,多环境配置

目录 1、多环境简介 2、多环境配置 3、命令运行 1、多环境简介 在前端项目的开发过程中&#xff0c;我们需要把项目发布到不同服务器环境中&#xff0c;例如&#xff0c;测试&#xff0c;生产&#xff0c;开发&#xff0c;预生产等环境。在这个我们需要对不同的环境设置不同…

函数的运用

函数的运用 一、函数的定义二、简单函数实验两个数字的运算&#xff1a;调用位置变量函数变量的作用范围 三、函数的递归阶乘递归目录 四、函数库 一、函数的定义 shell函数是经常使用的&#xff0c;因为有些命令序列是需要反复调用执行的&#xff0c;将命令序列按格式写在一起…

三分钟教你Mac下安装VmWare虚拟机

大数据课程课前环境准备&#xff1a;mac中安装三台linux服务器 一、课前准备 准备一台内存最少8G&#xff08;建议16G&#xff09;、cpu i7 4核的电脑 二、课堂主题 安装虚拟化软件VMware准备3台linux虚拟机 三、课堂目标 完成mac下3个虚拟机的安装 四、知识要点 文档说…

洗稿用什么软件-洗稿软件免费

洗稿文章的主要优势 洗稿文章的主要优势在于提高文章的质量和效率。以下是洗稿文章的几个主要优势&#xff1a; 优化结构和语言 洗稿可以删除冗余、无用和重复的内容&#xff0c;同时对文章的结构和语言进行优化&#xff0c;提高文章的可读性和吸引力。这可以使文章更加专业…

探索自然语言处理领域的最新进展与挑战

自然语言处理&#xff08;NLP&#xff09;是人工智能领域中最受关注的领域之一&#xff0c;它涉及计算机和人类语言之间的交互。NLP的应用范围非常广泛&#xff0c;包括机器翻译、语音识别、文本分类、情感分析等等。本文将介绍NLP的基本概念和入门知识&#xff0c;以帮助初学者…

一键安装k8s脚本

服务器配置 节点(华为云服务器)配置master 2vCPUs | 4GiB | s6.large.2 CentOS 7.8 64bit node1 2vCPUs | 8GiB | s6.large.4 CentOS 7.8 64bit node2 2vCPUs | 8GiB | s6.large.4 CentOS 7.8 64bit 1.master节点安装脚本&#xff1a;install_k8s_master.sh。 sh文件上传到…

Windows基于Docker安装Elasticsearch和 kibana笔记

Windows基于Docker安装Elasticsearch和 kibana笔记 一、Windows安装Docker1、Windows安装Docker要求2、Docker安装 二、基于Docker安装Elasticsearch1、安装Elasticsearch2、Elasticsearch的XPACK验证2.1、什么是Xpack2.2、Xpack相关安全配置介绍2.2.1、xpack.security.enabled…

系统分析师之系统测试与维护(十六)

目录 一、 测试与评审 1.1 测试类型 1.2 测试阶段 1.3 面向对象的测试 1.4 测试自动化 1.5 软件调试 1.6 软件评审 1.7 验收与确认 二、软件质量管理 2.1 软件过程改进-CMMI 2.2 软件开发环境与工具 三、系统运行与评价 3.1 系统转换计划 3.1.1 遗留系统演化策略…

C++——C/C++内存管理

0.关注博主有更多知识 C知识合集 目录 1.C/C内存分布 2.C内存管理方式 2.1new和delete操作内置类型 2.2new和delete对自定义类型操作 2.3new和delete一定要配套使用 2.4new和malloc对错误的处理方式 3.operator new和operator delete函数 3.1new和delete的实现原理 …

如何实现PLC为主站的开关量自组网无线通信?

本方案是基于Modbus RTU协议下实现的1主多从自组网无线通信形式&#xff0c;主站为S7-1200 PLC&#xff0c;DTD433H作为从站。DTD433H具备输入和输出开关量信号功能&#xff0c;信号传输方向由用户原系统主从设备所实现的功能决定。方案中采用无线开关量信号测控终端DTD433H与欧…

JAVA+SpringBoot框架+SaaS模式云HIS源码

HIS分系统&#xff08;HIS子系统&#xff09; 1、医院业务子系统功能 ▶门诊医生站主模块&#xff1a;包括门诊业务、家庭医生、公共卫生、医疗协同等子模块 &#xff08;1&#xff09;门诊业务功能简介&#xff1a; ①统计门诊收费明细、用药情况&#xff1b; ②可管理患…

UOS获取ROOT权限

UOS获取ROOT权限 1. 设置里可以看到开发者选项2. 设置里无法看到开发者选项 1. 设置里可以看到开发者选项 这个就按照网上的流程申请就好了 2. 设置里无法看到开发者选项 一般而言就是系统被修改过了&#xff0c;或者定制化了&#xff0c;可以通过下载一个uos的正常镜像来获…

维也纳国际酒店11家门店陆续开业,加速布局中高端酒店市场

2023年&#xff0c;中国旅游业迎来飞速复苏。据弗若斯特沙利文报告预计&#xff0c;2021至2025年&#xff0c;中高端连锁酒店将是整个酒店行业增长最快的细分市场。如何抓住市场复苏和行业增长双重机遇&#xff0c;成为酒店投资者和从业者面临的重要课题。 过去几年里&#xff…

基础语法——笔记一

一、基础语法 编码 源码文件以UTF-8编码&#xff0c;所有字符串都是Unicode字符串标识符 第一个字符必须是字母表中的字母或下划线_ 标识符的其他部分由字母、数字、下划线组成 标识符对大小写敏感python保留字&#xff08;关键字&#xff09; 不能用于任何标识符输出python标…

【Redis高级应用】多级缓存

文章目录 什么是多级缓存JVM进程缓存初识Caffeine实现JVM进程缓存需求实现 Lua语法入门初识LuaHelloWorld变量和循环Lua的数据类型声明变量循环 条件控制、函数函数条件控制案例 实现多级缓存安装OpenRestyOpenResty快速入门反向代理流程OpenResty监听请求编写item.lua 请求参数…