Willkommen zurück, Meine Lieblingsspielentwickler.
Ich weiß, dass dies ein langes Video ist,
aber wir machen viele Dinge.
Wir lernen hier viele raffinierte kleine Tricks.
Wenn wir also das Spiel laufen,
werden Sie feststellen, dass wir gerade nur den Stempel haben
und den
Waffenarm wir sollten die Pistole haben, alles funktioniert gut.
Wir haben die Schrotflinte am Boden.
Uw, was denkst du wird passieren, wenn wir es abholen?
Also bin ich gegangen, ich hole es ab.
Da sind wir los.
Wir können sehen, dass ich eine Schrotflinte habe
und wir können die Kugel dieser Schusswaffe sehen.
Wir können nichts ausschalten.
Wir können zwischen Pistole und Schrotflinte wechseln,
aber machen wir uns darüber keine Sorgen.
Alles wird passieren.
Alles wird zu gegebener Zeit behoben.
Verschwenden wir also keine Zeit mehr mit
diesem großen langen Video und lasst uns anfangen.
Oh, Fall.
Also Zeit, die Art und Weise einzurichten, wie wir unsere Waffen abholen.
Im Moment ist die Art und Weise, wie wir unsere Waffen haben, gut genug.
Wir wechseln, wir machen alles,
aber so wollen wir nicht, dass unser Spiel funktioniert.
Wir wollen nicht einfach mit all unseren Tasten beginnen
und einfach zwischen ihnen wechseln.
Wir wollen eine Art Mechanik haben, die es uns ermöglicht,
sie zu haben oder in irgendeiner Weise zu erwerben.
Und eines dieser Dinge ist, dass wir unsere Waffen an bestimmten Stellen und auf dem Niveau abholen können
.
Also lasst uns weitermachen und das machen.
Das erste, was wir tun werden, ist, dass
wir in den Untergangsspieler gehen werden.
Wir werden die Waffen entfernen
, die wir nicht halten.
Also werde ich das Gewehr entfernen,
muss das Skript öffnen.
Also entferne das Gewehr, entferne die Pistole
und geh zurück in unser Spiel. Da sind wir los.
Nun müssen wir sicherstellen, dass wir
sie auch hier aus den verfügbaren Waffen entfernen.
Also entferne ich diese leeren Slots,
speichere das auf und lass uns sehen, was wir hier haben.
Okay, wie Sie sehen können,
wir das auch
müssen wir das auch ändern und ich sage Ihnen warum.
Lasst uns einfach die Dinge aus dem Weg schaffen.
Momentan setzen wir
die aktuelle Waffe auf eins und stellen dann die Waffenoberfläche ein,
aber eine ist hier nicht verfügbar.
Mal sehen, was passiert, wenn wir unser Spiel ausführen.
Wir sollten sehen, dass wir hier einen Pfeil haben,
und dieser Fehler ist ein Argument außerhalb des Bereichs.
Ich doppelklicke hier rein,
es bringt mich zur Einstellwaffe.
Das bedeutet, dass die aktuelle Waffe innerhalb der verfügbaren Waffen außerhalb der Reichweite ist
.
Und natürlich liegt es daran, dass
wir den Strom auf eine setzen
, während wir nur eine Waffe haben.
Also der einzige Index, auf den wir auf eine 0 zugreifen können.
Ich könnte das auf 0 setzen, wenn ich wollte.
Aber was passiert
, ist, dass wir jedes Mal, wenn wir das Spiel starten
, zum Beispiel die Schrotflinte und das Gewehr haben
und das Gewehr an ist,
während
die aktuelle Waffe anders ist als Sie, was ich meine.
Der Index wird also fehl am Platz sein
und darum
haben wir uns im letzten Video nicht gekümmert.
Also zeige ich Ihnen, was passiert, obwohl
dies ein bisschen dauern wird, um es zu
verstehen, aber keine Sorgen.
Ich möchte sicherstellen, dass alles richtig verstanden wird
und warum
wir all diese Dinge tun.
Also Pistole, Schrotflinte, Gewehr, wenden Sie die Änderungen an.
Nehmen wir zum Beispiel an, ich schalte
die Pistole aus und schalte das Gewehr aus.
Also was wir jetzt als Schrotflinte haben sollten, wenn wir anfangen.
Also werde ich das laufen lassen.
Da sind wir los.
Wir haben die Schrotflinte schießen,
aber ich habe die Pistole und die Benutzeroberfläche.
Wenn ich noch einmal darauf klicke,
dann habe ich die Schrotflinte, dass ich das Gewehr habe.
Wie Sie sehen können, sind die Dinge am Anfang seltsam.
Anstatt das zu tun,
was wir tun werden,
wir dies entfernen und wir
werden eine for-Schleife erstellen.
Also vier und ich ist gleich 0,
ich bin weniger als die verfügbare Waffenpunktzahl, zählen,
weil wir Listen verwenden und ich plus plus.
Und hier werde ich prüfen, ob die verfügbare Waffe, die Position, in
der ich den GameObject-Punkt punkte, aktiv in der Hierarchie, das bedeutet,
dass sie auftaucht und wir uns tatsächlich dafür entschieden haben
, dem Spieler verfügbar zu sein?
Dann werden wir die aktuelle Waffe gleich I einstellen.
Und so sollte alles einwandfrei funktionieren.
Wenn ich also wieder reingehe,
habe ich die Schrotflinte.
Ich führe das Spiel aus.
Die Waffe sollte genau hier stimmen.
Los geht's, Schrotflinte.
Testen wir es am Gewehr.
Also schalte das aus, führe das Spiel aus.
Jetzt sollten wir das Gewehr haben.
Und los geht's, alles funktioniert einwandfrei.
Und schließlich haben wir die Pistole getestet
und das Gewehr abgenommen, das laufen lassen.
Und wir sollten die Pistole haben.
Okay, großartig, also funktioniert alles gut.
Jetzt habe ich ein bisschen Spaß gemacht, das zu tun.
Keine Sorge, aber solange
das aus dem Weg ist, denn es wird
wichtig sein, wenn wir anfangen, Waffen aufzuheben.
Das erste, was wir tun müssen, ist, dass wir das Pickup-Objekt erstellen müssen
, mit dem wir interagieren werden.
Und ich habe diese drei Sprites genau hier erstellt.
Und der Unterschied zwischen
den regulären Sprites und den Waffen und
diesen ist, dass ich ein bisschen weiße Schicht um die Konsole herum hinzugefügt habe
.
Wir können sie auf der Welt sehen.
Also gehe ich in die Sprites,
klicke hier rein, erstelle.
Nein.
Erstellen Sie einen neuen Ordner, der das Waffen-Backup sein wird
.
Drücken Sie Enter, öffnen Sie das.
Oder wir hätten die Pickups hinzufügen können,
aber darüber keine Sorge.
Mehr Ordner zu haben, schadet niemandem.
Wie Sie sehen können, gibt es
einen weißen Umriss um die Schrotflinte.
Wenn ich es also hier hinzufüge,
setze es auf den Spieler.
Und ich werde nur all diese 32 machen
und sie darauf hinweisen.
Wenden Sie die Änderungen an.
Da sind wir los. Wie Sie sehen können,
hat die Schrotflinte diesen weißen Umriss
, damit wir sie richtig sehen und arbeiten können.
Es war keine große Sache, wann immer wir
die Waffe hielten
weil wir den Spieler als Hintergrund haben.
Aber jetzt müssen wir sicherstellen, dass wir die Schrotflinte oder eine Pistole und Waffe sichtbar und leicht sehen können
.
Und wenn es dir nicht gefällt, habe ich ehrlich gesagt
eine Stunde gebraucht,
um das in Photoshop zu tun.
Ich habe keine Ahnung wie gut oder schlecht es ist.
Vielleicht zucken einige von euch bei der Arbeit zusammen,
aber persönlich war es mein Bestes.
Lasst uns eins fortsetzen.
Was wir also hier drin machen werden
ist, dass wir das als Schrotflinte behalten.
Wir werden eine Komponente hinzufügen.
Offensichtlich wird es der Collider sein.
Also ein Box Collider 2D.
Mal sehen, wie groß das ist.
Und vielleicht können wir die Größe auf dem X und dem Y etwas vergrößern
.
Muss die Waffe nicht ganz passend treffen
, um sie aufzuheben.
Also nur ein bisschen und habe es als Auslöser.
Das sparen wir. Und das nächste, was wir
tun werden, ist offensichtlich ein Verhalten.
Also gehe ich in die Skripte, gehe in die Pickups,
klicke hier hinein und erstelle ein neues C-Sharp-Skript
, das das Waffen-Backup sein wird.
Drücken Sie Waffen betreten, heben Sie auf und warten Sie, bis
sie zum Schrotflinten-Pickup kompiliert werden.
Und lasst uns das Drehbuch öffnen und
sehen, was wir hier machen werden.
Okay, also das erste, was wir brauchen,
da wir tatsächlich wissen müssen
, welche Waffe das sein wird.
Die Schrotflinte wird uns offensichtlich die Schrotflinte geben.
Also werde ich hier ein serialisiertes Feld schaffen,
das das Waffensystem vom Typ Stadtsystem sein
wird, das die eigentliche Waffe sein
wird, die wir aufnehmen werden.
Spar dir das auf.
Das nächste, was wir tun wollen, ist, dass wir
dieses Objekt aufnehmen können.
Und bevor wir dieses Objekt tatsächlich dem Spieler hinzufügen können,
möchten wir sicherstellen, dass er
Objekt nicht bereits hat.
Also möchte ich keine 10 Schrotflinten tragen.
Ich brauche nur eine einzige Schusswaffe, um mir zur Verfügung zu stehen.
Lassen Sie mich zuerst so unten.
Gehen wir zum Prefab,
gehen zu den Waffen
und fügen wir die Schrotflinte hier als Waffe hinzu.
Also hoffe ich, du hast verstanden, was ich meine.
Ich will keine Schrotflinte holen
solange ich schon eine Schrotflinte habe.
Ich möchte eine Schrotflinte nur aufnehmen, wenn sie
nicht in meinen verfügbaren Waffen festgehalten wird.
Und das ist Ihre Herausforderung, durch die Schichtgewehre zu
schauen.
Zunächst müssen Sie also einen Unternehmer erstellen Geben Sie ein
und prüfen Sie, ob wir mit einem Spieler kollidiert sind.
Offensichtlich wollen wir nicht, dass unsere Skelette uns
angreifen, geschossene Waffen.
Wen dann musst du innerhalb der Methode eine Variable erstellen
, um zu
verfolgen, ob wir die Waffe auf dem Spieler gefunden haben
oder nicht.
Sie müssen die ganze tiefe Schicht der Waffen durchgehen
und offensichtlich überprüfen, ob wir die Waffe tragen. Sie haben den
GAN Namen abgeholt, also brauchen wir den
Waffennamen und das Telefon, um
auf den Waffennamen zuzugreifen und greife auf die verfügbaren Waffen
zu, du musst ein paar zusätzliche Methoden erstellen.
Das ist also eine große Herausforderung,
eine sehr schwierige Herausforderung,
aber ich weiß, dass Sie der Aufgabe gewachsen sind.
Nehmen Sie sich Zeit, spielen Sie herum,
machen Sie Fehler, machen Sie sich keine Sorgen darüber.
Ich werde dir helfen, nachdem wir es versucht haben.
Du verlierst also nichts.
Pausiere das Video jetzt und erreiche Alan.
Kay, willkommen zurück.
Das erste, was ich tun werde, ist,
den Start und das Update zu entfernen.
Ich werde den Unternehmer erstellen, geben Sie 2D ein.
Und hier prüfen wir natürlich, ob das
collision.com Tag als Spieler ist.
Und jetzt können wir weitermachen.
Jetzt die nächste Sache und etwas hier,
vielleicht hätten wir sofort
alle Pickups eine bestimmte Ebene haben und
sie nur mit der Spielerebene interagieren
können, die ein bisschen schlau gewesen wäre
und vielleicht haben wir nicht alle
diese Bedingungen jedes
Mal, wenn wir eine Abholung verwenden möchten.
Also nur eine Stille,
ich hab's vergessen.
Vielleicht kannst du es an dir selbst machen.
Lassen Sie uns als nächstes fortfahren. Was wollen wir?
Nun, offensichtlich wollen wir
diese boolesche Variable, die diese Waffe auf den Spieler aussagt
.
Und das wird auf „false“ gesetzt.
Okay, das nächste, was wir tun müssen, ist, dass wir eine foreach-Schleife erstellen müssen
, die überprüft.
Und es wird nach Waffen suchen oder Waffen.
Es ist also das Waffensystem.
Die zu überprüfende Waffe.
Und wo suchen wir diese?
Nun, wir suchen nach
den verfügbaren Waffen für den Spieler.
Auf dem Spieler-Controller,
ihrem Ziel, heißt es genau hier.
Also werden wir uns die verfügbaren Waffen ansehen,
aber offensichtlich verfügbare Waffen,
aber offensichtlich ist es ein serialisiertes Feld.
Wir wollen es nicht öffentlich und für jedermann zugänglich machen
.
Was wir also tun werden, ist hier unten,
wir werden zu Create gehen und
dort siehst du den Fehler, den wir gemacht haben.
Wir werden eine öffentliche Liste des Typs Waffensystem erstellen
.
Also hoffe ich, du hast es versucht, entschuldige mich.
Und wir nennen es die
verfügbaren Waffen
auf Schicht.
Da sind wir los. Das ist ein langer Name.
Und was wir tun werden, ist einfach die verfügbaren Waffen zurückzugeben
. Da sind wir los.
Was können wir jetzt hier drin tun
und weil wir sofort von der Kollision aus darauf zugreifen können
,
die wir mit der Get-Komponente kollidiert haben.
Und weil wir bereits wissen, dass es der Spieler ist,
können wir auf den Player-Controller zugreifen.
Und vom Spieler-Controller können wir die verfügbaren Waffen auf den Spieler bekommen
.
Großartig. Was wir also hier gemacht haben,
haben wir die verfügbaren Waffen des Ghetto erstellt
indem wir die einfache Rückkehr haben,
die eine Liste zurückgibt.
Und weil es eine Liste ist,
können wir sie hier hinzufügen.
Also überprüfen wir die Waffen, um es zu überprüfen.
Nun, wie werden wir wissen, ob die Waffe da ist?
Was wir tun werden, ist, dass wir eine If-Bedingung schaffen werden.
Und hier drin werden wir prüfen, ob die Waffe, die hier drin ist,
den Namen der Waffe punktet.
Wenn ich also zum Waffensystem gehe,
wenn es irgendwo hier drin ist,
das Waffensystem, haben wir den Waffennamen,
aber wieder ist es ein serialisiertes Feld.
sind also okay.
Also haben wir den Namen „Waffen bekommen“, UI.
Okay. Keine Sorge.
Das ist alles was wir brauchen.
Ja, das ist alles was wir brauchen.
Also hier drin werden wir überprüfen, ob man
Waffennamen auf die Waffen bekommt oder nein,
eigentlich brauchen wir das nicht.
Hol dir den Waffennamen du bist.
Und wenn es gleich der Waffe ist, um den Punkt zu überprüfen,
erhalten Sie Waffennamen UI.
Vielleicht war die Benutzeroberfläche hier nicht
der perfekte Name für die Methode,
vielleicht ist es besser, sie einfach den Namen zu nennen
weil wir sie auf andere Weise verwenden.
Wir können auf Create our R doppelklicken
und einfach GetWidth und Namen verwenden.
Drücken Sie Enter. Da sind wir los.
Jetzt haben wir das überall geändert,
sogar im Waffensystem.
Hier unten kannst du sehen, wie cool das ist.
Also Kontrolle, doppelt oder oder,
oder, wenn es also da ist, bedeutet das,
dass sich die Waffe bereits in den verfügbaren Waffen befindet
.
Also setzen wir die Waffe auf die Schicht auf „wahr“.
Und nachdem wir alle
verfügbaren Waffen durchgesehen haben,
werden wir nach diesem Check-in hier gehen,
wenn die V gun on player nicht stimmt, also bedeutet das,
dass es immer noch falsch ist.
Wir haben die Waffe nicht, ehrlich.
Was wir tun werden, ist, dass wir fortfahren und die Waffe auf der Kollisionspunkt-Get-Komponente instanziieren
.
Und es wird der Spieler-Controller sein.
Und warum mache ich all diese Schritte?
Nun, weil ich diese Waffe tatsächlich herstellen möchte.
Wenn wir wieder hier reingehen, sieht man, dass die Waffe tatsächlich ein Kind des Waffenarms ist
.
Also müssen wir dazu bringen, dass wir
genau hier sehen können, dass ein Instanziat,
wir können das Kind setzen.
Also werden wir genau das tun und wir
brauchen einen Hinweis auf die Waffen auf.
Wenn ich also nach oben scrolle und hier
siehst du, dass wir einen Waffenarm haben.
Also alles, was wir brauchen, um nach unten und wieder zu scrollen,
um ein Publikum zu erstellen. Und was ist los?
Es ist eine Transformation, glaube ich.
Ja, sag „transformieren“.
Also müssen wir eine öffentliche Transformation schaffen
und Waffenarm bekommen.
Und wir werden einfach zurückkehren und die Waffen zurückgeben.
Sind es.
Da sind wir los. Das war also eine schwierige Herausforderung,
ich weiß, aber ich hoffe, dass Sie zumindest
versuchen, es auf halbem Weg zu schaffen.
Also hol Waffen.
Es taucht nicht auf, weil es eine öffentliche Transformation ist.
Hol Waffen an.
Also bekommt der Spieler-Controller-Punkt Waffe.
Oh, also Spieler Bullet Controller.
Okay, also bekommt der Spieler-Controller Waffenarm.
Und los geht's, wir sparen das.
Wir gehen zurück in unser Spiel.
Und mal sehen, wie das funktioniert.
Also haben wir das Histon und
wir haben die Schrotflinte am Boden.
Wir heben die Schrotflinte auf,
die darauf verfügbare Waffe,
speichern das, führen das Spiel aus.
Und jetzt, wenn wir uns der Schrotflinte nähern, passiert nichts,
denn wenn ich hier hineinklicke,
können wir das sehen, okay.
Und abgesehen davon hier drin
können wir nachsehen.
Okay. Also willkommen zurück.
Aus irgendeinem Grund habe ich nichts geändert.
Ich führe das Spiel jetzt einfach aus und es scheint zu funktionieren.
Da sind wir los. Du siehst, dass wir
zwei Schrotflinten abgeholt haben. Warum ist das so?
Nun, offensichtlich wegen der
beiden Collider, die wir bei uns haben.
Und zerstöre diese Schrotflinte auch nicht.
Aber wie Sie sehen können, nehmen wir die Schrotflinte immer noch
mehrmals auf,
obwohl wir das durchschauen und sehen können
dass wir die Schrotflinte jetzt schon ehrlich haben.
Bevor wir fortfahren,
müssen wir als Erstes den
privaten booleschen Wert erstellen,
genau wie wir es bei der Gesundheitsabholung getan haben.
Also können wir das einfach kopieren, es hier einfügen und den Pickup als wahr sagen,
und den Pickup als wahr sagen
wann immer wir die Waffe tatsächlich abholen.
Also hier drin sagte das sofort zu.
Und wir prüfen auch, ob wir die Waffe noch nicht abgeholt haben.
Wie Sie wissen, liegt das daran, dass wir
die beiden Collider bei uns haben.
Also speichere das wieder in unserem Spiel auf.
Mal sehen, wie das funktioniert.
Jetzt führen wir das Spiel aus.
Wir haben die Schrotflinte. Oh, und wir
müssen auch die Waffe zerstören, entschuldigen Sie mich.
Und nachdem wir es abgeholt haben,
wenn wir die Waffe instanziieren,
wo ist sie für jeden?
Hier kannst du also wählen
, ob du es auf jeden Fall zerstören willst.
Ich glaube, wir sollten es auf jeden Fall zerstören.
Selbst wenn wir es nicht wirklich abholen,
muss es nicht dort bleiben.
Also werde ich das Objekt einfach zerstören, sobald die
tiefe Ebene dieses Objekt tatsächlich anführt.
Also wieder hier drin, führe das Spiel aus.
Und da sind wir los.
Wir heben die Waffe
und jetzt haben wir die Schrotflinte und unsere Hand.
Wie Sie sehen können, schießt die Schrotflinte und wir können die Waffen nicht
zwischen der Schrotflinte oder der Pistole ein- und ausschalten
.
Warum ist das so? Nun, weil wir
die Schrotflinte nicht wirklich in die verfügbaren Waffen aufgenommen
haben und
das müssen wir im nächsten Video reparieren.
Das ist auch der Grund
warum wir genau hier gesehen haben, dass
mehrere Schrotflinten abgeholt werden
, ohne dass die Waffe zerstört wurde.
Das wird im nächsten Video behoben, in dem wir tatsächlich
anfangen, die aufgenommene Waffe in die verfügbaren Waffen einzufügen
.
Das heißt, ich hoffe es gefällt dir.
Stellen Sie sicher, dass Sie Ihre Änderungen
übernehmen und wir sehen uns im nächsten.