作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在学习如何使用 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
属性(property)它总是空的,我在 name
中没有收到任何东西。 .
我该怎么做呢?我在 Start()
中看到了设置监听器的答案函数,然后使用 UnityEvent
在这里:Get text from Input field
但是否有另一种方法可以使用 Unity3d 图形编辑器来完成此操作,而无需编写太多代码?
最佳答案
是的,您可以通过检查器添加事件处理程序。选择 InputField 游戏对象并向下滚动到检查器中 InputField 部分的底部。单击 + 添加新的事件处理程序,然后选择要调用的接收游戏对象和方法。
使用函数的动态字符串版本将输入字符串作为参数传递。静态参数回调让您可以在检查器中设置函数参数,这在响应 InputField 更改时可能不是您想要的。
关于c# - 如何在Unity3D Input Field UI组件中使用 "On Value Change",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29111321/
我是一名优秀的程序员,十分优秀!