我正在学习有关如何使用 Unity3d 的教程,但我已经走进了死胡同。
我相信新版本的 Unity 中发生了一些变化,因为该教程似乎按照我的方式工作得很好。
我有一个输入字段 UI 组件,每次更改它时我都想调用 C# 函数。
根据教程,我只需使用输入字段(脚本)的“值更改”属性,并告诉它调用一些需要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
在这里:从输入字段获取文本
但是,是否有另一种方法可以使用 Unity3d 图形编辑器来完成此操作,而无需编写那么多代码呢?
是的,您可以通过检查器添加事件处理程序。选择InputField 游戏对象并向下滚动到检查器中InputField 部分的底部。单击 + 添加新的事件处理程序,然后选择要调用的接收游戏对象和方法。
使用该函数的动态字符串版本将输入字符串作为参数传递。静态参数回调允许您在检查器中设置函数参数,这在响应 InputField 更改时可能不是您想要的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)