Unity中如何将玩家输入变量显示到文本对象中?
实现Unity输入内容显示到文本对象的方法
步骤1:添加并关联Text组件
- 在场景中创建一个Text对象(右键UI → Text),用于展示欢迎文本。
- 修改你的
ReadInput脚本,添加公共的Text变量,方便在Inspector面板关联文本对象:using UnityEngine; using UnityEngine.UI; // 必须引入UI命名空间 public class ReadInput : MonoBehaviour { private string input; public Text welcomeText; // 绑定显示欢迎信息的Text组件 void Start() { // 可选:初始化默认提示文本 if(welcomeText != null) welcomeText.text = "欢迎,请输入你的姓名"; } public void ReadStringInput(string s) { input = s; Debug.Log(input); // 更新文本内容为欢迎格式 if(welcomeText != null) welcomeText.text = $"欢迎,{input}"; } }
步骤2:关联Input Field的触发事件
- 选中你的legacy Input Field对象,在Inspector面板找到On Value Changed或End Edit事件:
On Value Changed:玩家输入时实时更新文本End Edit:玩家按下回车或输入框失去焦点时更新文本
- 点击事件栏的
+号,将挂载了ReadInput脚本的对象拖入对象槽,然后在下拉菜单选择ReadInput → ReadStringInput(string),完成输入内容的传递绑定。
额外说明
- 如果使用TextMeshPro替代默认Text,只需将
public Text welcomeText改为public TMPro.TMP_Text welcomeText,并引入TMPro命名空间,代码逻辑保持不变。 - 确保Inspector面板中
welcomeText已正确拖入对应的文本对象,避免空引用报错。
内容的提问来源于stack exchange,提问作者Exclamation Studios
相关产品推荐
相关产品推荐

