2015-01-17 2 views
2

Так как я могу получить значение текста, который находится внутри поля ввода (текстовое поле) или Unity3DКак получить значение Unity3D InputField GUI

Вот что я пытался в C#

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

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

В Единство я положил это. http://gyazo.com/b90e2d05b806b0fde90122e7a2302463

Пожалуйста, помогите. Спасибо!

ответ

1

Это не работает, потому что вы на самом деле не вызывая InputField. Правильный способ получить это значение будет

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

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

Конечно, как это вы должны пройти InputField в качестве параметра, если вам нужен только этот метод, чтобы присвоить значение в строку, которую вы могли бы просто пройти InputField. текст как параметр.

Чтобы сделать работу с настройками, вы должны назначить «скрипты» объекту и перетащить этот объект в редакторе (там, где вы перетаскивали скрипты). Вы также должны немного изменить свои функции, например:

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

Попробуйте использовать: inputField.text, inputField.value

+1

Nope не сработал ... – Coderz

+0

yep, verified - .text не поддерживает назначение для ввода поля – ina

0

Помещенный более кратко, чтобы получить доступ к текстовому югу GameObject из InputText, вы должны получить доступ к текстовой вар из InputText

Пример

 
using UnityEngine.UI; 

public InputText inputtext; 

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

Присвоить inputtext путем перетаскивания экземпляра поля ввода вы хотите.