Willkommen zurück meine Spieleentwickler zu einem brandneuen Video.
Wie Sie sehen können, haben wir unserem Spiel ein paar Räume hinzugefügt.
Wir haben unserem Spiel ein paar Wege hinzugefügt, jetzt unser Level,
oder eigentlich hätte ich unser Level sagen sollen.
Jetzt sieht unser Level ziemlich gut aus.
Sie wissen, dass die Cinna-Maschine dem Spiel wirklich etwas Geschmack verliehen hat,
was uns die Möglichkeit gab, herumzulaufen und größere und interessantere Level zu machen.
Aber das ist nicht das einzige, was sehr cool ist.
Wenn ich das Spiel führe, schau dir die Szene an,
du kannst sehen, dass wir jetzt Türen haben, die uns daran hindern, sich zu bewegen.
Und das werden die Türen sein, die wir früher auf
das nächste Level gebracht haben, nachdem wir unsere Feinde
Offensichtlich müssen wir unsere Feinde töten.
Aber das ist uns momentan nicht besorgniserregend.
Später wird es so sein.
Aber im Moment verschwenden wir keine Zeit mehr und lasst uns anfangen.
Und wir werden voller erstaunlicher Sachen lernen, erstaunlichen 0-Fall.
Also werden wir weitermachen und Türen schaffen.
Was sind die Türen?
Ich habe die Tür schon geschaffen,
du kannst sie genau hier sehen.
Ich stelle dir die Tür und die Ressourcen zur Verfügung,
aber es ist ziemlich einfach.
Alles was ich getan habe war ausgeschnitten wo ist es?
Das Hauptfoto?
Das Hauptbild.
Und benutze einfach die Tür, die dort bereits vorhanden war.
Jetzt können wir also weitermachen und die Tür hinzufügen oder lassen Sie es uns hier hinzufügen.
Also haben wir die Tür,
wir stellen die Ebene vielleicht auf den Spieler oder wir können die Ebene auf die, an einer separaten Tür setzen.
Und was diese Türen tun werden, ist, dass sie diese beiden Wege schließen werden
, die ich ebenfalls geschaffen habe, und darüber habe ich nicht gesprochen.
Was ist der Sinn unseres Spiels?
Wie werden wir von Level zu Level wechseln?
Genau wie wir es im Hades-Spiel gesehen haben.
Jedes Mal, wenn wir alle Feinde töten,
werden wir diese beiden Barrikaden haben.
Wir werden diese Tür und eine zweite haben.
Also hier zwei Türen.
Und wenn wir alle Feinde töten,
deaktivieren wir einfach die Türen.
Und dies wird es unserem Spieler ermöglichen, sich durch und auf den Weg zu bewegen, auf dem
er hier zwei Portale findet und sie durchlaufen kann.
Aber lasst uns nicht einen Schritt voraus sein.
Beginnen wir zunächst damit, sicherzustellen, dass
diese Türen funktionieren und was wollte Ihnen sonst noch sagen? Oh, okay.
Wenn Sie also genau hier in diese Kachelpalette gehen,
können Sie sehen, dass wir diese beiden Anker oder wo auch immer Sie diese Wege hier hinzufügen können.
Aber das Problem mit diesen Pfaden,
wenn ich auf das Raster und die Wand klicke,
können Sie sehen, dass sie auch den Spieler davon abhalten, sich zu bewegen.
Was meine ich also?
Ich habe dafür gesorgt, dass dies der Boden ist und das ist die Mauer.
Und wenn ich zum Beispiel das Spiel führe,
wirst du sehen, dass ich überall herumlaufen kann.
Und wenn ich hier durchgehe, siehst du,
dass ich mich nicht mehr bewegen kann.
Und das liegt daran, dass wir einen Collider unter haben und das ist
etwas, das wir beheben müssen, um sie zu überwinden, offensichtlich.
Wie werden wir das beheben?
Nun, wenn wir hier in unser Kachelset gehen,
die Kegel, wenn wir nach unten scrollen,
finden wir das Bild genau hier.
Gehe zum Inspektor
wähle den Sprite-Editor aus.
Mach das auf.
Wenn wir vom Sprite-Editor zum benutzerdefinierten Physik-Shape wechseln,
klicken wir hier rein.
Sie können sehen, dass wenn wir, wo ist es, ok,
also der Anker und hier,
wenn wir auf einen davon klicken, können wir generieren.
Und jetzt haben wir die Ankerpunkte der Physik.
So wird der Collider auf diesem Sprite gerendert.
Also werde ich sicherstellen, dass es sehr oder nicht einmal winzig ist.
Ich sorge dafür, dass es ungefähr 0 ist.
Also Vermögenswert das so,
und schließlich lügen Sie das.
Ich übernehme die Änderungen und warte nur eine Sekunde.
Es wird ein wenig Zeit dauern, um die Collider und das Spiel zu wechseln. Außerdem
müssen wir diesen Preis möglicherweise wieder ziehen.
Okay, großartig, also ist dieser fertig.
Generieren wir auf diesem Block.
Auch. Bewegen Sie es hierher.
Wir müssen es nicht wie in der Mitte nach unten bewegen.
Wir können es einfach nach rechts verschieben.
Bewerben. Jetzt wird der Collider nur auf dieser Seite sein.
Und schließlich, finde jeden Tag jeden Tag.
Jetzt können wir auf den letzten klicken
OK generieren. Nicht der letzte.
Eigentlich haben wir noch zwei weitere zu tun.
Also.
Jetzt, da du weißt, wie das gemacht wird
werde ich das oben genannte machen und ich bin damit verwundet
, dass du das gleichzeitig mit mir machst.
Dies ist keine Herausforderung.
Dies ist nur, dass wir unser Spiel viel besser machen.
Also generiere, generiere, verschiebe das nach links,
ich wende die Änderungen an.
Und aus irgendeinem Grund ist es extrem langsam.
Ich dachte, es könnte ein bisschen schneller sein.
Also komm schon, Generate.
Bewegen Sie das hier.
So ist es einfach so.
Bewerben.
Und ich freue mich sehr, Ihnen zeigen zu können, wie das alles funktionieren wird.
Letzte, generiere wie langweilig ist das?
Ja, das ist es.
Ich weiß, dass wir aufgrund der Wartezeit auf die Einheit warten müssen, um
Physik zu erzeugen.
Also denke ich, wir hätten das auch nach unten bringen sollen.
Lassen Sie mich einfach sehen, dass etwas auch nach unten bewegt werden sollte.
Einfach so. Jetzt wenden wir die Änderungen an.
Wenn wir jetzt zurückgehen,
sollten wir sie vielleicht zurückziehen. Vielleicht sollten wir das nicht tun.
Das ist das Problem mit limitiert.
Wenn wir uns nähern, wenn es Einheit ist, als es zu öffnen,
werden wir dieses Problem vielleicht nicht finden.
Mal sehen, was wir haben.
Also los geht's, die Wände sind immer noch da,
aber wenn ich das ein anderes Mal wähle,
und ich zeichne das, sagen wir hier.
Okay, offensichtlich stimmt hier etwas ganz nicht.
Oh, okay, also hatten wir ein kleines technisches Problem.
Wenn ich jetzt auf die Wände klicke, dachte ich,
dass eine Sekundarstufe nicht funktioniert, aber es tat es.
Wenn Sie nun die Wände sehen,
ist der Collider nicht mehr hier und nur an den Seiten, an denen er sein soll.
Wenn ich jetzt das Spiel führe, schaue ich hier hin.
Wenn ich nach oben gehe, geht's los.
Ich kann sie durchlaufen.
Offensichtlich gibt es ein Problem, das darin besteht, dass ich über sie gehe.
Wir werden das in ein bisschen beheben,
aber im Moment haben wir das funktioniert.
Dies sollte vielleicht auf einer anderen Ebene liegen.
keine Sorgen. Lass uns weitermachen.
Was müssen wir hier eigentlich tun?
Und wir müssen die beiden geschlossenen Türen hinzufügen.
Wir müssen einen Hinweis auf sie bekommen und wir müssen sicherstellen
, dass wir sie schließen möchten, wenn der Spieler im Raum ist
.
Also lasst uns anfangen.
Das erste, was wir tun wollen, ist, dass wir die beiden Türen hinzufügen wollen.
Also gehe ich in die Türen und wähle hier im Inspektor aus.
Und ich füge es einfach in die Hierarchie ein,
erstelle das Objekt zuerst Gore hier passt.
Ich werde weitermachen und es so einstellen, wie die Charlotte es als Spieler eingestellt hat.
keine Sorgen.
Wir legen das als Layer fest.
Das ist also die Tür,
und ich werde es duplizieren.
Das wird die Tür 2 sein und ich werde sie auf die andere Seite verschieben.
Oder weißt du was, lass uns das jetzt nicht duplizieren.
Zuerst müssen wir einen Box Collider hinzufügen
weil wir nicht spielen oder uns durch diese Tür bewegen wollen.
Also füge ich einen Box Collider 2D hinzu.
Und mal sehen, wie diese Box aussieht.
Okay, ich denke, das sieht gut genug aus.
Und ich werde diese Tür jetzt duplizieren.
Das wird die Tür 2 sein,
und ich werde sie direkt hier hineinschieben.
Jetzt sind diese beiden Wege geschlossen.
Ich führe das Spiel aus.
Ich werde versuchen, durch die Tür zu gehen und los geht's.
Du siehst, dass ich nicht durchlaufen kann.
Exzellent.
Was ist der nächste Schritt?
Der nächste Schritt ist, dass ich das vorbereiten werde.
Ich gehe ins Prefab und klicke mit der rechten Maustaste.
Erstellen Sie Ordner, Zimmer oder Räume oder falsch.
Dies wird für alles sein, was ein Zimmer beinhaltet.
Und ich mache das einfach vor und ich nenne das einfach die Tür. Da gehst du.
Und jetzt füge ich das einfach noch einmal bei den Prefabs hinzu.
Also ist es an das Prefab gebunden.
Wenn wir also jemals etwas ändern ,
passieren diese Änderungen für alles.
Okay, also lasst uns jetzt weitermachen und hier ein Spielobjekt erstellen,
das als Raum bezeichnet wird.
Ich werde seine Position zurücksetzen.
Und dieses Zimmer wird ein Kind haben, das Türen genannt wird.
Und dies wird das Objekt sein, das alle Türen hält, die wir im Raum haben.
Jetzt erstellen wir hier ein neues Skript.
Und wir werden es an den Raum anhängen,
und das wird der Raummanager sein.
Also Skripte, klicken Sie mit der rechten Maustaste, lassen Sie uns einen Ordner für die Manager erstellen.
Und hier drin werden wir ein C-scharfes Skript für den Raum erstellen.
Managerin.
Drücken Sie Enter und warten Sie, bis es kompiliert ist.
Nein, danke.
Ich brauche es gerade nicht.
Und warte, bis es kompiliert ist.
Okay, also Zimmer, lass uns das Skript hier hinzufügen.
Lasst uns den Raummanager öffnen.
Und was brauchen wir hier drin?
Nun, wir brauchen eine Reihe von Spielobjekten,
die die Türen darstellen, die wir schließen möchten.
Also das Spielobjekt und das Array,
das die Türen zum Schließen ist.
Spar dir das auf.
Und jetzt wollen wir einen riesigen Auslöser um die gesamte Karte erstellen.
Und dann überprüfe, wann sich der Spieler in diesem Triggerraum befindet.
Und warum müssen wir im Zuckerzimmer sein?
Weil vielleicht.
Zum Beispiel möchten Sie, dass Ihr Spiel nur ein bisschen größeres Level hat.
Vielleicht, wenn du durch irgendeine Art von Türen kommst,
schließen sich die Türen und dann beginnt das Level und bis du alle Feinde tötest,
kannst du den Raum verlassen.
Deshalb wollte ich mit diesem Stop-Prozess fortfahren
, Türen nur schließen zu lassen, wenn der Spieler im Thron ist.
Lassen Sie uns zunächst diese beiden Türen hinzufügen, um dies an
den beiden Türen zu schließen, um sie zu schließen.
Los geht's, heb dir das auf.
Und jetzt gehe ich zurück und mein Drehbuch.
Und hier werde ich einen booleschen Wert erstellen, der ein serialisiertes Feld sein wird.
Und das wird die enge Tür auf Schicht sein.
Geben Sie ein.
Spar dir das auf.
Und was werden wir hier drin tun, während wir all diese auf dem Zucker durchgehen werden
.
Geben Sie ein.
Okay, das hätte zu tief sein sollen.
Und lassen Sie uns tatsächlich den Unternehmer erstellen, um sofort zu gehen.
Und hier werden wir prüfen, ob das
collision.com-Tag der Layer ist.
Jetzt werde ich betrügen, weil ich bereits weiß, wie der Spieler geschrieben wird.
Und wir werden prüfen, ob die Tür beim Spieler geschlossen ist.
Okay, jetzt wollen wir unsere Türen schließen.
Jetzt haben wir dieses Array genau hier.
Was sollen wir tun?
Sollten wir sie alle durchgehen und sie eins nach dem anderen schließen?
Also sollte ich Tür schreiben, um zum Beispiel 0 Punkt aktiv zu wahr zu schließen
,
und dann Tür eins,
Tür zu Tür drei.
Wir könnten das tun, aber es gibt ein Problem und wir wissen nicht, wie viele Türen wir haben werden.
Was wir also tun können, ist, dass wir sie durchlaufen können.
Und eine der ersten vollen oder ersten Schleifen , die
ich dir beibringen möchte, ist die für jede Schleife.
Was ist also eine für jede Schleife?
Mal sehen, wie diese Struktur funktioniert.
Es ermöglicht Ihnen, jedes Ding in einer Sammlung von Dingen desselben Typs in einem Array zu durchgehen
.
Was meine ich mit Dingen?
Nehmen wir an, wir haben einen Typ, der in unserem Fall das Spielobjekt ist.
Die Sache ist die Tür in den Türen, die wir schließen wollen.
Was wir also tun, genau wie es sagt, für jede Tür,
die vom Typ Spielobjekt in den Türen zu schließen ist,
können wir weitermachen und Sachen damit machen.
So können wir zum Beispiel auf eine Methode zugreifen.
Wir können das Ding in einer anderen Methode verwenden und wir können andere Dinge ausführen.
Wurde das erklärt, was wir tun wollen?
Unser Ziel in diesem Video ist es, mit dem For Each zuzugreifen oder
zu durchlaufen. Wir möchten alle Türen durchlaufen und sicherstellen
, dass wir sie alle auf wahr setzen.
Sobald der Spieler den Raum betritt,
wird alles geschlossen, bis er später alle Feinde tötet.
Mit dem Erklärten
werde ich Ihnen die Herausforderung stellen, durch alle Türen zu gehen und sie zu schließen.
Erstellen Sie also eine für jede Schleife, die durch alle Türen geht, die geschlossen wurden.
Stellen Sie, jede Tür auf aktiv.
Und ich gebe dir einfach einen Hinweis.
Verwenden Sie das Set active auf True.
Ich hab es dir schon gezeigt.
Ich habe versucht, dir so viele Hände wie möglich zu geben.
Ich weiß, dass es vielleicht das erste Mal ist, dass du Loops siehst.
Dies ist eine großartige Gelegenheit, um zum ersten Mal etwas zu sehen
und versucht, es vor Ihnen umzusetzen
ohne dass ich Ihnen das vorher beibringe.
Ich weiß, dass es ein bisschen schwer ist.
Ich würde es als eine der schwierigsten Herausforderungen trinken,
aber mach dir darüber keine Sorgen.
Nimm dir Zeit. Halten Sie das Video an,
versuchen Sie Ihr Bestes zu geben und wir sehen uns in ein bisschen.
K, wie hast du das alles bekommen?
Ich hoffe, es war nicht allzu schwer.
Was wir also tun werden, ist, dass wir eine for-each-Schleife erstellen werden.
Und wie gesagt, wir werden die Spielobjekte durchgehen.
Und wir können das nennen, was auch immer wir wollen, die Türen,
die wir es nennen können ABC du, was immer wir wollen, in Türen zum Schließen.
Und was wir hier machen werden, ist, dass wir einfach auf die Tür zugreifen,
Punktsatz aktiv. Stimmt.
Spar dir das auf.
Zurück in Unity.
Wir werden diese Türen aktivieren.
Sagen wir also, sie sind offen.
Als erstes betreten wir das Zimmer.
Okay, auch ich hätte hier nicht anklicken sollen.
Ich schalte das Zimmer wieder ein.
Was ist hier passiert?
Und das ist etwas, worauf ich immer falle
da ich das Zimmer hatte und es eingesperrt hatte.
Also habe ich die beiden Türen gewählt und auf diese geklickt.
Also habe ich das Zimmer ausgeschaltet.
Eigentlich kann man hier sehen, was immer Sie wählen,
es ist immer noch das Zimmer.
Was ich also aufschließen werde, zeigt die beiden Türen.
Und ich werde es tun.
Mach weiter und schalte sie aus.
Ich geh ins Zimmer.
Ich füge eine Komponente hinzu, die ein riesiger Box Collider sein wird.
Das einzige Problem hier ist, dass der Collider vielleicht nach dem
Spieler sucht und wenn er den Raum tatsächlich noch nicht betreten hat.
Gehen wir also wieder rein und schauen uns Trigger Enter an.
Wenn wir den Trigger eingeben ,
wird diese Methode aufgerufen.
Also lass uns sehen.
Ich bin mir nicht sicher, manchmal liegt es daran, wie das Skript ausgeführt wird.
Also zuerst FVA-Raumskript ausgeführt,
dann haben wir den Raum,
und dann werden wir den Spieler haben.
Auf diese Weise tritt der Spieler tatsächlich ein.
Also werde ich das speichern.
Ich werde es tun, okay,
also ist das ein Auslöser, wenn ich einen Fehler habe.
Okay, also ist dieser Fehler nichts, worüber man sich Sorgen machen müsste.
Führe das Spiel aus.
Okay, also haben sich die Türen nicht geschlossen.
Lassen Sie uns entscheiden, die Türen beim Spielereintritt zu schließen.
Okay, also los geht's.
Es hat geklappt. Also hoffe ich, du hast verstanden, was meine Sorge war.
Manchmal passiert das, wenn ich dieses Spiel zum ersten Mal erstellt habe.
Das passiert.
Also musste ich etwas anderes kreieren.
Aber mir ist aufgefallen, dass es manchmal funktioniert, manchmal nicht.
Ich wollte dich nur vorher wissen lassen, damit du nicht an Oh, Michael, jedes Mal einen Fehler denkst
.
Eigentlich, also hoffe ich, dass es dir gefällt.
Ich hoffe, du hast das für jede Herausforderung gemacht.
Ich weiß, dass es kompliziert war,
aber dies ist eine gute Möglichkeit, Ihre Spieleentwicklerfähigkeiten zu üben.
Also sehe ich dich im nächsten Video, in dem wir alle Feinde fangen werden
, die wir haben, damit wir sie töten und dann die Türen öffnen können, wenn sie sterben.
Also sehe ich dich dann.
Stellen Sie sicher, dass Sie alle Ihre Dateien inszenieren.
Tut mir Leid dafür.
Und hinterlasse mir eine Bewertung, wenn du es noch nicht getan hast.
Es hilft mir sehr.
Danke.
Wir sehen uns das nächste Mal. Hey, Michael hier aus der Zukunft,
du dachtest, du wärst mich los, aber das hast du nicht.
Als wir das Spiel laufen,
bemerkte ich etwas, das Sie sehen können, dass ich mich gefragt habe
, warum das Skelett uns nicht erschossen hat, und wenn ich versucht habe zu schießen,
können Sie das sofort sehen.
Ich habe den Bullet-Impact-Effekt.
Was ist das Problem hier?
Nun, weil wir im Zimmer Collider sitzen,
schießen wir und es interagiert sofort damit.
Das Problem hier ist also offensichtlich, dass es die Schichten sind.
Was wir also tun wollen, ist, dass wir eine Ebene hinzufügen werden.
Wir können das die Unberührbaren nennen oder wie auch immer du es nennen willst.
Ich nenne es einfach die Raumebene.
Drücken Sie Enter.
Und ich gehe in die Matrix und hier die Projekteinstellungen.
Und ich sorge dafür, dass die Raumebene nicht mit den anderen Raumschichten mit den feindlichen Kugeln interagiert
.
Und vielleicht können wir sogar sicherstellen, dass sie mit nichts interagieren.
Ehrlich gesagt brauchen wir sie außer dem Spieler nicht.
Wir wollen weitermachen.
Aber im Moment stellen wir einfach sicher, dass sie nicht mit der Aufzählungsliteratur interagieren
, wenn wir ein Problem finden,
dies könnte problematisch sein und wissen was.
aus diesem Grund
Schalten wir aus diesem Grund alles aus, speichern Sie das.
Geschlossen vom Spiel.
Die guten Türen sollten sich schließen.
Und wenn wir schießen, stimmt noch etwas nicht.
Oh, offensichtlich müssen wir es als Raumschicht einstellen ja.
Kinder geändert, wenn du das Spiel spielen willst oder nein,
vielleicht hätten die Kinder nicht geändert werden sollen.
Okay. Also schließt die Tür und wir können normal schießen.
Vielleicht hätten die Kinder nicht gewechselt werden sollen
, weil ich nicht möchte, dass die Türen betroffen sind.
Lassen Sie uns dies auf Standard ändern. Ja.
Kinder geändert. Okay. Jetzt können wir die Türen erschießen,
aber wir können herumschießen, sollten die Wände, sollten die Türen.
Jep. Alles funktioniert gut.
Aus Zukunft gehe ich also.
Wir sehen uns in Zukunft.