Willkommen zurück, Meine Lieblingsspielentwickler.
Wie Sie sehen können, haben wir in diesem Video
etwas anderes.
Wir haben Wellen, aber diese Wellen sind nicht
nur reguläre Elemente oder reguläre Variablen.
Sie haben die Freundesvariablen in sich.
Und wir können eine weitere Welle und eine weitere Welle erzeugen.
Und wie Sie sehen können, hat jeder von
ihnen sein eigenes Element.
Willkommen im Bereich Advanced C-Sharp.
Verschwenden wir keine Zeit mehr und fangen wir an.
Aber ich brauche deine volle Konzentration,
deine volle Aufmerksamkeitsspanne und deinen Sturz.
Patienten bei mir.
Also lasst uns anfangen.
Oh, okay, jetzt, da wir unsere Zufallsstufen haben,
ist es an der Zeit, zufällige NME-Wellen zu erzeugen.
Wir werden also nicht einfach
die regulären Feinde hier drin haben.
Ich habe sie gerade im vorherigen Video eingerichtet
, damit wir wissen, was
die allgemeine Idee in jedem Level ist
und nur ein paar Unterschiede zwischen ihnen haben
.
Aber in diesem Video werden wir
einen feindlichen Spawner erschaffen.
Also lasst uns anfangen.
Das erste, was wir tun werden, ist
wir die Manager öffnen werden.
Und wir haben keine Manager hier drin.
Also werden wir zu einem von diesen gehen
, der keinen Manager hat, und das ist es.
Und was ich tun werde, ist, dass ich
ins Prefab gehe.
Wir haben hier einen Manager und ich füge nur
den gesamten Manager-Ordner hinzu, damit wir Manager zu jeder Szene hinzufügen können
, die wir benötigen.
Also gehe ich in
die Boss-Ebene, in der wir alle Manager hier haben.
Ja, das tun wir. Die Feiglinge.
Wir haben nicht die Manager oder
Prefab Manager und die Manager hier drin. Da sind wir los.
Jetzt haben wir das Spiellevel und deinen ganzen Manager.
Und lass uns zurückgehen und sehen.
Also retten die Feiglinge, ja, die Gesundheit.
Haben wir Manager?
Nein, tun wir nicht.
Also gehen wir wieder zu den Prefabs Prefabs Managers.
Und da sind wir los. Wir fügen die Manager zum Gesundheitsraum hinzu.
Mal sehen, was wir sonst noch haben das neue Wir haben
Manager top. Das tun wir nicht schon wieder.
Finde also die Manager dabei.
Und wenn du willst, kannst du diesen Teil einfach überspringen
und direkt zu dem gehen, den
du hier hast.
Aber das ist nicht das Prefab,
also werde ich das löschen.
Ich füge das
eigentliche Manager-Prefab
das in einem vorherigen hätte tun sollen.
Auch Szenen, was ist das für ein Shop?
Diese Kelly sieht, kein Manager.
Und die Manager.
Und Szenen Spikes, retten Manager.
Da sind wir los. Boss-Niveau.
Manager, die wir wollen.
Dies ist nicht der Manager, den Sie suchen.
Also sehen Feiglinge?
Ja, ja.
Ja, ja, ja.
Okay, großartig.
Überall wo wir jetzt Manager haben
, ist es an der Zeit, tatsächlich einen Spawner zu erschaffen.
Und der beste Ort, an dem ich glaube,
ist in diesen Kellys genau hier.
in diesem Fall
Gehen Sie in diesem Fall zum Level-Manager und lassen Sie uns fortfahren
und fügen Sie hier eine Komponente hinzu oder nein,
gehen wir in die Skripte ein.
Und wo sollen wir den Wave Spawner hinzufügen?
Und fügen wir es einfach in die Manager
hinzu, wir werden ein neues C-Sharp-Skript erstellen,
das der Wave-Spawner-Manager sein wird.
Drücken Sie Enter, wir haben gerade den Namen-Manager hinzugefügt.
Also haben wir wieder eine Entschuldigung für andere Top-Manager.
Also werde ich weitermachen und es dem Levelmanager hinzufügen.
Und hier drin öffne ich das Drehbuch.
Was wollen wir hier drin machen?
Wir wollen eine andere Klasse erstellen.
Warum wollen wir eine andere Klasse erstellen?
Nun, denn zuallererst
ist das fortgeschrittene C-sharp.
Zweitens wollen wir eine ganz andere Klasse für die Wellen schaffen,
eine ganz andere Klasse für
weil die Wellen
benannt haben, dass die Wellen Feinde haben,
die Wellen ein Gleichgewicht von Feinden haben,
die Verzögerung zwischen jedem Mal, wenn wir hervorgebracht haben ein Feind
und so weiter und so weiter.
Also hier drin werde ich
eine öffentliche Klasse schaffen.
Und es wird Welle genannt.
Und diese Welle wird ein paar Dinge haben.
Zuallererst wird es einen öffentlichen String-Namen haben.
Und offensichtlich wollen wir es nicht immer so öffentlich haben,
aber in diesem Fall,
nur damit wir ein bisschen Zeit sparen können, ohne
all die zusätzlichen Dinge schaffen zu müssen.
Wir werden sie öffentlich machen.
Dann haben wir ein öffentliches Spielobjekt
und eine Reihe von Feinden.
Was für eine Reihe von Feinden und ich ist. Da sind wir los.
Dann haben wir ein Publikum und
die Anzahl der Feinde, die spawnen werden.
Und schließlich haben wir eine Spawn-Verzögerung für den öffentlichen Float.
Da sind wir los. Dies sind also alle Elemente,
oder sagen wir der Teil der Welle,
alle Variablen innerhalb der Welle.
Wenn Sie diese Variable aufrufen möchten,
weil es sich um eine Klasse handelt,
ist das etwas ganz anderes.
Aber das ist nicht das einzige, was wir tun müssen.
Wir müssen auch darauf achten, dass dies hier oben
ein serialisierbarer Systempunkt ist.
Also speichern wir das.
Und was bedeutet serialisierbar?
Es bedeutet, dass Sie das sehen werden, wenn ich jetzt die Unity-Skripte öffne
, wenn ich jetzt die Unity-Skripte
.
Okay, nichts ist passiert.
Warum ist das so? Nun, weil wir
auch noch eine Sache machen müssen.
Und hier werden wir sagen, dass dies eine öffentliche Welle hat.
Wie Sie jetzt sehen können, haben wir eine völlig neue Klasse,
eine Reihe von Wellen.
Also speichern wir das.
Wenn wir jetzt wieder in Unity zurückkehren,
werden wir sehen, dass wir die Möglichkeit haben, Wellen zu erzeugen.
Und wenn ich hier nur eine Welle hinzufüge,
wirst du sehen, dass ich verschiedene Elemente für diese Welle habe.
Und ich kann ein Ziel haben, kann einen Betrag haben,
kann die Spawnverzögerung und die Feinde haben, die ich will.
Und wenn ich hier ein anderes Element hinzufüge,
wirst du feststellen, dass ich wieder
einen anderen Namen, verschiedene Feinde,
unterschiedliche Beträge und unterschiedliche Verzögerungen habe.
Wie Sie sehen können, wurde deshalb neu erstellt oder sichergestellt
, dass dies ein serialisierbarer Systempunkt ist.
Dies ermöglicht es uns, verschiedene Elemente davon zu erstellen
und ermöglicht es uns, diese Arten von Variablen zu
erstellen.
Im Grunde haben wir also eine neue Variable erstellt
, die verschiedene Variablen enthält.
Also lasst uns jetzt weitermachen, da wir all das haben,
ist das nächste, was wir tun müssen, offensichtlich weiterzumachen
und Welle für Welle zu überprüfen.
Das erste, was wir tun müssen, ist, dass wir hier ein privates Ende schaffen
und die nächste Welle zählen werden.
Und offensichtlich fangen wir bei 0 an.
Die erste Welle wird also 0 sein.
Und jedes Mal, wenn wir eine neue Welle mit einer neuen Anzahl von Feinden erzeugen
,
mit den neuen verschiedenen Arten von Feinden,
werden wir zur nächsten Welle gehen, indem wir sie um eins erhöhen.
Dann werden wir ein serialisiertes Feld schaffen, in dem
wir die Zeit zwischen den Wellen verfolgen werden.
Und lassen Sie es uns einfach auf fünf F als Standard setzen.
Und dann werden wir auch
die Wellenzahl im Auge behalten.
Also Float Wave, ich sage Wave Count,
ich meinte herunterzählen.
Okay, heb dir das auf.
Und jetzt, wenn wir anfangen, müssen wir den Wave-Countdown initialisieren
, um die Zeit zwischen den Wellen zu sein.
Und dann werden wir für später etwas tun
und haben nachgedacht,
aber jetzt wollen wir etwas auch als Extra haben.
Und ich denke, dies ist der perfekte Ort, um etwas oder etwas zu schaffen
, das wir bereits behandelt haben,
was eine Aufzählung ist.
Und warum wollen wir eine Enum erstellen?
Da Wellen in drei verschiedenen Staaten sein werden,
werden wir laichen.
Hier spawnen wir also jeden einzelnen,
ich kenne weder die Zeit noch die Verzögerung zwischen den Feinden.
Zum Beispiel spawnen wir alle zwei Sekunden einen neuen Feind.
Wir spawnen einen neuen Feind.
Derzeit wollen wir bestimmte Dinge nicht
mit unserem Wave Spawner Controller oder Manager machen.
Ich meine, also müssen wir verschiedene Staaten schaffen.
Was ich also tun werde, ist, dass ich
eine Herausforderung stellen werde.
Und Ihre Herausforderung besteht darin, eine Aufzählung für die verschiedenen Staaten zu schaffen
, die wir haben werden.
Wir haben also bereits Enums im Abholbereich behandelt.
Erstellen Sie also zunächst ein E-Not für
die verschiedenen Laichzustände, die das
die verschiedenen Laichzustände, die das Laichen, Warten und Zählen haben werden.
Und schließlich müssen Sie nur eine Variable dieses Typs erstellen
, damit wir sie als Referenz verwenden können.
Also pausiere das Video jetzt und mach jedes einzelne.
Oh, okay, willkommen zurück.
Wie ich dir schon sagte,
in einem der Pickups,
während der Abholabholung.
Abholung von Abholung, ein Doppelayer?
Nein. Gegenstand Dropper, Dope.
Wo war es? Wo war es?
Im oh, okay.
So haben wir im Shop-Artikel, wie Sie sehen können,
eine Aufzählung für die Wiederherstellung der Gesundheit, das Gesundheits-Upgrade und die Waffe erstellt
.
Und basierend auf jedem von diesen
haben wir eine Switch-Anweisung.
Wir werden fast genau das Gleiche tun.
Also hier drin werde ich eine private, private Enum erstellen.
Und das werden diese schlagenden Staaten sein.
Und wir werden die Bombardierung, das Warten und das Zählen haben
.
Und dann erstellen wir einfach
eine Variable dieses Typs, die ein privater Gründungsstaat und ein privater Bundesstaat sein wird
.
Los geht's, heb dir das auf.
Und hier am Anfang,
womit wollen wir anfangen?
Nun, wir fangen mit dem Zählen an.
Der Staat ist gleich der Punktzählung der Laichzustände.
Also beginnen wir damit, herunterzuzählen und
dann auch wir müssen sicherstellen, dass wir uns einstellen.
Oh, also haben wir schon den Wave-Countdown gesagt.
Wir wollen aktualisieren und anfangen,
auf der Welle herunterzuzählen.
Wenn der Wave-Countdown also kleiner oder gleich 0 ist,
werden wir zunächst prüfen, ob der Zustand,
in dem wir uns gerade befinden,
anders ist
als der Laichzustand, das Punktlaichen.
Was wir dann tun werden, ist, dass wir anfangen zu
laichen, während wir den
Countdown sonst noch nicht beendet haben,
dann werden wir den Countdown bekommen und
für die Anmeldezeit entfernen, Delta-Zeit.
Was passiert hier drin?
Lassen Sie uns einfach eine kleine Zusammenfassung machen
, denn das alles ist ziemlich neu.
Zuallererst haben wir den Wave Spawner Manager,
der hier an den Levelmanager angeschlossen ist.
Okay.
Warte, bis das jetzt jeden Tag kompiliert wird.
Okay, Danke. Was haben wir dann?
Wir haben eine Welle und
jede einzelne Welle hat verschiedene Elemente daran gebunden.
Was wir uns also entschieden haben, ist, eine völlig neue öffentliche Klasse zu schaffen
, nur um sie zu repräsentieren.
Wir hätten, wenn wir wollen,
eine separate Klasse nur für diese erstellen können,
in einem separaten Skript, nur für dieses Skript,
und es ist nicht ein Mono-Verhalten,
nur ein serialisierbarer Stem und System
serialisierbar bedeutet, dass
wir dies hier erstellen können.
Und es ermöglicht uns, die verschiedenen Elemente genau hier zu ändern
, wie immer wir wollen.
So kann es uns die Möglichkeit geben, die Wertsachen viel einfacher zu
ändern.
Also haben wir die Wellen geschaffen,
wir verfolgen die nächste Welle, die öffentlich sein könnte,
wenn Sie nur sicherstellen möchten, dass wir alles angemessen sehen
und öffentlich machen möchten.
Wir haben die Zeit zwischen den Wellen geschaffen,
die Wellen fallen.
Das ist ziemlich einfach.
Dann haben wir eine Aufzählung für die Laichstaaten erstellt
, weil wir verschiedene Laichzustände haben.
Zuallererst können wir entweder laichen,
warten oder herunterzählen.
Und dann erstellen wir eine, um
alles zu verfolgen, was passiert,
genau wie wir es im Shop-Artikel hatten.
Wir werden später etwas anderes haben, sollte ich sagen,
wir werden verschiedene Methoden
ausführen und das Update basierend darauf, ob wir,
in welchem Zustand wir uns befinden,
verschiedene Elemente haben werden, verschiedene Dinge haben werden.
Und dies ist das erste Beispiel dafür.
Wenn wir runter zählen, wenn wir mit dem Abzählen fertig sind
wenn wir mit dem Abzählen fertig
und wir uns nicht in einem Laichzustand befinden,
werden wir anfangen zu laichen.
Wenn wir noch nicht mit dem Abzählen fertig sind,
werden wir einfach die Zeit, Delta-Zeit, bis sie unter 0 ist, aus dem Countdown entfernen
.
Dann überprüfen wir unsere Antwort.
Wenn nicht, beginnen wir im nächsten Video zu laichen,
wo wir tatsächlich Feinde hervorbringen werden.
Ich hoffe es gefällt dir.
Ich weiß, dass das ein bisschen kompliziert ist,
aber dafür hast du dich angemeldet.
Du bist in Bonus eins zum C-Sharp Advanced Bereich gekommen.
Ich hoffe es gefällt dir.
Ich hoffe, du begehst deine Änderungen und wir sehen uns
im nächsten Video.