Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

120
Visualizações
verifique 10 PlayerPrefs que está vacío y guarde

Codifiqué el siguiente código. Quiero verificar qué PlayerPrefs está vacío y guardar el texto del cuadro de entrada y luego mostrarlo en el texto de la interfaz de usuario.

 SaveTittlesText1.text=PlayerPrefs.GetString("1"); SaveTittlesText2.text=PlayerPrefs.GetString("2"); SaveTittlesText3.text=PlayerPrefs.GetString("3")

el problema es que Uitext3 muestra texto de Uitex2, por favor ayuda, quiero lograr esto en más de 10 PlayerPrefs

 if (PlayerPrefs.HasKey ("1") == false) { PlayerPrefs.SetString("1",InputsaveTittes.text.ToString()); PlayerPrefs.Save(); } else if (PlayerPrefs.HasKey ("1") == true) { PlayerPrefs.SetString("2",InputsaveTittes.text.ToString()); PlayerPrefs.Save(); } else if (PlayerPrefs.HasKey ("2") == false) { PlayerPrefs.SetString("2",InputsaveTittes.text.ToString()); PlayerPrefs.Save(); } else if (PlayerPrefs.HasKey ("2") == true) { PlayerPrefs.SetString("3",InputsaveTittes.text.ToString()); PlayerPrefs.Save(); }
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Realmente no entiendo ese caso de uso/lógica, pero te estás saltando un caso:

 if (PlayerPrefs.HasKey ("1") == false) { // sets 1 } else if (PlayerPrefs.HasKey("1") == true) // WHAT IF IT ALSO PlayerPrefs.HasKey ("2") == true here ? { // sets 2 } else if (PlayerPrefs.HasKey ("2") == false) // WILL NEVER BE REACHED { // sets 2 } else if (PlayerPrefs.HasKey ("2") == true) // WILL NEVER BE REACHED { // sets 3 }

¡sus dos últimos casos nunca serán alcanzados/comprobados en absoluto ya que sus dos primeros casos ya cubren todas las posibilidades!

deberías comprobar como por ejemplo

 if (!PlayerPrefs.HasKey ("1")) { PlayerPrefs.SetString("1", InputsaveTittes.text); } // already know that 1 is set since otherwise it would have entered the first case else if (!PlayerPrefs.HasKey ("2")) { PlayerPrefs.SetString("2", InputsaveTittes.text); } // Any other case -> this means 1 and 2 are already set else { PlayerPrefs.SetString("3", InputsaveTittes.text); } PlayerPrefs.Save();

o en bucles de uso general!

 // iterate over 1,2,3 for(var i = 1; i <= 3; i++) { // check if current index is already used if(!PlayerPrefs.HasKey(i)) { // if not set it PlayerPrefs.SetString(i.ToString(), InputsaveTittes.text); PlayerPrefs.Save(); // skip the rest of the loop break; } }

En realidad, sin embargo, preferiría simplemente tener otra entrada para almacenar el índice actual, especialmente si busca más elementos, como por ejemplo

 // defaults to 0 if there is no index yet -> first player will have index 1 var index = PlayerPrefs.GetInt("index", 0); // increase index by 1 index++; // store string to this new index PlayerPrefs.SetString(index.ToString(), InputsaveTittes.text); // also store the new index PlayerPrefs.SetInt("index", index); PlayerPrefs.Save();

al mismo tiempo PlayerPrefs.GetInt("index", 0); ahora también devolverá la cantidad de cadenas ya guardadas.


el problema es que Uitext3 muestra texto de Uitex2

Esto, sin embargo, parece que simplemente hizo referencia al mismo componente de Text en ambos campos SaveTittlesText2 y SaveTittlesText3 .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda