Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

361
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!