Menu
CoddyTech

Repaso: ventana emergente de logro

Parte de la sección Arquitectura de juegos en Unity del Journey de Unity de Coddy. Lección 14 de 50.

challenge icon

Desafío

Fácil

Hay monedas por el patio, y las flechas mueven al jugador (Player.cs, listo). Dale al juego logros que aparezcan en pantalla. Escribe tres scripts; la escena ya enlaza sus campos y conecta la lista On Unlocked (String) de Achievements con AchievementPopup.Show en el HUD.

  • Collector (en el Player) recoge todos los objetos etiquetados como Coin que toca, los elimina y anuncia el nuevo total mediante un evento público de C# OnCoinsChanged que pasa un int. No sabe nada sobre los logros.
  • Achievements escucha a su collector mientras está activo, y solo entonces. Con 1 moneda desbloquea First Coin, con 3 Pocket Money y con 6 Coin Hoarder. Cada desbloqueo invoca su campo UnityEvent onUnlocked, que pasa el título (una cadena).
  • AchievementPopup.Show(string title) muestra panel, con titleText mostrando Unlocked: First Coin, y lo oculta showTime (2) segundos después. Si se llama a Show mientras el panel está visible, muestra el título nuevo y los 2 segundos empiezan de nuevo.

Pulsa Play, recoge las seis monedas y luego pulsa Check.

Pruébalo tú mismo

using UnityEngine;

public class Achievements : MonoBehaviour
{
    public Collector collector;
}

Todas las lecciones de Arquitectura de juegos en Unity