Menu
CoddyTech

Podsumowanie: wyskakujące okno osiągnięcia

Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 14 z 50.

challenge icon

Wyzwanie

Łatwy

Monety leżą na podwórku, a strzałki sterują graczem (Player.cs, gotowy). Dodaj do gry osiągnięcia, które pojawiają się na ekranie. Napisz trzy skrypty; scena ma już połączone ich pola i przypisane zdarzenie Achievements On Unlocked (String) do AchievementPopup.Show na HUD-zie.

  • Collector (na graczu) zbiera każdy dotknięty obiekt z tagiem Coin, usuwa go i ogłasza nową łączną liczbę za pomocą publicznego zdarzenia C# OnCoinsChanged, które przekazuje wartość int. Nie wie nic o osiągnięciach.
  • Achievements nasłuchuje swojego collector tylko wtedy, gdy jest aktywny. Po zebraniu 1 monety odblokowuje First Coin, po 3 — Pocket Money, a po 6 — Coin Hoarder. Każde odblokowanie wywołuje jego pole UnityEvent onUnlocked, które przekazuje tytuł (ciąg znaków).
  • AchievementPopup.Show(string title) wyświetla panel, a titleText pokazuje Unlocked: First Coin, po czym ukrywa go po showTime (2) sekundach. Jeśli Show zostanie wywołane, gdy panel jest widoczny, pokaże nowy tytuł, a odliczanie 2 sekund rozpocznie się od nowa.

Naciśnij Graj, zbierz wszystkie sześć monet, a następnie naciśnij Sprawdź.

Spróbuj swoich sił

using UnityEngine;

public class Achievements : MonoBehaviour
{
    public Collector collector;
}

Wszystkie lekcje w sekcji Architektura gier w Unity