Willkommen zurück meine Spieleentwickler zu einem brandneuen Video.
Und in diesem haben wir unsere Feinde tatsächlich leicht dämlich gemacht.
Obwohl er schießen kann,
aber nur das kleine Problem ist, dass er sich selbst erschießt,
was manchmal gut ist,
besonders wenn er ein sehr harter Feind ist.
Aber in unserem Fall werden wir es später beheben.
Aber im Moment müssen Sie nur wissen, dass wir die Zeit zwischen den Schüssen zum Beispiel auf drei ändern können
.
Und du siehst, dass es drei Sekunden dauert, um zu schießen,
aber das machen wir nicht mit einem Zähler.
Wir tun das mit etwas, das als Co-Routine bezeichnet wird,
was sehr schwer erschreckend ist, aber glaubwürdig mächtiges Werkzeug ist, um in Unity zu lernen.
Also brauche ich deine Konzentration und deine volle Aufmerksamkeit.
Verschwenden wir keine Zeit mehr und fangen wir an.
Okay, also Zeit, unserem Feind die Möglichkeit zu geben, den Spieler zu erschießen
oder zumindest den Spieler anzugreifen.
Wir haben zwei verschiedene Arten von Angriffen, die wir in unserem Spiel implementieren werden.
Einer von ihnen wird der Malaier sein,
einer von ihnen wird einfach aus der Ferne schießen oder
das Schwert und die Skelette werfen.
Aber wir werden uns vorerst mehr auf das Schießen aus der Ferne konzentrieren
und später Nahkampfangriffe durchführen.
Vielleicht in einem anderen Abschnitt,
könnte es in der Boss-Abteilung sein, wo wir das riesige Skelett haben.
Okay, damit das aus dem Weg ist,
lass uns loslegen und loslegen.
Das erste, was wir tun werden, ist, dass wir
ein paar Variablen und den Fall des gegnerischen Controllers 0 erstellen.
Also werden wir in den feindlichen Controller gehen.
Und hier werden wir ein paar Variablen erstellen.
Vor dem Todesspritzer hier werden wir also
einen Angriff hinzufügen,
nur ein üblicher, damit wir wissen, was alles ist und es wird ein serialisiertes Feld vom Typ Boolean sein
und es wird ein Nahkampfangriff sein.
Wenn es sich also um einen Nahkampfangreifer handelt,
werden wir ihn im Inspektor überprüfen und es wird im Nahkampf angreifen.
Dann werden wir ein serialisiertes Feld erstellen,
das ein Spielobjekt sein wird und es wird das feindliche Projektil sein.
Das wird der Feind ihm also aus der Hand werfen, wenn er schießt.
Schließlich werden wir einen Transformationspunkt erstellen.
Oh, tut mir leid, Feuerposition.
Okay, jetzt haben wir das Projektil.
Wir werden eine Aktenposition erstellen.
Und wir wollen auch eine Zeit zwischen den Schüssen haben, die der Feind macht.
Es ist also ähnlich wie wir mit unserer Waffe umgegangen sind.
Also schweben Sie Zeit zwischen den Schüssen.
Und schließlich werden wir einen privaten Bool erstellen, der bereit ist zu schießen.
Was passiert hier?
Wenn wir bereit sind zu schießen, schießt der Feind,
und jedes Mal, wenn er schießt, und zwischen den Zeitschüssen wird berechnet.
Also haben wir das benutzt,
ich glaube den Zähler.
Wir haben einen Zähler erstellt, bei dem wir die Zeit herunterzählen, bis
wir eine gewisse Zeit zwischen den Schüssen beendet haben, wenn es fertig ist,
dann können wir ihn erneut zeigen.
Das war ein alter Weg.
Jetzt werden wir etwas benutzen, das als Co-Routine bezeichnet wird.
Bevor ich das mache und dir Coroutinen vorstelle,
lass mich zuerst die bereit machen, hier zu schießen.
Wann immer der Feind anfängt,
ist er bereit zu schießen und zu aktualisieren.
Wir werden weitermachen und hier etwas schaffen, was eine Bedingung ist.
Und wenn der malaiische Angreifer
oder wenn wir kein bloßer Angreifer sind, sind wir es nicht.
Wenn wir das Ausrufezeichen wieder setzen und wir sind bereit zu schießen.
Was wir dann tun werden, ist, dass wir weitermachen
und sagen, dass wir bereit sind, als falsch zu schießen.
Und dann beginnen wir hier drin mit einer Beschichtung.
Was ist eine Co-Routine?
Warum brauchen wir es hier drin?
Lassen Sie uns eine kleine Erklärung haben.
Was ist ein Coltan?
Eine Co-Routine ist eine Methode, die die Ausführung von Anweisungen aussetzen kann
, bis eine bestimmte Bedingung oder bestimmte Bedingungen erfüllt sind.
Diese Suspensionen werden als Rendite bezeichnet.
Und in unserem Beispiel wird die Zeit aussetzen,
bis unser Feind bereit ist, wieder zu schießen.
Gehen wir also zurück zu unserem Code und sehen, was das alles bedeutet.
Also, was wir haben,
checken wir das Update ein, das jeden einzelnen Frame genannt wird.
Wir prüfen, ob wir keinen Angreifer zielen, und wir sind bereit zu schießen,
dann bereit zu schießen, auf false gesetzt.
Und zum Beispiel werden wir hier die Kugel schießen.
Aber was wir wollen, genau wie wir in der Theke hatten,
wollen wir nach einer gewissen Zeit schießen können.
Auch hier haben wir diesen Wert auf false gesetzt, weil wir nicht jedem einzelnen Bild eine Kugel abschießen wollen
und Unmengen von Kugeln haben wollen.
Die Art und Weise, wie wir das beheben, besteht darin, eine Co-Routine zu verwenden.
Lassen Sie mich also einfach weitermachen und erstellen Sie eine Coroutine genau
hier wird vom Typ Eye Enumerator sein.
Sie müssen sich keine großen Sorgen darüber machen, was unser Enumerator ist, wissen Sie nur,
dass es sich um die Art von Beschichtungen handelt.
Wir werden den Namen der Coroutine als Feuerfeind erstellen, Projektil.
Ich öffne die Klammern und wir werden die Zeit aussetzen.
Also sage ich diese Ausbeute.
Okay, Fokus, Rendite.
Das bedeutet, dass wir suspendieren.
Kehre zurück. Neu.
Warte vier Sekunden.
Ich öffne die Klammern.
Und wie viele Sekunden wollen wir als Zeit zwischen den Schüssen wiegen?
Und danach können wir fortfahren und die Kugel instanziieren oder das Projektil instanziieren,
das ist das Projektil, feindliche Projektil,
wo an der Fünf-Position instanziiert wird,
diese Position und die Position außer Rho-Station.
Und was wir dann tun können, ist, den Rückschuss auf wahr zu setzen.
Und jetzt können wir es noch einmal zeigen.
Kompliziert, nicht wahr?
Ich weiß es weniger erklären.
Oh, und bevor ich es vergesse,
und hier nach dem Dreh
beginnen wir die Co-Routine,
die das fernfeindliche Projektil ist.
Okay, jetzt bist du noch verwirrter.
Versuchen wir es noch einmal und aktualisieren Sie es.
Was haben wir jedes einzelne Frame-Update als kalt,
wir haben all diese Aussagen genau hier, die wir
nur ein bisschen in Methoden umwandeln werden.
Aber worauf wir uns konzentrieren, ist hier,
wenn wir kein Nahkampfangreifer sind und bereit sind zu schießen,
dann bereit zu schießen,
auf falsch gesetzt und wir starten einen Colton.
Was passiert hier drin, bereit,
einen Satz auf falsch zu schießen?
Das bedeutet, dass diese Methode oder diese Bedingung genau hier falsch ist.
Also schießen wir nicht jedes einzelne Frame wieder.
Deshalb haben wir es auf „false“ gesetzt.
Aber wie werden wir es wieder wahr machen?
haben wir früher mit dem Zähler gemacht.
Jetzt verwenden wir etwas eine Beschichtung.
Und genau wie gesagt,
heißt Co-Routine „Verwenden von Start Coroutine“.
Du gibst den Namen hier rein und nennst ihn „I Enumerator“.
Keine Sorge. Mach dir darüber keine Sorgen. Vorerst.
Du willst tiefer damit eintauchen? Sei mein Gast.
Man muss nicht genau wissen, was das bedeutet.
Wir haben das fernfeindliche Projektil,
dann haben wir diese Erweiterung, die Ertrag ist.
Dann haben wir die Rückkehr neu, warte vier Sekunden.
Da wir also einen Ionenzähler haben,
müssen wir vier Sekunden ein neues Gewicht zurückgeben. Was macht das?
Genau wie es heißt, wartet es einige Sekunden, also
die Zeit zwischen den Schüssen.
Und nachdem es darauf gewartet hat ,
instanziieren wir das feindliche Projektil.
Feind schießt, und er ist bereit, immer wieder zu schießen.
Was passiert hier drin?
Zuallererst fangen wir an,
wir haben die bereit, auf wahr zu schießen.
sollten wir.
Es ist falsch, wir schießen nicht mehr.
Und wenn die Zeit zwischen den Schüssen endet,
werfen wir das Projektil und dann sind wir bereit, wieder zu schießen.
Testen wir das und sehen, wie es funktioniert.
Ich gehe zurück nach Unity.
Ich werde sehen, wo wir eigentlich unser Messer haben 0.
Also haben wir kein Messer.
Was wir also tun werden, ist, dass wir einfach die Kugel benutzen, die wir bereits haben.
In den Prefabs haben wir also
die Spielerhefte.
Benutze das jetzt einfach, die Feuerposition,
lass mich mit der rechten Maustaste hinzufügen,
ein leeres Spielobjekt erstellen.
Und ich setze es genau hier hin,
läuft fast genau hier.
Dies wird also die Feuerposition auf den Feind sein.
Wir geben ihm die zwischen den Schüssen definierte FAR-Position
, die 1 Sekunde betragen würde. Das werden wir speichern.
Und jetzt werden wir sicherstellen, dass er kein Angreifer ist.
Lass uns das Spiel starten und sehen, was passiert.
Also jetzt gehst du los.
Sie können sehen, dass er die Kugel instanziiert,
aber er schießt sich selbst und ins Gesicht.
Wenn ich das also für eine Sekunde pausiere,
kannst du sehen, dass die Fünf-Position
so gerichtet wird.
Und wir wissen, dass die Spielerkugel nur in die richtige Richtung gereist ist ist.
Ich weiß, dass es irgendwie witzig ist.
Versuchen wir es auf andere Weise.
Aber auf jeden Fall
wir uns darüber vorerst keine Sorgen, denn im nächsten Video werden wir
richtige feindliche Kugeln schaffen, die tatsächlich weit auf den Spieler zugehen oder nicht.
Sogar Kugeln werden das Projektil erzeugen,
das das neunte des Feindes ist.
Er wird es als Spieler werfen und sich nicht selbst erschießen.
Aber Sie können jetzt sehen, dass dies mit dem Colton funktioniert.
Wenn ich hier wieder auf den Feind klicke,
kannst du sehen, dass ich die Zeit zwischen den Schüssen auf 2 erhöhen kann.
Jetzt haben wir alle zwei Sekunden diesen Angriff.
Ich hoffe, dir hat das Video gefallen.
Ich weiß, dass der Schießmechaniker nicht perfekt ist,
aber wie ich im nächsten Video sagte,
werden wir bessere Kugeln erstellen.
Ich hoffe, Sie begehen alle Ihre Änderungen.
Und im nächsten Video machen wir richtige feindliche Kugeln,
Heiden oder wie auch immer du es nennen willst.
Also sehe ich dich dann.