那么如何获取Input字段(文本框)或Unity3D
内的文本值以下是我在c#
中尝试的内容public void UserInput (string UserInput)
{
UserName = UserInput;
}
public void PassInput (string PassInput)
{
Password = PassInput;
}
在Unity中,我把它放了。 http://gyazo.com/b90e2d05b806b0fde90122e7a2302463
请帮助。谢谢!
答案 0 :(得分:1)
它不起作用,因为你实际上并没有调用InputField。获得该值的正确方法是
public void UserInput(InputField userField)
{
string username = userField.text;
}
public void PassInput (InputField passField)
{
string password = passField.text;
}
当然这样你必须传递InputField作为参数,如果你只需要这个方法来为字符串赋值,你就可以将InputField.text作为参数传递。
要使您的设置正常工作,您必须分配" Scripts"到对象并在编辑器中拖动该对象(拖动脚本的位置)。您还需要稍微修改一下您的功能,如下所示:
using UnityEngine.UI;
[SerializeField] private InputField _userField;
[SerializeField] private InputField _passField;
// Other code.
public void UserInput()
{
string username = _userField.text;
// Code that uses the username variable.
}
public void PassInput ()
{
string password = _passField.text;
// Code that uses the password variable.
}
这样你就可以将InputFields从场景层次结构拖到" Scripts"对象直接在编辑器中。
希望这有帮助!
答案 1 :(得分:0)
更简洁地说,要访问InputText的Text子游戏对象,你必须访问InputText的文本var
示例
using UnityEngine.UI; public InputText inputtext; void Start(){ inputtext.text = "replaced"; }
通过拖动所需输入字段的实例来分配inputtext。
答案 2 :(得分:-1)
尝试使用:inputField.text,inputField.value