Zadaj obrażenia wszystkim
Część sekcji Architektura gier w Unity ścieżki Unity w Coddy. Lekcja 52 z 64.
Wyzwanie
ŚredniNiech miecz rani wszystko, co można zranić, za pośrednictwem interfejsu.
- W
IDamageable.cszadeklarujvoid TakeDamage(int amount);. EnemyimplementujeIDamageable:TakeDamageodejmujeamountodhealthi niszczy przeciwnika, gdy wartość wynosi 0 lub mniej.- W
Hero.Swing()zastąp sprawdzanie tagu iDestroywyrażeniamihit.TryGetComponent(out IDamageable target)oraztarget.TakeDamage(swingDamage);.
Naciśnij „Graj” i zaatakuj mieczem Grunta: potrzeba dwóch ciosów. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
// W późniejszej lekcji uzupełnimy to: wszystko, co może odnieść obrażenia.
public interface IDamageable
{
}
Wszystkie lekcje w sekcji Architektura gier w Unity
1Komponenty, nie hierarchie
Małe komponentyBazowy skrypt przeciwnikaKomponenty abstrakcyjneWspółpracujące komponentyPowtórka: modułowa wieżyczkaPowtórka: podwójne działo4Dane serializowane
Klasy serializowalneListy w InspectorzeEnumy w InspectorzePodsumowanie: tabela łupówPodsumowanie: losowanie łupów7Maszyny stanów
Stany jako klasyStan alarmowyMaszyna stanówPrzejściaMózgi przeciwnikówAtaki rycerzaPodsumowanie: stany drzwi10Projekt: Arena przetrwania
BohaterRodzaje wrogów2Interfejsy w Unity
IDamageableInterfejsy i TryGetComponentGetComponentsPowtórka: klawisz interakcjiPowtórka: najbliższy w zasięgu5ScriptableObjects
Zasoby danychStatystyki broniWspółdzielone ustawieniaOcal wiatrFale jako danePowtórka: Baza przedmiotówPowtórka: Kupowanie w sklepie8Kod wielokrotnego użytku
Metody rozszerzająceGeneryczny singletonGeneryczne metody pomocniczePodsumowanie: FindNearestPoćwicz samodzielnie: Edytor online Unity