-4

我在 Unity3D 中将字符串类型转换为 UI 输入时遇到问题。我想从数据库中检索信息并将它们放在文本框中(UI 输入)

这是错误信息。(第一个错误)

“无法转换方法组 ToString' to non-delegate typeUIInput'。考虑使用括号来调用方法”

password = GameObject.Find ("tb_password").GetComponent <UIInput> ().ToString;
4

2 回答 2

1

您试图用字符串值覆盖标签,这会导致类型不匹配,实际上不是您想要的。您必须访问UIInput属性value,或者defaultValue如果您不想为用户提供默认值 - 无论如何根据您的代码您可能不想要它。

无论如何,如果您使用的是最新的 NGUI,您应该像这样更正您的代码:

UIInput username = GameObject.Find ("tb_username").GetComponent <UIInput> ();
UIInput password = GameObject.Find ("tb_password").GetComponent <UIInput> ();

if( username != null )
    username.value = DB.getName(LoginSystem.userNameStatic);
if( password != null )
    password.value = DB.getPassword ("password");

如果您正确找到具有您指定的这些名称的对象,那应该可以工作,否则它不会做任何事情。

于 2014-05-05T07:59:31.330 回答
0

您可以访问 NGUI 的输入小部件下的 UILabel 组件,而不是输入小部件根目录下的 UIInput 组件,并在标签中设置文本 (UILabel.text = "my text")。您还可以创建一个函数来更新标签文本并将文本作为该函数的参数传递。当您想要更新文本时调用该函数。

于 2014-05-12T13:00:14.950 回答