unity3d - 在 Unity 中访问 TM Pro InputField 文本
问题描述
我已经为此努力了好几个小时,但似乎无处可去,因此非常感谢您的帮助。我在 Unity 中创建了一些 TextMeshPro UI InputFields,在用户输入内容后似乎无法访问文本。当它是一个普通的 InputField 但不是 TM Pro 版本时,我可以做到这一点。我已经创建了一个 TMP_InputField 类型的 Serializefield,我已经将它连接到了检查器中(也包括使用 TMPro 命名空间)。有人可以概述将文本转换为变量所需的步骤,因为我很难过!该脚本当前位于不同的 GameObject 上。我有一个名为 theFields 的 TMP_InputField 类型的数组,当我调试 theFields[0].name 时,它似乎工作正常(使用 FindObjectsOfType<>)但是当我尝试只访问特定字段时。text 它在游戏期间尝试编辑字段时会引发空引用反对。非常欢迎任何教程/支持!
解决方案
您是否尝试过 TMP_InputField 的 Inspector 上的 UnityEvents 字段?
我做了一个简单的脚本,它结合了 TMP_InputField
using UnityEngine;
public class InputfieldListener : MonoBehaviour
{
public void OnChangedInputField(string input)
{
Debug.Log("[OnChangedInputField] " + input);
}
public void OnEndedInputField(string input)
{
Debug.Log("[OnEndedInputField] " + input);
}
public void OnSelectedInputField(string input)
{
Debug.Log("[OnSelectedInputField] " + input);
}
public void OnDeslectedInputField(string input)
{
Debug.Log("[OnDeslectedInputField] " + input);
}
}
然后你可以找到每个事件的日志。
仅供参考,创作者有一个youtube 频道,并且有一个相关的视频教程。
推荐阅读
- google-app-engine - 使用 CDN 服务的最佳方法
- java - 使用 JPA/Hibernate 加载对象时未访问 Kotlin 属性
- php - Laravel 5.8中的belongsTo关系
- react-native - 错误:捆绑失败:错误:无法解析模块 react-native-gesture-handler
- javascript - 如何使 div 元素固定直到它到达其他 div
- android - 如何从父活动的片段中获取数据?
- ruby-on-rails - 调用一个新结构并列出所有访问器
- android - AndroidX MaterialButton 不显示样式
- flutter - Fluttter 中的半透明状态栏
- php - FPDI 从远程 url 解析 pdf 文件