如何在Unity3D输入字段UI组件中使用“On Value Change”

我正在学习如何使用Unity3d的教程,我已经走到了尽头。

我相信在较新版本的Unity中发生了一些变化,因为教程看起来像我正在做的那样工作得很好。

我有一个输入字段UI组件,我想在每次更改时调用C#函数。

根据教程,我只需要使用输入字段(脚本)的“On Value Change”属性,并告诉它调用一个以string作为参数的函数。

 public string playerName; public void setName (string name) { playerName = name; Debug.Log("Set playerName: "+name, gameObject); Debug.Log("Get playerName: "+playerName, gameObject); } 

然而,这没有任何作用,我的playerName属性它总是空的,我没有收到任何name

我该怎么做呢? 我在Start()函数中看到了一个设置监听器的答案,然后在这里使用UnityEvent : 从Input字段获取文本

但是有没有另一种方法可以使用Unity3d图形编辑器来完成这项工作,而不需要编写如此多的代码?

是的,您可以通过检查员添加事件处理程序。 选择InputField游戏对象,然后向下滚动到检查器中InputField部分的底部。 单击+添加新的事件处理程序,然后选择要调用的接收游戏对象和方法。

在此处输入图像描述

你的评论你刚刚说清楚了。 使用动态参数时,输入条目的值将传递给您的函数。 选择静态参数时,检查器中会显示一个新的输入框,您可以编写要接收的“静态参数”。

尚不确定这是如何有用的。 但它应该明确区别。