Podsumowanie: wyskakujące okno osiągnięcia
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 14 z 50.
Wyzwanie
ŁatwyMonety 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 tagiemCoin, 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.Achievementsnasłuchuje swojegocollectortylko wtedy, gdy jest aktywny. Po zebraniu 1 monety odblokowujeFirst Coin, po 3 —Pocket Money, a po 6 —Coin Hoarder. Każde odblokowanie wywołuje jego pole UnityEventonUnlocked, które przekazuje tytuł (ciąg znaków).AchievementPopup.Show(string title)wyświetlapanel, atitleTextpokazujeUnlocked: First Coin, po czym ukrywa go poshowTime(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
1Komponenty, nie hierarchie
Małe komponentyPodstawowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPodsumowanie: modułowa wieżyczka4Dane serializowane
Klasy serializowalneListy w InspectorzeWyliczenia w InspectorzePodsumowanie: tabela łupów10Projekt: Arena przetrwania
BohaterTypy wrogów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPodsumowanie: klawisz interakcji5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaFale jako danePowtórka: baza danych przedmiotów8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearest3Zdarzenia
Zdarzenia C# w UnitySubskrypcja w OnEnablePola UnityEventZdarzenia sterują interfejsemPodsumowanie: wyskakujące okno osiągnięcia6Zapisywanie za pomocą JSON
JsonUtilityZapisz gręWczytywanie i wartości domyślnePowtórka: sloty zapisu