Noticias

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

Capturar String de Inputfield(Resuelto)

Iniciado por ramunda, Septiembre 24, 2017, 03:48:45 PM

Tema anterior - Siguiente tema
Septiembre 24, 2017, 03:48:45 PM Ultima modificación: Septiembre 24, 2017, 10:45:22 PM por ramunda
Buenas tardes, agradecería por favor una mano en un pequeño problema que tengo.
 
Estoy terminando un proyecto y ahora me encuentro con esto...
 
La cosa es sencilla , tengo un simple inputfield el cual me deja insertar lo que quiera..
 
Lo que intento es capturar esa String en un playerpreff para luego usar ese texto en otra pantalla.
 
Prove esto;
 

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
 
public class Loguin : MonoBehaviour
{
public InputField insertarcodigo;
string codigo;
 
void Start()
{
   PlayerPrefs.SetString("Codigo",codigo);
   PlayerPrefs.Save();
}
void Update()
{
   if (Input.GetKeyDown ("space"))
   {
      codigo = insertarcodigo.text;
      PlayerPrefs.GetString ("Codigo");
      //Debug.Log ("El codigo es:" + codigo);
      Debug.Log ("El codigo es:" + PlayerPrefs.GetString ("Codigo"));
   }
}
}

 
pero nada, cuando llamo al pref GetString pensaba que me cojeria la string de codigo pero no.
 
si le llamo al debug directamente a la string(codigo), si me lo da pero lo que quiero es que me la guarde y no lo hace.
 
Agradecería una ayuda por favor, asi puedo terminar este proyecto. muchas gracias de antemano.
 
 
 
 
 
 
 
 

En ningún momento haces el SetString;
 

if (Input.GetKeyDown ("space"))
   {
      codigo = insertarcodigo.text;
      PlayerPrefs.SetString ("Codigo", codigo);
      //Debug.Log ("El codigo es:" + codigo);
      Debug.Log ("El codigo es:" + PlayerPrefs.GetString ("Codigo"));
   }

 
 

Hola! No estás guardando el string "codigo", recuerda que el Start es llamado antes que el primer Update por lo que cuando guardas el código en realidad estás guardando una variable vacía, lo que tienes que hacer es llamar el "SetString" después de "codigo = insertarcodigo.text;"

Amigos muchísimas gracias, que ciego estoy, lo comprendo perfectamente.
 
#Leocub58
 
#juanma_teso
 
Las dos respuestas son geniales, gracias por la rapidez y la ayuda.
 
La cosa ha quedado asi y parece que funciona:
 

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Collections.Generic;
 
public class Loguin : MonoBehaviour
{
public InputField insertarcodigo;
public string codigo;
 
void Start()
{
//      codigo = insertarcodigo.text;
//      PlayerPrefs.SetString("Codigo",codigo);
//      PlayerPrefs.Save();
}
void Update()
{
   codigo = insertarcodigo.text;
   PlayerPrefs.SetString("Codigo",codigo);
   PlayerPrefs.Save();
   if (Input.GetKeyDown ("space"))
   {
      
      PlayerPrefs.GetString ("Codigo");
      Debug.Log ("El codigo es:" + PlayerPrefs.GetString ("Codigo"));
   }
}
}

 
Si voy bien os agradecería que me lo indicaseis .
 
Gracias!!
 
 
 
 
 
 

Etiquetas: