Buenas y Feliz año!
Mi duda es la siguiente, quiero guardar la tecla pulsada en una variable, ¿es esto posible?
Se que con el UI se puede hacer un recuadro para entrada de teclado, pero no es esto lo que quiero hacer.
Mi idea es ir guardando los caracteres ingresados en variables y luego aplicarlos a un 3d Text.
Pensé en hacer una serie de If para ir comprobando todas las teclas y números, o sea, cada vez que se pulsa una tecla comprobar las 39 posibilidades por medio de If... en plan If( Input.GetKey.......) Sé que así va a funcionar, pero no parece lo más optimo, supongo que tiene que existir alguna función o algo que permita hacerlo más fácil.
Un saludo y muchas gracias!
Buenas.
Prueba con esto:
https://docs.unity3d.com/ScriptReference/Input-inputString.html
Salu2...
Muchas gracias EX es exactamente lo que estaba buscando. Acabo de probarlo a groso modo y va perfecto:
string entradaTexto;
public string TextoGuardado;
void Update () {
entradaTexto = Input.inputString;
TextoGuardado += entradaTexto;
}
}
Ahora a currarlo un poco más para que haga lo del backspace y listo.
Muchas gracias!!!
Vale, este es el código que permite ingresar caracteres por teclado y borrarlos con backspace si queremos. Esto para mi era lo difícil, ahora lo aplicaré a un texto 3d para que mole más.
string entradaTexto;
public string TextoGuardado;
void Start () {
}
void Update () {
if (Input.GetKeyDown(KeyCode.Backspace) && TextoGuardado.Length > 0)
{
TextoGuardado = TextoGuardado.Remove(TextoGuardado.Length-1, 1);
}
else
{
entradaTexto = Input.inputString;
TextoGuardado += entradaTexto;
}
}
El código ya aplicado a un texto 3d, y con un pequeño arreglo para que sea más eficiente:
string entradaTexto;
public string TextoGuardado;
TextMesh miTexto3d;
void Start () {
miTexto3d = GetComponent<TextMesh>();
}
void Update () {
if (Input.anyKeyDown)
{
if (Input.GetKeyDown(KeyCode.Backspace) && TextoGuardado.Length > 0)
{
TextoGuardado = TextoGuardado.Remove(TextoGuardado.Length - 1, 1);
}
else
{
entradaTexto = Input.inputString;
TextoGuardado += entradaTexto;
}
miTexto3d.text = TextoGuardado;
}
}