Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Cambiar nombre de player desde un input field

Iniciado por Faragloch, Agosto 26, 2015, 11:00:47 PM

Tema anterior - Siguiente tema
hola de nuevo, tengo una pequeña duda:
tengo mi player, con una serie de características dentro de un script (vida, vida maxima, exp, etc) y entre ellas tengo la variable de "nombre", hasta ahí todo bien.
tengo un menú de juego también, mi pregunta es, como desde un input field puedo cambiar la variable de nombre del player? he estado intentando y buscando, pero solo logré cambiar el nombre al gameobject (intenté hacer que el valor de la variable fuera el mismo gameobject, pero al hacerlo aparecía "nombre (Unity.Engine.transform)", o algo así, de antemano muchísimas gracias:)

Pues entiendo que el inputfield generará eventos, no sé cuales y cual debe ser el de fin edición o algo así, asignale una función a ese evento y cambia la variable allí. O un boton de aplicar, evento OnClick y cambiar la variable allí.

Agosto 27, 2015, 01:52:21 AM #2 Ultima modificación: Agosto 27, 2015, 02:00:29 AM por DavidV
 Este es "prácticamente" el código que uso
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Cuenta : MonoBehaviour {

public InputField mainInputField;
 


void Start()
{
   mainInputField.text = "Player";
   mainInputField.text = PlayerPrefs.GetString ("Name");
}

public void Guardar()
{
   PlayerPrefs.SetString ("Name", mainInputField.text);
}

}
 El public void Guardar, se lo he asignado a un boton para Guardar el PlayerPrefs.Al llamar en cualquier escena del juego y desde cualquier script  a la "variable" nombre.Llama a: 
PlayerPrefs.GetString ("Name"); 
por Ejemplo quieres que el nombre se vea en la pantalla:
void OnGUI()
{
   GUI.Label (new Rect (Screen.width - 100, 0, 100, 50), ("") + PlayerPrefs.GetString ("Name"), Estilo);
}
Recuerda que en el inspector el Gameobject que tiene el código, debes añadir el InputField.

Estudiante Ing. Sistemas 



muchísimas gracias, sus comentarios fueron de mucha ayuda:)

Etiquetas: