Menu
CoddyTech

Rückblick: Achievement-Popup

Teil des Abschnitts Spielarchitektur in Unity der Unity-Journey von Coddy. Lektion 14 von 50.

challenge icon

Aufgabe

Einfach

Im Hof liegen Münzen herum, und die Pfeile steuern den Player (Player.cs, fertig). Gib dem Spiel Errungenschaften, die auf dem Bildschirm eingeblendet werden. Schreibe drei Skripte; die Szene verknüpft ihre Felder bereits und verbindet die Liste On Unlocked (String) von Achievements mit AchievementPopup.Show auf dem HUD.

  • Collector (am Player) sammelt jedes Objekt auf, das mit Coin getaggt ist und es berührt, entfernt es und gibt die neue Gesamtzahl über ein öffentliches C#-Ereignis OnCoinsChanged bekannt, das einen int übergibt. Es weiß nichts über Errungenschaften.
  • Achievements hört auf seinen collector, solange es aktiv ist, und nur dann. Bei 1 Münze schaltet es First Coin frei, bei 3 Pocket Money und bei 6 Coin Hoarder. Bei jeder Freischaltung wird sein UnityEvent-Feld onUnlocked aufgerufen, das den Titel (einen String) übergibt.
  • AchievementPopup.Show(string title) zeigt panel an, wobei titleText Unlocked: First Coin anzeigt, und blendet es showTime (2) Sekunden später aus. Wird Show aufgerufen, während das Panel angezeigt wird, erscheint der neue Titel und die 2 Sekunden beginnen von vorn.

Drücke Play, sammle alle sechs Münzen und klicke dann auf Check.

Probier es selbst

using UnityEngine;

public class Achievements : MonoBehaviour
{
    public Collector collector;
}

Alle Lektionen in Spielarchitektur in Unity