Willkommen zurück, meine Spieleentwickler.
In diesem Video werden wir ein automatisches Brennen hinzufügen.
Sie können also genau hier sehen, dass wir eine Zeit zwischen den Schüssen haben.
Wie viel Zeit willst du zwischen den Aufnahmen? Ich höre dich.
Du willst 0.5 sagen?
Okay, Sir, da sind Sie los.
Wir spielen Run.
Wir hatten den Play-Button.
Wir führen den Gewinn
und halten die linke Maustaste gedrückt.
Und da gehst du. Sie können sehen, dass wir
jeden einzelnen Frame sollten und Sie können sehen, dass sie sehr konsistent sind.
Also spiele ich kein Spiel und hier halte ich den Knopf gedrückt und er
feuert alle 0,5 Sekunden oder jede Sekunde,
wir feuern weiter in der Lage.
Verschwenden wir also keine Zeit mehr.
Wir werden etwas über Zähler lernen.
Und lasst uns anfangen.
O k.
Wir möchten also die Möglichkeit haben, Kugeln automatisch abzufeuern
, wenn die Maustaste gedrückt gehalten wird.
Also, wann immer wir den Knopf drücken,
sobald wir schießen können,
aber was wir wollen, ist eine Art automatisches Schießen zu haben
, während wir den Knopf gedrückt halten,
genau wie ein Gewehr,
obwohl wir es sind Mit einer Schrotflinte genau hier
nutzen wir einfach unsere Fantasie und stellen uns vor, dass dies eine automatische Schrotflinte ist.
Und während wir den Knopf gedrückt halten, feuert er weiter.
Wie werden wir das machen?
Wenn Sie gerade hier hinschauen, können Sie sehen,
dass diese Methode,
die Schaltfläche „Maustaste abrufen“, während des Frames,
den der Benutzer mit der angegebenen Maustaste gedrückt hat, einen True zurückgibt.
Es gibt also nur einmal wahr zurück
, wenn der Player oder der Benutzer die Taste gedrückt hat.
Was wir wollen, ist, dass wir etwas verwenden möchten, das als Eingabepunkt get-Maustaste bezeichnet wird.
Beachten Sie also, dass dies mit der Maustaste gedrückt war.
Dies ist die gekommene Maustaste.
Und wenn Sie die Beschreibung lesen,
können Sie sehen, dass sie einen True zurückgibt, ob die angegebene Maustaste gedrückt gehalten wird.
Während wir also festhalten,
wird dies immer wieder wahr.
Und dies wird es uns ermöglichen, immer wieder Kugeln zu instanziieren, in jedem einzelnen Frame.
Aber wir stoßen auf ein Problem.
Du hast bemerkt, dass wir, wenn wir das Spiel starten,
wenn du dich erinnerst, die Statistiken genau hier sehen können.
Wir haben also etwa 800 bis tausend Bilder pro Sekunde.
Bei jedem einzelnen Frame,
während wir die Maustaste gedrückt halten,
werden wir eine Kugel instanziieren,
was sehr schlecht ist.
Wir werden also jede Sekunde rund die 1000 Kugeln haben.
Jetzt macht es Spaß.
Es ist eine sehr OOP-Waffe,
aber das wollen wir nicht.
Wir wollen eine gewisse Zeit zwischen dem Abfeuern jedes Buches haben
, während wir uns wie eine echte Waffe festhalten.
Was ist hier wichtig?
Okay, also keine Sorge.
Ich denke, das wird sich von selbst klären. Wie auch immer.
Fangen wir an.
Das erste, was wir tun werden, ist, dass wir ein serialisiertes Feld erstellen,
das ein Float sein wird,
und es wird die Zeit zwischen den Schüssen sein.
Eine zweite Variable, die wir als privaten Float und den Schusszähler haben werden.
Und was wir tun werden, ist, sobald wir anfangen,
werden wir den Schusszähler auf 0 einstellen,
oder wir können ihn sofort hier einsetzen, anstatt ihn und den Start einzustellen.
Also fangen wir bei 0 an.
Wenn wir jetzt hier nach unten scrollen,
werden wir eine andere Bedingung schaffen.
Und wir werden sagen, wenn der Eingabepunkt die Maustaste bekommt,
die zurückgibt, ob die angegebene Modi-Taste gedrückt gehalten wird.
Und wir verwenden auch den Index 0 für die linke Maustaste.
Wir werden anfangen, den Schusszähler zu benutzen und
die Zeitpunkt-Delta-Zeit daraus zu entfernen.
Erinnern Sie sich also, wann wir das Plus irgendwo hier oben verwenden
, als wir die Transformation verwendet haben,
jetzt haben wir es nicht.
Nun, das ist ähnlich wie das Plus ist gleich.
Dies stellt also den Schusszähler minus time.Deltatime dar.
Und weißt du was, ich werde das duplizieren, kommentiere das.
Und dann mache ich das zu einem Minuss gleich.
Sie werden sich also daran erinnern, dass es sich um dieselben Dinge handelt.
Und ich schiebe es sogar direkt hier neben der Linie nach unten.
Sie können dies als Erinnerung daran behalten, warum wir Minus gleich setzen,
plus Gleiche und all diese Dinge.
Es ist viel einfacher zu lesen und es ist viel cooler
und wird Sie viel professioneller aussehen lassen
, wenn wir jemandem Ihr Spiel zeigen.
Also lasst uns eins fortsetzen,
was brauchen wir hier drin?
Während wir die Maustaste gedrückt halten,
wird der Schusszähler heruntergezählt.
Was wir also wollen, ist, wann immer dieser Schusszähler endet oder 0 wird,
wir eine Kugel abfeuern und dann den Schusszähler wieder auf die Zeit zwischen den Schüssen aktualisieren möchten
.
Wie werden wir das machen?
Anstatt sofort zu instanziieren,
ich eine Herausforderung an.
War das ein besserer Übergang als beim letzten Mal?
Wie auch immer, Ihre Herausforderung besteht darin, zu überprüfen, ob der Zähler hat,
und so eine If-Bedingung zu erstellen, die den Schusszähler überprüft.
Wenn der Schusszähler kleiner oder gleich 0 ist,
warum ist er kleiner oder gleich 0?
Du fragst dich vielleicht warum nicht sofort 0?
Nun, weil wir zählen.