Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

351
Vistas
Problema al guardar monedas en Unity con PlayerPrefs

Estoy usando PlayerPrefs para guardar las monedas recolectadas en cada nivel. En un juego de diferencias, cuando se encuentra un elemento, el jugador obtiene una moneda y se guarda con PlayerPrefs. Y ese valor de la moneda se usa para mostrar en la pantalla de selección de nivel. El problema es que cuando terminé el nivel por primera vez, mostraba las monedas recolectadas en la pantalla de selección de nivel, cuando lo terminé un par de veces, el valor en la pantalla de selección de nivel permaneció igual, las monedas no sumaron:

Aquí está mi script donde guardo monedas con PlayerPrefs:

 if (result.collider.CompareTag("Images")) { Debug.Log("Hit"); result.collider.enabled = false; tmpCircle = Instantiate(krug1); tmpCircle.SetActive(true); tmpCircle.transform.SetParent(canvas.transform, true); tmpCircle.transform.position = new Vector3(result.point.x, result.point.y, result.point.z); tmpCircle.transform.localScale = new Vector3(transform.localScale.x * 2f, transform.localScale.y * 2f, transform.localScale.z); circle.Play("CircleAnim"); score += 1; diff -= 1; coins += 1; score1.text = " " + score; PlayerPrefs.SetInt("Coins", coins); PlayerPrefs.Save(); item.Play(); }

Y aquí está el script donde muestro las monedas en la pantalla de selección de nivel:

 void Start() { coins.text = PlayerPrefs.GetInt("Coins", 0).ToString(); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

A menos que esté en otra parte de su código, está configurando sus monedas con cada ejecución del nivel sin leerlo primero. Cada vez que comience el nivel, primero debe leer los datos de la moneda o se anulará.

Al comienzo del nivel debe incluir

 void Start() { coins= PlayerPrefs.GetInt("Coins", 0); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda