Willkommen zurück, Meine Lieblingsspielentwickler.
In diesem Video werden wir nicht
nur auf die nächste Stufe wechseln,
wir werden auch übergehen.
Sie sind viel cooler.
Wenn wir jetzt durch das Portal gehen,
gehen wir nicht sofort.
Wir warten zwei Sekunden und dann gehen wir los und wir können dies sogar
vom Level-Manager so gut anpassen, wie wir wollen.
Sie können also sehen, dass wir jetzt eine zentrale Zahl haben
, die der Level-Manager ist.
Wir werden Coroutinen, Szenenmanager und all das gute Zeug benutzen
.
Verschwenden wir also keine Zeit mehr und lasst uns anfangen.
Oh, okay, also brauchen wir jetzt einen Level-Manager, denn
, okay, es macht alles Spaß und Spiele
wenn das Portal uns umstellt.
Aber wenn es um große Spiele geht,
wollen wir nicht, dass dieses spezielle Objekt
Kontrolle über die Art und Weise hat, wie wir uns durch Szenen bewegen.
Es ist viel besser, den Schwan bestimmen zu lassen, durch welches Level
wir uns bewegen möchten, und dann
ein zentraleres Objekt zu haben,
nämlich der Levelmanager, der den Prozess der Bewegung von Level zu Level bewältigt
.
Dies später, wenn Sie wachsen.
Im Moment muss es nicht so sein.
Sie können einfach das Portal benutzen.
Das Spiel wird für immer funktionieren.
Wenn es um große Spiele geht,
das eigentliche Objekt den Job nicht.
Sie haben eine mehr,
sagen wir eine größere Autorität,
einen größeren Kopf, nämlich der Level-Manager
, der damit umgeht.
Also klicke ich mit der rechten Maustaste, um ein Leeres zu erstellen
, setze seine Position zurück.
Und das wird der Levelmanager sein.
Sie können zufrieden stellen, wo immer Sie wollen.
Und Sie können direkt hier in die Skripte gehen
und zu den Managern mit der
rechten Maustaste auf C-Sharp-Skript erstellen klicken.
Der Levelmanager.
Drücken Sie Enter und warten Sie ein wenig
dass es den Ziel-Level-Manager beim Scripting hier kompiliert
.
Und lasst uns weitermachen und es öffnen.
Als Erstes wollen wir
diesen Levelmanager und die Instanz erstellen.
Was ist eine Instanz?
Die Instanz ermöglicht es uns, diesen Level-Manager überall anzurufen und das zu
verwenden
was immer wertvoll ist, da
öffentlich und welche Methode
uns öffentlich zur Verfügung steht, erstellt wird,
sie zu einer Instanz machen und dann nenne es
und du wirst verstehen, wie das funktioniert.
Was wir also tun können, ist zunächst,
wir einen öffentlichen Manager für statische Ebene erstellen
bedeutet, dass diese Variable außerhalb des
Typ-Level-Managers ist und diese Instanz aufruft.
Und dann werden wir am Anfang
die Instanz auf diese gespeicherte setzen.
Okay, was passiert gerade?
Zuallererst, öffentlich, wissen wir,
welche Öffentlichkeit statisch ist.
Was ist statisch?
Statisch bedeutet, dass wir durch den gesamten Code
das Waschbecken haben werden.
Ob wir es also vom Spieler-Controller aus nennen,
vom Bullet-Aufprall,
vom Raummanager.
Die Level-Manager-Instanz ist immer
gleich, wenn wir das Buch instanziieren,
z. B. ist jedes einzelne Aufzählungszeichen ein Klon.
Erinnerst du dich? Wenn ich das Spiel führe,
lass mich dir einfach zeigen, was ich meine.
Also schieße ich ein paar Kugeln, unterbreche das Spiel.
Sie können sehen, dass jeder von ihnen ein Klon ist.
Wenn ich also versuche, auf den Player Bullet Controller zuzugreifen,
wenn er beispielsweise nicht statisch ist,
eine Variable, auf die er zugreifen wird,
wird es anders sein als
zum Beispiel eine Variable, die hier oder hier ist.
Aber wenn ich eine statische Variable für die Spielerkugel erstelle,
dann ist die Variable, die statische Variable, die unabhängig davon, auf welche Kugel ich zugreife
,
dieselbe.
Statisch bedeutet also, dass es während des gesamten Gewinns gleich ist,
wo und wann immer Sie darauf zugreifen.
Das ist sehr wichtig, wenn es um eine Statik geht.
Es ist also der Typ-Level-Manager, der
ziemlich einfach zu verstehen ist und sein Name ist Instanz.
Wir können es nennen, wie immer wir wollen.
Wir können es Michael nennen, wenn du willst,
was wird es als Instanz behalten.
Und dann haben wir dieses ironisch Wortspiel beabsichtigt und was?
Wir haben eine Instanz, die dem entspricht.
Dies bedeutet die eigentliche Klasse.
Also verwenden wir
die Instanz, sobald wir das Spiel starten.
Instanz ist das.
Wo auch immer wir uns im Code befinden, können wir die
Punktinstanz des Level-Managers schreiben und auf die Variable zugreifen,
die offensichtlich öffentlich ist,
oder auf die Methode, die wir hier haben.
Das nächste, was wir tun werden,
ist, dass wir das Update vorerst entfernen.
Benutze es, um es wieder zu erstellen.
Und wir müssen etwas erstellen,
serialisiertes Feld bezeichnet wird.
Schweben. Und es wird die Zeit zum Laden sein.
Also, und es wird gleich 2 f sein.
Warum erstellen wir eine Schriftladung?
Was ist eigentlich unser Ziel?
Von all dem habe ich vergessen, es dir zu sagen.
Was wir tun wollen, ist, dass wir
den Übergang auf die nächste Stufe verzögern wollen,
also wollen wir nicht, dass dies sofort geschieht.
Wir wollen mindestens zwei Sekunden haben,
also kommen wir zum Portal,
warten zwei Sekunden und
sind dann zum nächsten Level gereist.
Dies wird nur ein bisschen Authentizität von uns hinzufügen, wie Sie wissen,
wann immer Sie ein Spiel spielen, tun Sie es nicht.
Und um zu berichten und dann sofort das nächste Level zu starten.
Du willst ein bisschen Zeit haben,
zwei Sekunden überdenken vielleicht deine Entscheidung,
aber es wird vorbei sein.
Und wie werden wir das machen?
Wir werden natürlich eine Beschichtung verwenden.
Also werde ich Ihnen nicht sagen, dass Sie die Quarantäne erstellen
sollen, weil Sie es tun müssen,
ich denke, ich habe irgendwo eine Herausforderung
, wo Sie die Coroutine erstellen.
Achte also sehr genau auf.
Ich weiß, dass es anfangs
sehr schwer zu erlernen ist.
Sobald du den Dreh raus hast, ist es extrem einfach.
Lasst uns anfangen. Zunächst einmal,
weil wir von einem anderen Skript aus auf diese Co-Routine zugreifen werden
.
Ich schreibe Public Eye Enumerator.
Die Coroutine ist also vom Typ I und Zähler.
Und wir nennen es das nächste, nächste Level.
Und hier drin werden wir einen Streit aufnehmen.
Es wird also vom Typ String sein und es wird die nächste Ebene sein
, einfach so.
Und hier drin wollen wir auf die Zeit warten, um
die Szene zu laden und dann zu laden.
Also wie gesagt, Ertrag,
Rückkehr, neu, warte vier Sekunden.
Und das warten vier Sekunden,
wir werden die Zeit zum Laden nutzen.
Wie großartig ist das?
Und schließlich, nachdem wir 42 Sekunden gewartet haben,
gehen wir zum Szenenmanager.
Wir fügen das Szenenmanagement
hier hinzu und jetzt können wir auf den Szenenmanager zugreifen.
Hast du bemerkt, was gerade passiert ist?
Es erlaubte mir nicht, den Szenenmanager zu benutzen, bis ich
die Kriterien hatte, die Einheit sagen, dass wir dies verwenden.
Also Scene Manager, nicht Unity, entschuldigen Sie mich,
das Skript genau hier,
diese gesamte Datei, die wir verwenden, hat Management gesehen.
Also Scene Manager, Punktlast gesehen.
Und als nächste Szene, die wir auf 0 gehen oder ich meine,
nächste Stufe, die wir zu niedrig gehen. Okay, großartig.
Das nächste, was wir tun müssen, ist, dass
wir in den Level Exit gehen müssen.
Und anstatt den Scene Manager hier zu verwenden,
verwenden wir einfach die Instanz, um die Co-Routine zu starten.
Und ehrlich gesagt bin ich schon sehr müde,
also denke ich, dass es besser für dich ist, das anstelle von mir zu tun.
Also mach weiter, starte die Co-Routine.
zuerst von der Ebene des Exit-Skripts
Rufen Sie zuerst von der Ebene des Exit-Skripts Kali den Level-Manager auf und wechseln Sie zur nächsten Ebene.
Es gibt ein kleines schwieriger, auf das Sie achten müssen.
Ich gebe dir einen kleinen Hinweis,
nämlich du kannst nicht einfach eine Co-Routine nennen.
Sie müssen eine Qualität beginnen.
Also pausiere das Video jetzt und starte die Co-Routine.
Oh, okay, willkommen zurück.
Wie bist du damit zurecht gekommen?
Und hier werde ich das entfernen.
Und stattdessen werde ich sagen, dass ich
eine Co-Routine beginne.
Ich benutze den Levelmanager.
Ich hoffe, das war nicht der schwierigste Teil, wenn Sie
es geschafft haben, Instanz zu verwenden,
ich gratuliere Ihnen, Sie gehen
zur nächsten Stufe der Spieleentwicklung.
Wenn nicht, mach dir keine Sorgen darüber, es
ist wahrscheinlich mein Fehler
weil ich dir nicht gesagt habe, dass ich dir den Hinweis nicht gegeben habe.
Aber wir werden das nächste Level laden.
Diese Methode beim Laden der nächsten Ebene ist also
tatsächlich ein Eye-Enumerator vom
Level-Manager und
benötigt eine Zeichenfolge der nächsten Ebene genau hier,
wie Sie als Argument sehen können.
Also werde ich es ihm geben.
Und was sollte es sein?
Es sollte das Lot der Stufe zwei sein.
Spar dir das auf. Und eine sehr nette Sache.
Sie können sehen, dass die Verwendung der Unity-Engine nicht mehr so breit ist wie die Unity-Engine allein, wenn wir den Szenenmanager
nicht mehr verwenden
.
Die Dinge, die wir nicht benutzen, sind ein bisschen ausgegraut.
Also kann ich das tatsächlich entfernen,
ein bisschen Speicher speichern.
Und jetzt weist der Level Exit den Level-Manager einfach
den zentralen Kopf zu oder ruft ihn auf und sagt ihm,
er soll das Level laden.
Dies wird sich als nützlich erweisen, wenn wir mehrere Portale haben.
Du wirst sehen, vertrau mir,
es ist viel besser, es so zu machen.
Also spar dir das auf.
Geh zurück und zu unserem Spiel genau hier.
Starte das Spiel, ging auf das Portal zu.
Ich spiele im Szenenmodus.
Wenn ich jetzt auf das Portal komme,
sollten wir zwei Sekunden Zeit haben, bevor wir abstimmen.
Und wir können es genau hier in London sehen
, um zwei Sekunden zu laden.
Also los geht's. Hier geht nichts.
112 hoch.
Da sind wir los.
Jetzt sind wir also auf Level 1
und sind nicht sofort dorthin gegangen.
Ich hoffe es gefällt dir.
Stellen Sie sicher, dass Sie alle Ihre Änderungen angeben.
Und im nächsten Video werden wir die Übergänge noch kühler machen
.
Kannst du dir das noch cooler vorstellen?
Stellen Sie sicher, dass Sie eine Bewertung für die coolen Übergänge hinterlassen.
Wir sehen uns dann.