如何获取值 Unity3D InputField GUI

How to get value Unity3D InputField GUI

那么如何获取输入字段(文本框)或 Unity3D 中的文本值

这是我在 c# 中尝试的方法

public void UserInput (string UserInput)
{
    UserName = UserInput;
}

public void PassInput (string PassInput)
{
    Password = PassInput;
}

我在 Unity 中放了这个。 http://gyazo.com/b90e2d05b806b0fde90122e7a2302463

请帮忙。谢谢!

尝试使用:inputField.text、inputField.value

它不起作用,因为您实际上并未调用 InputField。获得该值的正确方法是

public void UserInput(InputField userField)
{
    string username = userField.text;
}

public void PassInput (InputField passField)
{
    string password = passField.text;
}

当然像这样你必须传递InputField作为参数,如果你只需要这个方法给一个字符串赋值你可以只传递InputField.text作为参数。

要使您的设置正常工作,您必须将“脚本”分配给一个对象并将该对象拖到编辑器中(您在其中拖动脚本)。您还必须稍微修改您的功能,如下所示:

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”对象。

希望对您有所帮助!

简而言之,要访问 InputText 的 Text 子游戏对象,您必须访问 InputText 的文本变量

示例

using UnityEngine.UI;

public InputText inputtext; 

void Start(){
   inputtext.text = "replaced";
} 

通过拖动所需输入字段的实例来分配输入文本。