Transkripte
1. Warum du diesen Kurs sehen solltest: Sie haben also gelernt, wie Sie einem Spielobjekt einen starren Körper als Komponente hinzufügen können. Möglicherweise haben
Sie sogar überprüft, was ein starrer Körper in der Dokumentation von Unity ist. Und jetzt kennen Sie alle Eigenschaften und Methoden. Das ist niedlich. Aber können Sie einem Spielobjekt einen starren Körper hinzufügen, ihn
bewegen, Animationen
hinzufügen, um Sprites in einer Welt laufen zu lassen, die wir mit einem Kachelsatz erstellt haben. Lassen Sie es mit der Welt interagieren und bewegen Sie sich von einer Szene zur nächsten. Oh, und haben auch ein Skript, das 600 plus Codezeilen ist, um
unser Kampfsystem mit
sechs anderen Kampfskripten zu handhaben unser Kampfsystem mit , die alle Systeme wie die Gegenstände zusammenarbeiten. Mein Name ist Michael Moore, Gründer von WM Game Dev,
und mein Ziel ist es, Sie zum besten
Spieleentwickler auf die unterhaltsamste Art und Weise zu machen und
eine Strategie entwickelt , die Tausenden von
aufstrebenden Spiel geholfen hat Entwickler erreichten ihre Ziele der Schaffung der realen Welt Spiele. Und ich will das Gleiche für dich tun. Was ich gelernt habe, ist, dass es sehr schwierig sein kann zu wissen, wo ich anfangen soll
und welche Schritte man unternehmen muss, um vom Anfänger zum Fortgeschrittenen zum Profi zu gelangen. Nicht nur in der Spieleentwicklung, sondern auch beim Programmieren und Lernen, wie man kodiert. Und hier kommt die Strategie ins Spiel. Ich nenne es die umgekehrte Pyramide, wo wir beginnen, indem wir die sehr grundlegenden Konzepte und C-Sharp-Programmierung,
Unity-Engine und Spieldesign mit Dias und Einheitendokumentation lernen , dann verwenden
wir sofort das, was wir gelernt haben, um unsere Spiel. Aber wir halten dort nicht auf. Wir nutzen das Gelernte immer auf komplexere und unterhaltsamere Weise. Wir tauchen tiefer ein als jeder andere Kurs. Und zu Unity Engine, C-Sharp-Programmierung und Game-Design. Und das erstaunlichste daran
ist, dass wir das alles tun. Aber die neueste Version von Unity war die neuesten Techniken und Inhalte und moderne Spieleentwicklung. Und ich kann sagen, mit absoluter Zuversicht macht es jedem Anfänger
mit 0 Programmiererfahrung leicht , einzuspringen und zu lernen, wie man unglaubliche Spiele erstellt. Ich habe Tausenden von Menschen geholfen,
reale Spiele zu erschaffen und ich möchte, dass du einer dieser Leute bist. Also, wie sollen wir das machen? Jetzt? Wir haben viele Abschnitte. Ich glaube, es gibt etwa 15 Abschnitte, also werde ich sie wirklich, wirklich schnell überblicken. Also haben wir Abschnitt 1, der
die Einführung und Einrichtung ist, wird Unity herunterladen, Visual Studio herunterladen, über die Schnittstelle
sprechen, unser erstes Programm
erstellen und verstehen, wie man diesen Kurs verwendet
, der ist die Rezension, die Sie gerade beobachten. Wir haben Abschnitt 2, das ist der Spieler. Wir gehen voran und fügen eine Ebene
hinzu, fügen Animationen hinzu, um einige grundlegende Dinge wie
starre Körper in Kollidern zu lernen und so weiter in Einheit. Dann beginnen wir mit Blick auf Szenen werden mehrere Ebenen zu erstellen. Die erste Ebene, in der unser Spieler wohnen wird, wird in einer Stadt sein. Dann glaube ich, wir ziehen in eine Art Berge oder so etwas. Wir werden auch sehen Management verstehen und wie es Scene Manager kann von einer Szene zur nächsten mit den Kollidern, die wir zuvor gelernt haben,
übergehen. Und dann werden wir über Karten und Zentrumsmaschine lernen. Wir werden also Kachel-Sets verwenden, um unsere eigenen Karten zu erstellen. Und Sie werden Ihre eigenen Karten erstellen. Du wirst deine eigene Arbeit für das Spiel hinzufügen. Und wir werden eine der neuesten Techniken und Einheit verwenden, die Cinna Maschinen, die es uns erlauben, dem Spieler zu folgen, während er sich um die NADPH bewegt. Dann werden wir Doyle des organischen hinzufügen, denn welche Art von RPG hat keinen Dialog. So können wir mit verschiedenen Schwerpunkten interagieren und so weiter. Aber dann schauen Sie sich die Spielerstatistiken an. So wie Sie wissen, in jedem RPG hätte die Stärke, verteidigt die gesunde Mono und so weiter und so weiter. Sie werden verstehen, wie wir all das schaffen können, und das ist sehr wichtig. Dieser Abschnitt genau hier, wo wir tief in C Sharp eintauchen und Dinge beginnen, ein wenig komplex zu werden, aber mach dir keine Sorgen darüber. Ich werde Sie durch jeden Schritt sehr leicht gehen, damit Sie nicht verwirrt werden müssen. Als nächstes haben wir den Abschnitt 7, das ist das Menüsystem, denn offensichtlich brauchen wir eine Art von Menü, wo wir zu den Elementen gehen können, zu den Charakterstatistiken, um vielleicht wollen wir einfach speichern und laden und so weiter. Dann haben wir das Inventarsystem,
offensichtlich, weil, wie wir durch die Welt bewegen lernen, wie man Artikel zu erstellen, wie man Artikel abholt, wie man zu jedem Artikel, dass alle Statistiken hinzufügen und sie das Inventar, das wir haben erstellt im Menüsystem wird ein Geldsystem hinzufügen. Und mit meinem System, ich meine, wir werden ein bisschen konsistent vorhersagen,
wenn Sie nicht vertraut sind , keine Sorge, wir werden auch darüber reden. Und wir werden offensichtlich Geschäfte haben, in denen wir bestimmte Icons
kaufen können , anstatt sie einfach aufzuheben und die wilden, und sie können sie auch verkaufen. Wir werden über Quests sprechen, weil offensichtlich jede RPG VIP-Rolle in RPG, Rollenspiel, RPG ist offensichtlich, wo Sie Quests zu beenden haben. Wir werden das Speichern und Laden erfahren, wie das Spiel von Fallen im Detail funktionieren. Und wir werden lernen, wie man Ladung und all die guten Dinge spart. Und das Speichern und Laden wird auf das Inventar,
auf die Gegenstände, auf das Geld,
auf die Spielerstatistiken und all das angewendet auf die Gegenstände, auf das Geld, . Das meinte ich, wenn ich über die umgekehrte Pyramide spreche. Also haben wir die Grundlagen gelernt, die wir geschaffen haben. Nehmen wir an, wir haben ein bisschen C-Sharp gelernt. Es. Dann lernten wir, wie man Geld und Inventar schafft und was nicht. Und dann verwenden wir die Player-Prefs-Reihenfolge, um all das zusammen zu kombinieren. Das meinte ich also mit Pyramide. Du beginnst mit den Grundlagen und dann bauen wir weiter auf all dem auf. Dann werden wir auch Musik und Sound Praxis hinzufügen, denn offensichtlich, welche Spiele es nicht verwendet hat, es wirklich fehlt Geschmack und Charakter, wenn es keine Musik und Soundeffekte gibt. Und schließlich sind die letzten vier Abschnitte persönlich meine Favoriten, weil wir ein Kampfsystem aufbauen werden. Wir beginnen mit dem regulären gekämpften System, in dem wir
alles auslegen und bestimmte Kämpfe beginnen Feinde
und Spieler bis zu diesem Kampf laden werden. Dann werden wir sehen, wie der Feind angreifen und in Abschnitt 4, immaterielle, sehen, wie der Spieler angreifen kann. Und schließlich kommen wir, um zu sehen, wie wir Feinde töten, Schichten
abtöten können , und die Bethel geben Belohnung, Auszeichnungen und so weiter und so weiter. Also, was sollten Sie bis zum Ende der Partituren erwarten? Sie werden ein Master-Problemlöser. Sie werden die Grundlagen der Programmierung verstehen und lernen, wie Sie Spiele programmieren, genau wie die, die Sie gerade auf dem Bildschirm sehen. Sie haben auch die Chance, Ihre Game-Entwicklermuskeln zu biegen denn mit jedem Video gibt es eine Mini-Herausforderung für Schleife abgeschlossen. Und selbst wenn Sie herausfinden können, wie die Herausforderung zu tun, Mach dir keine Sorgen, Ich werde da sein, um Ihnen zu helfen, ethisch versucht und die Herausforderung mit zu vervollständigen. Alles, was wir gewinnen, wird konfigurierbar sein. So können Sie zwicken, herumspielen und geben die Spiele und individuelle und besondere Gefühl über. Sie werden also Ihre eigene Kreativität einbringen und sie wirklich zu Ihrer eigenen machen. Ich bin so aufgeregt, loszulegen und hoffe, dass du es auch bist. Dies ist der perfekte Zeitpunkt, um zu lernen, wie man programmiert. Also tauche mit mir ein und ich werde dir bei
jedem einzelnen Schritt deiner Spielentwicklung helfen . Und wir sehen uns im nächsten Video.
2. Teil 1: Wie du diesen Kurs verwendst: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. Und dieses Video, eigentlich, und nicht in diesem Video. Ich habe dieses Video erstellt, damit wir das Potenzial des Lernens aus diesem Kurs
maximieren können. Also ich will dich, ich möchte dich durch ein paar Schritte führen, die wir nutzen können, um gesamte Lernenergie
aus dem Kurs, den du gerade machst,
auszupressen , weil du bereits hast,
du bist bereits Ihre Zeit hier. Warum also nicht maximieren? Das erste, was wir verstehen werden, ist, wie das Q&A funktioniert. Wenn Sie also die Videos ansehen, schauen
Sie sie durch, vielleicht kommt etwas auf, das nicht vollständig verstehen sollte. Was Sie also tun können, ist, dass Sie voran gehen und in die Diskussionen direkt hier schlüpfen können. Und Sie können sehen, dass Sie mehrere Optionen haben. Sie können entweder eine Konversation beginnen, eine Frage stellen oder einfach ein Projekt teilen. Hier drinnen kannst du mir jede Frage stellen, die du willst. Keine Frage ist begrenzt. Aber es gibt einen kleinen Schritt, den Sie tun müssen, bevor Sie mir eine Frage stellen. Und das heißt, machen Sie Ihre eigenen Recherchen. Warum bitte ich Sie, das zu tun? Nun, denn manchmal, wenn man auf
ein Problem stolpert und man selbst nach einer Lösung sucht, und dann findet man sie entweder oder nicht. Und wenn du zurückkommst und mir die Frage stellst, ist
es viel einfacher zu verstehen. Warum ist das? Weil Sie bereits ein paar Vorschläge durchgemacht haben, vielleicht keiner von ihnen geeignet. Aber während Sie die Lösung für Ihr Problem finden, haben
Sie viel Wissen gewonnen. Und wenn Sie zu mir kommen, wenn Sie Michael fragen und wir gemeinsam die Lösung finden, werden
Sie verstehen, wie alles klickt und später, wenn Sie vielleicht auf das gleiche Problem stoßen oder vielleicht sehen
Sie dies Problem für einen anderen Schüler. Sie können ihnen helfen und es ist viel einfacher. Und schließlich, wenn Sie
bei Ihrer Frage eine Lösung für Ihre Frage finden und ein Salzpräfix hinzufügen,
weil andere Schüler möglicherweise das gleiche Problem haben und sie
eine Lösung für ihr Problem finden , wenn sie das gelöste Präfix sehen dahinter. Und schließlich, bevor ich gehe, wollen
Sie nur eine Sache sagen, dass es keine Frage von Limit. Es gibt keine dummen Fragen, es gibt keine dummen Fragen. Es gibt nur nicht-professionelle Spieleentwickler. Niemand wurde als Profi geboren. Wir müssen alle durch Versuch und Irrtum lernen. Du würdest nicht glauben, wie Zitat unzitiert, meine Fragen waren dumm. Weil ich, o, ich bin, ich bin nicht geboren, ein Profi in Einheit hat mir Jahre der Praxis, Versuch und Irrtum oder Fragen gestellt, Googeln Dinge. Das ist also ein Prozess. Keine Sorge, keine Angst, seien Sie nicht unsicher über einige der Fragen, die Sie vielleicht stellen möchten. Seien Sie mutig genug, um nach einer Lösung zu suchen, wenn Sie keine finden, keine Sorge, lassen Sie einfach eine Frage. Ich beantworte immer alle meine Schüler und wir
tauchen immer so tief wie nötig, um eine Lösung für jedes Problem zu finden. Und jetzt reden wir über den Discord Server. Und hier können Sie tiefer in
die Community einsteigen , die wir hier auf WMD-Spieleentwickler erstellt haben. So können Sie entweder auf den Link in der Beschreibung
dieses Videos gehen oder Sie können mein Profil besuchen und den Link irgendwo dort finden. Und ich empfehle, dass Sie sich der Zwietracht anschließen. Warum? Denn die meiste Zeit könnte es mich ein paar Stunden
dauern um zu antworten, basierend darauf, woher Sie kommen. Also vielleicht leben wir in verschiedenen Zeitzonen. Vielleicht, wenn du mir die Frage stellst, ist
es Mitternacht und du brauchst schnell eine Lösung. Vielleicht schlafe
ich, kann ich nicht zu meinem Computer kommen. Es ist also sehr vorteilhaft für dich, dem Zwietracht Kanal beizutreten, den wir geschaffen haben. Und ich zeige Ihnen einfach den Score-Kanal hier. Das ist der Beginn unseres Zwietracht Kanals. Sie können sehen, dass wir die allgemeine Gemeinschaft haben. Wir haben den C-scharfen Chat, wir haben den Spiel-Design-Chat, wir haben die Show aus Ihrem Spiel. Wir haben die allgemeinen Fragen zur Spielentwicklung. Und Sie können sehen, dass wir
hier immer noch nichts haben , weil es ziemlich neu ist, da ich das aufnehme. Aber später, wenn Sie hier reingehen, werden
Sie feststellen, dass es eine riesige Gemeinschaft von Menschen gibt, die darauf warten,
Ihnen zu helfen, und vielleicht Menschen, die darauf warten, Hilfe von Ihnen zu bekommen. Und es ist sehr vorteilhaft zu versuchen, die Frage anderer Leute zu lösen. Du würdest nicht glauben, wie viel ich gelernt habe, nur anderen Menschen zu helfen. Und Sie können hier sehen, dass wir mehrere Kurse haben. Dies sind alle Kurse, die Doppel m Gamma-Spiel nach unten hat oder ich erstellt habe. Und wir können auch sehen, wir können Meme teilen und hier haben wir allgemeine Spieldiskussionen, AAA-Spiele, ich weiß nicht, was Sie spielen möchten. Wir können sie hier und den sozialen Kanal oder Kategorie diskutieren und so weiter und so weiter. Also empfehle ich, dass Sie unserem Discord Server beitreten. Es macht sehr lustig. Wir werden dort eine Menge Spaß haben. Und das war's. Das ist alles, was ich über Discord Server sagen wollte. Gehen wir nun zu den Herausforderungsfolien. Also, was sind herausgeforderte Folien? Wenn Sie sich durch jedes Video bewegen, werden
Sie feststellen, dass
ich Ihnen irgendwann sagen werde, dass Sie das Video pausieren und die Herausforderung starten. Wenn Sie also diese Folie sehen, warten
Sie auf mich, um alle Punkte zu beenden und dann müssen Sie das Video pausieren. Warum betone ich das Wort, habe einen Boss? Weil es viel besser ist, durch das Tun zu lernen und nicht nur durch das Ansehen vieler Kurse, die ich aus gelernt habe, dass ich persönlich nahm wo ich fühlte, fehlte in der Abteilung dies zu tun. Wenn du einfach rumsitzt,
siehst du zu, wie jemand wieder erschaffen wurde. Okay. Das ist sehr gut. Und jetzt ist es vorbei. Okay? Und dann beendest du den Kurs. Und nach ein paar Wochen merkt
man, dass man gar nicht weiß, wie man etwas macht. Also die Herausforderungs-Folien, die ich erstellt habe, ist extrem wichtig, weil Sie an dieser Stelle anfangen zu tun, anstatt zu beobachten. Und selbst wenn Sie nicht herausfinden können, wie die Herausforderung zu tun, Mach dir
keine Sorgen darüber. Ich werde da sein, um Ihnen zu helfen, nachdem Sie versucht haben, die Herausforderung mit Ihnen zu bewältigen. Du wirst also nie allein gelassen. Und zusätzlich dazu, wie beim Durchschauen der Antworten auf Ihre Fragen, bevor Sie im Q&A stellen, stolpern Sie, wenn Sie eine Herausforderung machen, auf mehrere Variablen, die Sie vielleicht noch nicht in Betracht gezogen haben. Und wenn du siehst, wie ich die Herausforderung abschließe, wirst
du sie viel besser in deinem Kopf verwurzelt haben, wenn du auf das gleiche Problem gestoßen bist, wenn du anfängst, deine eigenen Spiele zu erstellen. Und nun gehen wir weiter und beenden mit der Kursstruktur. Jetzt haben wir viele Abschnitte. Ich glaube, es gibt etwa 15 Abschnitte, also werde ich sie wirklich, wirklich schnell überblicken. Wir haben Abschnitt 1, der die Einführung und Einrichtung ist, wird Unity herunterladen, Visual Studio herunterladen, über die Schnittstelle
sprechen, unser erstes Programm
erstellen und verstehen, wie man diesen Kurs, das ist das Video , die du gerade beobachtest. Dann haben wir Abschnitt 2, das ist der Spieler. Wir gehen voran und fügen einen Spieler bei Animationen und nur verstehen wie alles funktioniert mit lernen einige grundlegende Dinge wie starre Körper, Kollider und so weiter und Einheit. Dann beginnen wir Blick auf Szenen wird mehrere Ebenen erstellen. Die erste Ebene, in der unser Spieler wohnen wird, wird in einer Stadt sein. Dann glaube ich, wir ziehen in eine Art Berge oder so etwas. Und dann so weiter und so weiter. Wir werden auch sehen Management verstehen und wie ein Szenenmanager
uns von einer Szene zur nächsten mit den Kollidern, die wir zuvor gelernt haben, umstellen kann . Dann werden wir über Karten und Kino-Maschine lernen. Wir werden also Kachel-Sets verwenden, um unsere eigenen Karten zu erstellen. Und Sie werden Ihre eigenen Karten erstellen. Sie werden Ihrem eigenen Geschmack hinzufügen, um das Spiel. Und wir werden eine der neuesten Techniken und Einheit verwenden,
die Cinna Maschine ist, um uns zu ermöglichen, dem Spieler zu folgen, wie er sich auf der Karte bewegt. Dann werden wir Dialog hinzufügen oder gewinnen, denn welche Art von RPG hat keinen Dialog? Im Ernst, wir müssen ein Dialogsystem in
unser Spiel einfügen , damit wir mit verschiedenen Botschaften interagieren können und so weiter. Nun, dann schauen Sie sich die Spielerstatistiken an. Wie Sie wissen, haben wir
in jedem RPG die Stärke, Verteidigung, die Gesundheit, das Mana und so weiter und so weiter. Sie werden verstehen, wie wir all das schaffen können, und das ist sehr wichtig. Auch dieser Abschnitt hier, wo wir tief in C-Sharp eintauchen und die Dinge beginnen, ein wenig komplex zu werden, aber mach dir keine Sorgen darüber. Ich werde Sie durch jeden Schritt sehr leicht, also wollen Sie verwirrt werden. Als nächstes haben wir den Abschnitt 7, der das Menüsystem ist. Denn offensichtlich brauchen wir eine Art von Menü, wo wir zu den Items gehen können, zu den Charakterstatistiken, um vielleicht wollen wir einfach speichern und laden und so weiter. Dann haben wir das Inventarsystem,
natürlich, weil, wie wir durch die Welt bewegen lernen, wie man Artikel zu erstellen, wie man Artikel abholt, wie man zu jedem Artikel ihre eigenen Statistiken hinzufügen und sie in das Inventar, das wir in einem manuellen System erstellt haben. Wir fügen ein Geldsystem hinzu. Und mit Geldsystem, ich meine, wir werden ein Bitcoin-System erstellen, wenn Sie nicht vertraut sind, keine
Sorge, wir werden darüber auch sprechen. Und wir werden natürlich Geschäfte haben, in denen wir
bestimmte Gegenstände kaufen können , anstatt sie nur in der Wildnis abzuholen, und wir können sie auch verkaufen. Wir werden über Quests sprechen, weil offensichtlich jedes RPG, die Rolle in RPG TR für Rollenspiel, RPG ist offensichtlich, wo Sie Quests zu beenden haben. Wir werden das Speichern und Laden erfahren, wie Player-Prefs im Detail funktionieren. Und wir werden lernen, wie man Last und all die guten Dinge spart. Und das Speichern und Laden wird auf das Inventar,
auf die Gegenstände, auf das Geld,
auf die Spielerstatistiken und all das angewendet auf die Gegenstände, auf das Geld, . Das meinte ich, wenn ich über die umgekehrte Pyramide spreche. Also haben wir die Grundlagen gelernt, die wir geschaffen haben. Sagen wir, wir haben ein bisschen C scharf gelernt. Dann haben wir gelernt, Geld und Inventar zu schaffen und was nicht. Und dann verwenden wir die Player-Prefs und Ordnung, um all das zusammen zu kombinieren. Das meinte ich also mit Pyramide. Wir beginnen mit den Grundlagen und dann bauen wir weiter auf all dem. Dann werden wir auch Musik und Soundeffekte hinzufügen, weil offensichtlich welches Spiel? Und es hat keine Musik, es fehlt wirklich Geschmack und Charakter, wenn es keine Musik und Soundeffekte gibt. Und schließlich sind die letzten vier Abschnitte persönlich meine Favoriten, weil wir ein Kampfsystem aufbauen werden. Wir beginnen mit dem regulären Kampfsystem, wo wir
alles auslegen und bestimmte Gefechte beginnen und Feinde und Spieler in diesen Kampf laden werden. Dann sehen wir, wie der Feind angreifen kann. Und die, in Abschnitt 14, dann werden wir sehen, wie der Spieler angreifen kann. Und schließlich werden wir sehen, wie wir Feinde töten können, Schichten
abtöten , und den Kampf, Belohnung, Belohnungen und so weiter und so weiter. Also mit dem alles gesagt, ich möchte Ihnen nur sagen, dass das Wichtigste in Punktzahlen ist, dass Sie so viel wie möglich zu maximieren. Alle Informationen, die hier drin sind, haben
Sie sich bereits die Zeit genommen, um die Ergebnisse zu starten. Also meine paar Tipps, die ich dir geben möchte. Zunächst einmal, wenn Sie auf ein Problem mit Ihrer eigenen Forschung stoßen, wenn Sie keine Lösung finden oder keine geeignete Lösung für Ihr Problem finden,
stellen Sie sicher, dass Sie eine Frage stellen. Es gibt keine Fragen der Begrenzung, überhaupt keine. dritte Tipp besteht darin, dem Discord Server beizutreten. Es ist sehr wichtig, der Gemeinschaft beizutreten, um
das Gefühl zu haben , dass Sie nicht allein in der Schlacht sind, in der Schlacht. Und denke, wo ist der vierte Tipp, den ich habe, ist bis zum Ende zu folgen. So werden Sie beginnen, indem Sie die Grundlagen lernen. Vielleicht hast du schon ein bisschen Wissen und Einheit. Wenn Sie das tun, werden einige der Abschnitte vielleicht
etwas stagnierend erscheinen , weil ich jeden Schritt sehr, sehr sorgfältig durchgehe. Weil viele, sagen
wir, vielleicht bist du einer von ihnen. Du hast vielleicht keine Ahnung, wie C-Sharp funktioniert. Du hast keine Ahnung, wie es funktioniert. Also brauchen Sie diese zusätzliche Pflege und Verlangsamung. Also, wenn Sie bereits vertraut mit Unity, sehen scharf. Einige der Videos scheinen vielleicht ein bisschen langsam,
aber verstehen, dass es sehr wichtig ist für andere Studenten auch auf dem Gebiet, die versuchen, von Grund auf neu zu lernen. Also mit dem besagten, lasst uns keine Zeit mehr verschwenden. Und gehen wir zum nächsten Video über.
3. Unity und Visual Studio Schritt, für Schritt: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir Einheit herunterladen und gut abhalten und mit ihm die Visual Studio-Tools
integrieren, die wir für die Partituren benötigen werden. Also lasst uns anfangen. Als erstes müssen Sie in Google gehen und dann gehen,
gehen Sie einfach hier eingeben, laden Sie Unity herunter. Es ist so einfach wie das. Wenn Sie eingeben, erhalten Sie viele Vorschläge. Stellen Sie also sicher, dass Sie diejenige mit dem Unity 3D.com und der get unity natürlich finden, und klicken Sie auf den Download Unity
, der diese Seite direkt hier öffnet. Also, hier müssen Sie Unity Hub herunterladen, wenn Sie noch nie Unity verwendet haben. Nun, was ist Unity Hub? Unity Hub ist wie ein Ort, an dem wir alle
unsere Versionen von Unity und auch alle Projekte, die wir machen, behalten werden. Jetzt vor Unity Hub wird
unser Projekt überall auf unserem Computer sein, irgendwo in verschiedenen Verzeichnissen und so weiter. So macht der Unity Hub wirklich es viel einfacher, durch Ihr Projekt zu gehen und wirklich,
wenn auch wirklich gute Organisation zu haben . Stellen Sie also sicher, dass Sie Unity basierend auf dem Betriebssystem herunterladen, das Sie haben. Wenn Sie also über macOS verfügen, müssen
Sie sicherstellen, dass Sie das Unity 40 macOS herunterladen. Und wenn Sie ein Windows 7 haben, dann laden Sie es für Windows 7 herunter. Klicken Sie also einfach auf Download Unity Hub. Und wenn Sie mit dem Download fertig sind, sollte
Q diesen Installationsordner direkt hier haben. Wenn Sie darauf doppelklicken, wird
es gefragt, ob Sie wollen? Ja. Also Sie weiter, klicken
Sie auf Zustimmen, Sie wählen das Ziel, wo Sie Ihre Unity Hub setzen möchten. Und dann starten Sie die Installation. Jetzt, da ich Unity Hub bereits installiert
habe, werde ich es nicht erneut installieren. Stellen Sie also sicher, dass Sie alles installieren und ich sehe Sie in nur ein bisschen. Oh, okay, willkommen zurück. Wenn Sie also Unity Hub korrekt installiert haben, sollten
Sie hier eine Nachricht oder ein Fenster erhalten, das ungefähr so aussieht. Jetzt haben wir noch keine Projekte, aber hier werden alle unsere Projekte anwesend sein und wir können auf sie in unserer Freizeit zugreifen. Bevor Sie fortfahren, muss
Unity sicherstellen, dass Sie über ein Konto verfügen. Also, das ist mein Konto hier. Ich habe mein Google Gmail verwendet, um ein Konto auf Unity zu erstellen. Sie können entweder ein neues Konto erstellen oder Sie können auch Gmail oder Facebook verwenden. Ich bin mir nicht sicher, ob sie das zulassen. Und sobald Sie ein Konto auf Unity erstellt haben, können
Sie direkt hier in die Installationen gehen. Und hier laden wir verschiedene Versionen von Unity herunter. Nun, für diesen Kurs, werde
ich die neueste Version von Unity verwenden, die wir derzeit haben. Nun, wenn Sie eine neue Version von Unity oder irgendeine Art von Version von Unity installieren möchten, gehen Sie
einfach hier in die Anzeige. Klicken Sie auf Hinzufügen. Und hier können Sie sehen, dass wir verschiedene Arten von Einheit haben, die wir installieren können. Nun haben wir zunächst die empfohlenen Releases. Dies sind diejenigen, die bereits
getestet und gründlich getestet wurden und sie funktionieren perfekt. Aber Sie können auch gehen und nach den offiziellen Veröffentlichungen suchen. Jetzt werden wir diese Version direkt hier verwenden. Und das ist eine sehr gute Version. Sie können es installieren. Und Sie haben auch die Vorabveröffentlichung ist jetzt Pressemitteilungen arbeiten die gleiche wie die offizielle Veröffentlichung und die empfohlenen Veröffentlichungen, aber sie sind manchmal ein bisschen fehlerhaft und Sie können ein paar Fehler auf den offiziellen Veröffentlichungen stoßen. Es könnte auch in der Lage sein, Probleme zu beheben, aber sie sind nicht so offensichtlich wie in den vorherigen Versionen. Möglicherweise stoßen Sie auf kein Problem, aber ich würde Ihnen empfehlen, die offizielle Version zu verwenden, da sie
neuer als die empfohlenen Versionen sind und weniger sperrig als die Pre-Releases sind. Laden Sie also die neueste Version herunter, die Sie auf Ihrem Computer haben. Oder momentan bist du vielleicht aus der Zukunft und hast eine neuere Version als ich. Laden Sie also die neueste Version herunter. Und keine Sorge, dieser Kurs funktioniert oder das Projekt, das wir
erstellen werden, wird mit jeder Version von Unity und der Zukunft funktionieren. Nun, wir werden auf Weiter klicken rechts hier. Und das ist ein sehr wichtiger Teil beim Herunterladen und Installieren von Unity jetzt. Und hier haben wir Module, und diese Module sind wie Add-Ons zu unserer Einheit , die es uns ermöglichen, Spiele auf verschiedenen Plattformen zu erstellen. So können Sie zum Beispiel hier sehen, dass wir jetzt Module für verschiedene Plattformen laden können. Wenn Sie zum Beispiel ein Spiel auf Android erstellen möchten, können
Sie das Modul für Android verwenden. Oder wenn Sie ein Spiel für die iOS oder Symbole und so weiter erstellen möchten. Möglicherweise suchen Sie auch Spiele für Linux oder Mac OS oder was zu erstellen. Also, basierend auf dem, was
Sie erstellen möchten, können Sie eines dieser Modellmodule wählen, oder Sie können einfach später warten, Sie können diese jederzeit herunterladen. Sie haben auch die Dokumentationen, die ich Ihnen empfehlen, herunterladen. Diese Dokumentationen sind die Unity-Dokumentation und sie sind sehr wichtig. Vielleicht willst du manchmal bestimmte Dinge nachschlagen. Und schließlich hast du das Sprachpaket. Und wenn du Chinese oder Koreanisch bist, bin
ich mir nicht sicher, was das sind, ehrlich gesagt, ich habe keine Ahnung. Vielleicht können Sie eines dieser Sprachpakete verwenden. Aber das Wichtigste, und Sie müssen sicherstellen, dass Sie
die Microsoft Visual Studio Community 2019 oder neuer mit Ihrer Einheit installiert haben . Weil wir Visual Studio verwenden, um alles,
alles und alle Verhaltensweisen der Objekte zu codieren , die wir Immunität schaffen. Nun, das ist alles, was Sie tun müssen. Klicken Sie einfach auf Weiter und Sie werden mit der Installation Ihrer Unity beginnen. Also, mit dem gesagt, es ist Zeit für Ihre erste Herausforderung. Und Ihre Herausforderung besteht darin, Unity und Visual Studio herunterzuladen. Also laden Sie Unity Hub herunter, genau wie ich Ihnen gezeigt habe, stellen Sie sicher, dass Sie, wenn Sie einen Mac haben, die Mac-Version herunterladen. Wenn Sie ein Windows haben, laden
Sie die Windows-Version herunter. Dann müssen Sie die neueste Version herunterladen. Und schließlich stellen Sie sicher, dass Sie auch Visual Studio mit Unity herunterladen. Also pausieren Sie das Video jetzt und gehen Sie weiter und laden Sie Einheit mit Visual Studio herunter. Und im nächsten Video gehen wir einfach über die Schnittstelle von Einheit und Visual Studio, das Sie gerade gesehen haben, dass wir unsere ersten Ängste überstehen können. Also sehe ich dich in der nächsten.
4. Unity und VS 101: Okay, willkommen zurück zu einem anderen Video. Mal sehen, was Einheit ist? Unity ist eine plattformübergreifende Game Engine Entwicklung, die von Unity Technologies entwickelt wurde Wir werden Unity nutzen, um unser Spiel zu entwickeln. Was bedeutet Cross-Plattformübergreifend? Es bedeutet, dass wir es auf verschiedenen Plattformen verwenden können. Und es ist eine Spiel-Engine. Und was Game-Engine ist, es ist eine Umgebung für uns, Spiele zu entwickeln und
Physik hinzuzufügen und verschiedene Dinge hinzuzufügen, um unser Spiel zu erstellen. Also schauen wir uns an, wie Unity tatsächlich
aussieht und ich werde ein paar Dinge darauf erklären. Das ist also Einheit. Zunächst einmal haben wir diese Symbolleiste direkt hier oben über allem. Und das bietet Zugriff auf die wichtigsten Arbeitsmerkmale. Auf der linken Seite finden die grundlegenden Werkzeuge zur Manipulation der Szenenansicht und der darin enthaltenen Spielobjekte. In der Mitte haben wir das Spiel, die Pause und die Stub Control-Taste. Und die Schaltflächen auf der rechten Seite geben Ihnen Zugriff auf die Unity Zusammenarbeit, Einheit Cloud Service und Unity Konto, und werden nicht viel in das bekommen. Auf der rechten Seite haben
wir das Layer-Sichtbarkeits-Einheitenmenü. Und wir haben den Editor, einige alternative Layouts für das Editor-Fenster bietet und es Ihnen ermöglicht, Ihre eigenen benutzerdefinierten Layouts zu speichern. Wenn Sie also nicht das gleiche Layout haben wie ich, können
Sie einfach hier im Layout klicken und Sie können das Standardlayout auswählen. Und das ist der Standardspieler, den wir haben. Es sind die Projekte hier und Inspektor und alles. Als Nächstes werden wir über das Hierarchiefenster hier sprechen. Es ist eine hierarchische Textdarstellung jedes Spielobjekts in unserer Szene. Jedes Element in der Szene hat also einen Eintrag in der Hierarchie. Die beiden Fenster sind also von Natur aus miteinander verbunden. Die nächste Hierarchie zeigt die Struktur, wie Spielobjekte miteinander verbunden sind. Also genau hier haben wir die Musterszene. Und wenn wir darauf klicken, haben
wir die Hauptkamera darunter. Und wenn wir ein weiteres Spielobjekt hinzufügen, wird
es auch hier angezeigt. Und hier ist der Inspektor, wie Sie rechts sehen können. Dies ist der Fensterinspektor und es gibt, es ermöglicht Ihnen, alle Eigenschaften des aktuell ausgewählten Spielobjekts anzuzeigen und zu bearbeiten. Wenn Sie also das Spielobjekt nicht auswählen, sehen
wir nichts. Wenn wir auf Hauptkamera klicken, haben
wir diese verschiedenen Fenster direkt hier, und die Layouts und Zählerinhalte
des Inspektorfensters geändert jedes Mal, wenn Sie ein anderes Spiel Objekte auswählen. Jetzt haben wir also kein anderes Spielobjekt, also lassen wir uns einfach mit der Kamera begnügen. Als Nächstes. Dann haben wir diese Szenenansicht genau hier. Und die Szenenansicht ermöglicht es Ihnen, Ihre Szene zu visualisieren und zu navigieren und zu bearbeiten. In der Szenenansicht können Sie je nach verwendetem Projekttyp entweder
eine 3D-Perspektive oder eine 2D-Perspektive anzeigen. Also in Partituren wird mit der 2D-Projektansicht, aber Sie können auch hier schreiben, klicken Sie auf die Schaltfläche und es wird 3D gehen. Wie Sie sehen können, haben wir diese 3D-Ansicht, aber wir werden nicht brauchen, es wird einfach in den 2D-Modus gehen. Und schließlich möchte ich hier über das Projektfenster sprechen, dem Ihre Bibliothek und Assets angezeigt werden, die in Ihrem Projekt verwendet werden können. Wenn Sie also Assets in Ihr Projekt importieren, werden diese direkt hier angezeigt. So zum Beispiel, für jetzt haben wir keine Assets, würde nur die Szenen Ordner. Und innerhalb des Szenenordners haben
wir diesen Beispielordner. Dies ist also ein kurzer Überblick über die Einheit und was all diese Panels und Gadgets sind. Wir werden natürlich tiefer in sie
eintauchen, wenn wir den Kurs durchlaufen. Aber jetzt möchte ich über die sprechen, etwas sehr Wichtiges und das ist das Visual Studio. Also, was ist Visual Studio? Visual Studio ist ein Microsoft Visual Studio. Es wird gut verwendet, es wird von Microsoft entwickelt und es ist eine IDE. Und IDE ist eine integrierte Entwicklungsumgebung. Und was es tut,
tatsächlich, wenn Sie mich in Visual Studio fragen,
wird uns helfen, den Code zu schreiben, der verwendet wird, um Spielobjekte
in der Einheit zu manipulieren und etwas namens Skripte zu verwenden. Wie verwendet man Unity mit Visual Studio? Wir brauchen also einen Weg für Einheit und Visual Studio, um zu kommunizieren. Aber das tun sie nicht einfach. Wir müssen etwas hinzufügen, das als Punkt-CSS-Datei bezeichnet wird, und das sind unsere Skripte. Und diese Skripte sind, wir nehmen tatsächlich diese Skripte, wir fügen sie an Spielobjekte, und die Verwendung dieser Skripte wird in der Lage sein, Verhalten zu unterschiedlich hinzuzufügen. Arten von Spielobjekten, und wir werden das sehr, sehr bald sehen. Gehen wir also in Visual Studio und sehen, worum es geht. Hier ist Visual Studio. Und vielleicht haben
Sie beim ersten Öffnen verschiedene Paneele hier auf
der rechten Seite und die vorderen Fenster rechts hier links. Fühlen Sie sich frei, alle von ihnen zu schließen. Und mach dir keine Sorgen darüber, was als nächstes passiert. Natürlich haben Sie dies beim ersten Start von Visual Studio nicht, aber Sie werden es bald genug sehen. Und ich werde Ihnen hier ein paar Zeilen Codes vorstellen. Also lassen Sie uns nur ein wenig hineinzoomen. Und genau hier oben können Sie sehen, dass wir Systemsammlungen verwenden. Wir verwenden Stempelsammlung Sammlungen generische. Und am wichtigsten ist, dass wir die Unity-Engine verwenden. Was sind das alles? Nun, das werden Namespaces genannt. Und im Grunde sind dies Bibliotheken, die uns
die Möglichkeit geben , verschiedene Arten von Fell zu verwenden. So zum Beispiel, Unity Engine, die wir hier hinzugefügt haben, ermöglicht es uns, für die Startmethode und die Update-Methode und
verschiedene Engines zu verwenden , um Spiele zu erstellen und es viel einfacher zu machen. Und wir schreiben einfach hier mit Unity Engine. Und es spart uns viel Gold und gibt uns die gesamte Bibliothek zu benutzen. Als nächstes haben wir den Namen der öffentlichen Klasse. Und das ist der, eigentlich der ClassName, der genau hier sein sollte. Es wird das Skript sein, über das wir gesprochen haben und es wird an ein Spielobjekt angehängt werden. Und es wird den gesamten Code umfassen, der
das Verhalten unseres Spielobjekts und Sidewall-Spiels ändert und Mono-Verhalten ist eine Basisklasse und es sind tatsächlich diese beiden bedeuten, dass es vom Mono-Verhalten erbt, , die es erlaubt, verschiedene Arten von Manipulationen und Motor und Physik zu verwenden und so weiter und so weiter. Und das nächste, was wir haben, ist der Anfang und darüber ist etwas, das gemeinsame genannt wird. Also, wenn Sie Code schreiben und diese beiden Zeilen hier hinzufügen, wird
es Dinge auskommentieren und Kommentare werden tatsächlich nicht in der GOP, dem Code,
dem Code, dem Code und dem Code ausgeführt und sie sind absolut sicher. So beginnt es, start wird vor dem ersten Frame-Update aufgerufen. Also, sobald unser Spiel beginnt, die Startmethode, und dies wird eine Methode genannt, die wir ausführen werden. Als nächstes haben wir das Update, und das Update wird einmal pro Franc aufgerufen. Also jeder Frame, den wir in unserem Spiel haben, wird
das Update aufgerufen. So wird start in der Regel verwendet, um bestimmte Objekte
die anfänglichen Eigenschaften oder Konfigurationen zu geben . Und das Update wird für Objekte verwendet, die jeden Frame verschieben oder ändern. Wenn wir
zum Beispiel ein Auto haben und starten, können
wir ihm die Farbe, den Namen,
die Geschwindigkeit geben , mit der es gehen kann. Ein Update wird das Auto bewegen, wird den Sprung machen, wird das Auto schneller gehen, vielleicht erhöhen seine Geschwindigkeit. So erhalten Sie die Grundidee von Visual Studio und jetzt ist es Zeit für Ihre Herausforderung. Deine Herausforderung ist es, eine Messe zu machen. Also öffne Unity, erstelle ein Projekt. Und wenn Sie nicht wissen, wie Sie ein Projekt erstellen, machen
wir das im nächsten Video. Und wenn du fertig bist, nachdem du Heumasse gemacht hast, geh zum nächsten Video und wir machen unseren ersten Code und beginnt. Also sehe ich dich im nächsten Video.
5. Dein erster Code: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir unseren ersten Code und unsere ersten Spielobjekte erstellen. Wie Sie hier sehen können, haben
wir ein Spielobjekt namens Hello World in unserem Herzen und unserer Hierarchie. Es ist hier in unserer Szene präsent, obwohl wir es nicht sehr gut sehen. Und wir haben das Skript hier angehängt. Wir haben auch die Skriptkriterien in unserem Projekt erstellt. Und in der Konsole. Wenn wir auf Play klicken, erhalten
wir tatsächlich eine Nachricht, die Hallo Michele zeigt, das bin ich. In Ihrem Fall wird es Ihren Namen anzeigen. Also bin ich sehr aufgeregt für dieses Video, weil es unser erster Einstieg in die Unity Welt ist. Also hoffe ich, dass dir das Video gefallen hat und ich sehe dich in nur ein bisschen. Okay, das erste, was wir tun werden, ist, dass wir den Unity Hub öffnen. Und momentan haben Sie hier keine Projekte, die sich ändern werden, nur das erste, was wir tun werden, ist klicken Sie auf Neu hier. Und wir müssen eine Vorlage für unser Spiel auswählen. Also werden wir ein 2D-Spiel erstellen, kein 3D. Und das sind verschiedene Optionen auch für verschiedene Projektrohren. Als nächstes müssen wir einen Projektnamen hinzufügen. Fühlen Sie sich frei, es zu nennen, was immer Sie wollen. Wir werden es vorerst nennen, die Hello World, das Projekt. Stellen Sie sicher, dass Sie einen Standort für Ihre Unity-Projekte auswählen. Also klicken wir auf dieses und lassen Sie uns zurückgehen und es innerhalb der Unity-Projekte speichern. Wählen Sie also den Ordner und jetzt haben wir einen Speicherort für unser Spiel. Du musst es tun. Alles, was Sie jetzt tun müssen, ist auf Beton klicken. Klicken Sie also auf Erstellen und Unity wird beginnen, Ihr Projekt zu erstellen. Und ich werde dich nicht mit dem Warten hier langweilen. Ich werde die Magie der Bearbeitung verwenden und einfach in das Projekt springen. So sehen wir uns in ein bisschen. Willkommen zurück. Also hoffe ich, dass Ihr Projekt auch fertig ist. Das ist also unsere Szene. Wenn Sie diese Art von nicht gesehen haben, wie ich Ihnen gesagt habe, können
Sie immer zum Layout gehen und das Standardlayout auswählen. Und wir haben das gleiche Layout, wir beide. Also, bevor wir beginnen, lassen Sie uns zuerst auf etwas, das die Konsole genannt wird. Und wie Sie sehen können, noch bevor wir etwas anfangen, haben
wir dieses Konsolenfenster genau hier. Und was das tut, ist, dass es uns die Botschaften zeigt. Und wir werden dieses Konsolenfenster verwenden, um die Dinge zu sehen, die aus unserem Code gedruckt werden. Und wenn Sie es nicht haben, können
Sie einfach hier in das Fenster gehen und darauf klicken. Und gerade oben hier, können
Sie auf der allgemeinen sehen wird die Konsole haben, so klicken Sie darauf, ein Fenster sollte erscheinen und Sie können es docken, wo immer Sie wollen. Ich werde es direkt hier an Projekte andocken. In anderer Sache, über die ich sprechen möchte, ist in der, wo immer Sie Ihr Projekt gespeichert haben. Ich habe es in D,
Unity Projekten und Hallo Welt gespeichert . Wie Sie sehen können, haben wir hier verschiedene Ordner. Wir haben die Vermögenswerte, halten unsere Szenen und alles, was wir erstellen und Projekte. Sie können die Assets und Projekt-Assets direkt hier sehen. Wir haben auch die Bibliothek, die jedes Mal automatisch erstellt wird, wenn
wir ein Projekt betreten , wir haben Protokolle,
wir haben Pakete , wir haben Projekteinstellungen, alle obwohl all das Details sind, die nicht zu viel bekommen. Und die temporäre Ordner, die wir später in der magischen Tube zum Spiel diskutieren. Gehen wir zurück in die Einheit. Und hier drin werden wir unseren Rock kreieren. Also lasst uns mit der rechten Maustaste hier reinklicken. Und lassen Sie uns in Erstellen und erstellen gehen. Wir können tatsächlich mehrere Dinge erstellen, wie Sie sehen können, werden
wir ein paar von ihnen in unserem Projekt tun, aber jetzt lassen Sie uns einfach ein C-Sharp Skript erstellen. Klicken Sie also darauf. Und bevor Sie etwas tun, also tun Sie jetzt nichts, lassen Sie alles. Sie müssen sicherstellen, dass, wenn Sie ein Skript benennen, Sie es mit
Genauigkeit tun , da es später zu einem Fehler führt, wenn Sie versuchen möchten, Ihr Skript umzubenennen. Stellen Sie also sicher, dass Sie es von Anfang an korrekt benennen. Also nennen wir diese hallo Welt ohne Leerzeichen und klicken Sie auf Enter, wenn Sie sicher sind, dass Sie sich für den Namen des Skripts entschieden haben. Also klicken Sie auf Enter und ich werde Ihnen sagen, warum in nur ein bisschen. Wie Sie sehen können, haben
wir hier im Inspektor etwas. Und es hat ein bisschen Zeit gedauert und es liegt daran, dass Einheit den Code hier kompilieren muss. Und Sie können den Code tatsächlich im Inspektor sehen. Und warum ich Ihnen gesagt habe, dass es so wichtig ist, sicherzustellen, dass der Name des Skripts genau hier definiert
ist, bevor wir auf Enter klicken, weil es der Name unserer Klasse sein wird. Wenn Sie also den Namen unseres Skripts hier ändern, ändert sich
Tick Nachname nicht. Und es wird einen Fehler geben, bei dem Unit oder das Visual Studio nicht in der Lage
sein wird , das richtige Skript im Projekt zu finden, und dies wird zu Fehlern führen. Um das zu vermeiden, einfach sicher, dass Sie Ihr Skript von Anfang an korrekt und präzise benennen. Was sollen wir als Nächstes tun? Es ist sehr einfach. Sie doppelklicken einfach auf Hello World und das Visual Studio sollte sich öffnen. Und wie Sie hier sehen können, haben wir das einige vielleicht im vorherigen Video beschrieben. Also, was machen wir hier drin? Wir werden einfach etwas auf unsere Konsole drucken und wir werden das innerhalb des Lagerbestands tun. Also gehen wir voran und drucken. So wie Sie sofort sehen können, Visual Studio, beginnt
unser großer Freund uns zu helfen und es gibt einen Vorschlag für das, was wir verwenden möchten. Also schreiben wir den Druck und es gibt uns den Vorschlag. Und jetzt können Sie einfach auf Tab klicken und es wird es für Sie fertig. Und jetzt öffnen wir unsere Klammern und wir können sehen, dass Visual Studio uns wieder hilft. Und es sagt uns, dass wir eine Objektnachricht innerhalb von hier hinzufügen müssen. Diese Objektnachricht wird eine Zeichenfolge sein. Wir reden später über Saiten. Aber für jetzt, string ist eine Zeichenfolge von Zeichen, die wir in diese beiden Anführungszeichen direkt hier setzen. Also lassen Sie uns voran und fügen Sie diese beiden Anführungszeichen wieder ein. Und jetzt schreiben wir innerhalb dieser zwei Zitate, hallo Welt. Ist das also genug? Eigentlich, nein, denn wenn du hier siehst, haben
wir diese schwippige rote Linie. Und wenn wir den Mauszeiger darüber bewegen, sagt
es uns, dass es ein Symbol erwartet, das dieses ist. Und jede Codezeile in C Sharp müssen
Sie dieses Semikolon hier hinzufügen. Also sparen Sie das. Und jetzt, weil wir es in den Start gesetzt haben, sobald wir unser Spiel starten, sollte
diese Nachricht auf der Konsole gedruckt werden. Also lasst uns das versuchen. Wir gehen zurück in Unity und gehen in die Konsole. Aber wenn wir auf Play klicken, wie Sie sehen können, wird nichts auf unserem Bildschirm angezeigt. Warum ist das so? Da es nicht ausreicht, nur ein Skript zu erstellen, müssen
Sie es tatsächlich an ein Objekt anhängen. Also lassen Sie uns ein Objekt erstellen. Und so wie wir das tun, gehen
wir einfach in unsere Hierarchie. Wir klicken hier mit der rechten Maustaste. Wir können ein leeres Spielobjekt erstellen. Klicken Sie darauf, und jetzt haben wir ein Spielobjekt. Lass uns weitermachen. Wir können den Namen dieses Spielobjekts ändern. Wir werden es nennen. Nennen wir es Hallo Weltobjekt. Klicken Sie auf Enter, und darunter können Sie sehen, dass wir die Transformation haben. Und diese Transformation sagt uns die Position unseres Spielobjekts in der Welt. Und hier oben haben wir die Werkzeuge zu manipulieren. Wenn Sie also auf den Stuhl klicken, kann
es tatsächlich das Objekt nach oben oder ziehen Sie das Objekt nach unten, nehmen Sie es nach links oder nach rechts und setzen Sie es überall, wo wir wollen. Und derzeit können wir nicht sehen, dass wir nichts zu repräsentieren oder Spielobjekt haben. Wir haben einfach seine Ordinaten und seine Transformation. Also lasst uns das Skript dieses Spielobjekts anhängen. Dazu klicken Sie einfach auf das Skript und
ziehen es in die Hierarchie und auf die Hellowelt-Objekte. Wenn Sie also hier auf Hello Word-Objekt klicken, können
Sie sehen, dass es ein Skript direkt unter der Transformation an sie angehängt hat. Und jetzt, wenn wir auf spielen in der Konsole klicken, können
wir sehen, dass wir hallo Welt haben. Herzlichen Glückwunsch, Sie haben gerade Ihren ersten Mantel geschrieben und Sie haben gerade
Ihr erstes Spielobjekt verwendet , um etwas auf der Konsole anzuzeigen. Gehe Rate, und jetzt ist es Zeit für deine Herausforderung. Ihre Herausforderung besteht darin, Ihre eigene Bank zu drucken. Also statt Hallo Welt, müssen
Sie Ihren eigenen Namen drucken. Also ändere helloworld zu hallo. Und anstelle dieser drei Punkte wird es
natürlich dein eigener Name sein. Ich gebe Ihnen ein paar Hinweise. Fügen Sie also Ihren Namen und die Größe der Punkte hinzu. Speichern Sie Visual Studio. Denken Sie immer daran, Visual Studio zu speichern, wir verwenden die Steuerung, wie gehen Sie zu Unity und klicken Sie auf Play und überprüfen Sie Ihre Konsole. Stellen Sie also sicher, dass es funktioniert. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, wie bist du damit falsch gelaufen? Ich hoffe, du hast dein Bestes und diese Herausforderung versucht. Gehen wir in Visual Studio. Und anstelle der Welt werde
ich das löschen und meinen eigenen Namen setzen, der Michelle ist. Also hallo Michelle. Und wir fügen einfach ein Ausrufezeichen oder drei Ausrufezeichen für den dramatischen Effekt hinzu. Und um sicherzustellen, dass Sie Ihr Projekt gespeichert haben. Ich meine dein Drehbuch. Wenn Sie hier nach oben schauen, können
Sie sehen, dass es einen kleinen Asterix-Angriff hat, so streng wie Drogen, die daran befestigt sind. Und um das zu speichern, klicken Sie auf, und das bedeutet, dass es nicht gespeichert wurde. Also ein paar halten Control, S, klicken Sie auf Steuerung. Wie Sie sehen können, dass das Sternchen als Trixie verschwindet, und das bedeutet, dass das Skript gespeichert wurde, gehen Sie zurück in Unity. Und Sie können sehen, dass es hier einen Asterix gibt, auch neben der Beispielszene. Also sparen Sie das. Und jetzt, wenn wir zur Konsole gehen, können
Sie hier sehen, dass wir diesen Knopf frei haben. Oder wenn Sie nach unten klicken, können
Sie sehen, dass wir auf Play klicken können. Sie können das entfernen. Fühlen Sie sich frei. Es spielt keine Rolle. Wir werden es einfach entfernen, um die Änderungen zu sehen, die jetzt passieren, wenn wir auf Play klicken, wir werden hallo Michelle haben, oder hallo, was auch immer Ihr Name als meine Kommilitonen. Und das ist 0. So klar, dass, dass wieder streben, klicken Sie auf spielen und hallo Michelle. Hallo, Meine Lieblings-Spiele-Entwickler. Ich hoffe, Sie werden das Video genießen und wir sehen uns im nächsten.
6. Versionskontrolle: Willkommen zurück, meine Spiele-Entwickler. In diesem Video lernen wir alles über die Versionskontrolle, Quellbaum und das Erstellen von Repositories unserer Projekte. Wie Sie hier sehen können, haben
wir ein neues Projekt erstellt und den Quellbaum heruntergeladen. Wir haben jetzt ein paar Commits hier drin, und wir haben tatsächlich etwas zurückgesetzt. Wir haben unser anfängliches Commit erstellt, einen Würfel
hinzugefügt und zurückgesetzt. Wir können dieses Commit tatsächlich umkehren. Eine Dose. Klicken Sie also auf Ja. Wie Sie sehen können, können wir zurück zu Unity Reload und wir haben unseren Würfel genau hier. Wir werden alles im Detail lernen. Also gib mir deine ganze Konzentration. Das ist sehr wichtig. Es ist ein äußerst hilfreiches Video oder Lektion und wir bleiben
für immer bei dir , solange du dich engagiert hast,
ein professioneller Programmierer oder Spieleentwickler zu werden . Also lasst uns keine Zeit mehr verschwenden und loslegen. O k. Also Versionskontrolle, dass und setzen Sie meine Laser-Versionskontrolle. Es ist schwer zu lernen. Es ist noch schwieriger zu unterrichten, aber ich werde versuchen, es so einfach wie möglich zu halten. Und wenn Sie es bekommen, vertrauen Sie mir, es ist sehr einfach und einfach zu bedienen. Außerdem ist es eine unverzichtbare Fähigkeit, die Sie lernen müssen, wenn Sie ein professioneller Spieleentwickler oder sogar ein professionelles Programm werden möchten. Also lasst uns anfangen mit dem, was ist. Zuallererst ist es ein System, das
für die Verwaltung von Änderungen an Computerprogrammen verantwortlich ist . Das bedeutet, dass wir, wenn wir Änderungen in unseren Programmen erstellen, diese Änderungen tatsächlich bei jedem Schritt unseres Projekts speichern können. Auf diese Weise können wir zuerst überprüfen, was wir getan haben. Wir können verschiedene Arten von Versionen erstellen, in denen wir zurückgehen und die Dinge ändern
können, die wir erstellt haben. Es ermöglicht eine bessere Teamarbeit. Nehmen wir beispielsweise an, Sie haben vier oder fünf Personen, die an demselben Projekt arbeiten, aber jeder von ihnen hat eine andere Aufgabe, die er erstellen muss. Daher ist die Versionskontrolle eine sehr gute Möglichkeit, all dies zu handhaben. Und warum brauchen wir es? Nun, warum wir es eigentlich benutzen? Nun, wir werden es verwenden, um frühere Version
unseres Spiels zu erinnern und haben mehr Flexibilität zu experimentieren. Normalerweise ist die Spielentwicklung eine Umgebung, in der Sie viele Experimente benötigen. Zum Beispiel möchten Sie eine Art von
Eigenschaft zu einer Art von Spielobjekt hinzufügen und vielleicht bricht es Ihr gesamtes Projekt. Sie möchten also immer eine frühere Version
Ihres Projekts haben , bevor Sie dieses Spiel brechen Mechaniker hinzufügen. So kannst du immer wieder zurückgehen und von dort frisch anfangen. Dies ist daher äußerst wichtig, insbesondere für Spieleentwickler, die immer mit neuen Ideen und Dingen in ihren Spielen und Projekten
experimentieren müssen . Und wie werden wir es benutzen? Nun, wir werden etwas namens Quellbaum verwenden, und das ist Versionskontrolle. Es ermöglicht uns, verschiedene Versionen zu erstellen. Und vor allem, es ist kostenlos. Es ist sehr einfach für Anfänger, sehr flexibel, und es hat eine sehr einfache Schnittstelle, die wir als Anfänger verwenden können. Also lasst uns voran gehen und Quellbaum herunterladen. Lassen Sie mich Ihnen zeigen, wo wir das tun können. Wenn Sie Google Chrome oder einen Browser öffnen, den Sie haben, gehen Sie
einfach zu Google und direkt hier, laden Sie den Quellbaum herunter. Sie sollten einen Link hier finden, und es sollte der Quellbaum sein. Nach oben. Wenn Sie darauf klicken, gehen Sie direkt hier zu ihrer Website. Wenn Sie nach oben scrollen, können
Sie sehen, dass Sie die Möglichkeit haben, für Windows herunterzuladen. Aber wenn Sie auf einem Mac sind, stellen Sie sicher, dass Sie hier klicken und Sie
Quellbaum für Mac OS herunterladen oder es funktioniert nicht für Sie. Wenn Sie also einen Mac haben, laden Sie die Mac-Version herunter Wenn Sie ein Windows haben, laden Sie die Windows-Version herunter. Einfach genug. Nun, wenn Sie den Download abgeschlossen
haben, sollten Sie diese Datei direkt hier abrufen. Und wenn Sie darauf doppelklicken, sollten
Sie die Installation starten. Jetzt, da ich bereits Quellbaum
habe, werde ich es nicht ein anderes Mal installieren. Ich werde Sie einfach durch den Prozess der tatsächlichen Installation führen. Okay, das ist also das erste Fenster, das für dich auftauchen wird. Zuallererst müssen Sie der Lizenz natürlich zustimmen. Und Sie können dies vielleicht deaktivieren, wenn Sie keine
E-Mails auf Ihren Weg vom Quellbaum und et cetera im Unterricht möchten. Das nächste, was Sie tun müssen, ist, dass Sie gelegentlich ein Konto erstellen müssen, können
Sie bei lysine gehen und platzieren als Muttergesellschaft der Quellbaum kann voran gehen und ein Konto dort erstellen, oder Sie können ein bestehendes Konto verwenden, wenn Sie bereits haben eine Gmail. Ich persönlich erstelle eine mit Gmail. Es ist viel schneller, Es ist viel einfacher und sie spammen Sie nicht mit einer Menge von E-Mails. Als nächstes werden
wir es mit einem Konto verbinden. Nun, das ist natürlich, wir werden das nicht tun. Wenn Sie Ihren Code auf bestimmten Websites wie GitHub oder Bitbucket hosten möchten. Wir werden das nicht tun,
also können Sie einfach hier auf übersprungenes Setup klicken. Schließlich, während der Installation Quellbaum wird Ihnen sagen, dass es nicht in der Lage ist, get zu finden. Um dies zu vervollständigen, klicken Sie
einfach auf Download und eingebettete Version von Git und fahren Sie fort. Und dann kann es Sie auch nach etwas fragen, das als Quecksilber bezeichnet wird. Mercurial ist ein anderes System, genau wie Get. Es ermöglicht uns, verschiedene Versionen unseres Projekts zu speichern. Wir werden Mercurial nicht verwenden, also können Sie einfach auf klicken, ich möchte nicht herunterladen oder ich möchte Mercurial nicht verwenden. Und das sollte sein, wenn Sie die Installation abgeschlossen haben. Du solltest das hier haben. Und Ihr, na ja, dieses Fenster direkt hier, wenn Sie Quellbaum starten, wenn Sie nicht einfach hier auf Erstellen klicken und Sie sollten dieses Fenster bekommen. Nun, hier erstellen wir tatsächlich unser Repository. Und hier können Sie sehen, dass wir den Zielpfad, den Namen und die Art der Versionskontrolle haben, die wir verwenden möchten. Natürlich werden wir das GET verwenden. Wir haben auch die Möglichkeit, ein Konto zu erstellen, aber wie ich Ihnen sagte, wir halten die Dinge sehr einfach. Es ist unser erstes Mal, also werden wir kein Konto erstellen. Also hier werden wir wählen, welche der Zielpfad unseres Projektarchivs ist. Also was, was ist das Projekt, das wir tatsächlich ein Repository für nachfolgende Versionen von erstellen
werden. Nun, lassen Sie uns unser erstes Projekt erstellen, das wir verwenden werden. Also hier drin öffnet sich der Unity Hub. Und wie Sie sehen können, haben wir bereits Hallo Welt, dass wir nicht in einem vorherigen Video, das auf Neu klicken. Und stellen wir sicher, dass es ein 3D-Projekt ist. Und das wird unser Cyberspion 2087 sein. Lassen Sie uns voran und erstellen Sie dieses Projekt. Klicken Sie also auf Erstellen. Und ich benutze natürlich immer meine Magie der Bearbeitung, um diesen Prozess zu beschleunigen. Wir sehen uns auf der anderen Seite. Okay, willkommen zurück. Also hoffe ich, dass alles für dich geklappt ist. Also jetzt haben wir ein neues Projekt, das Cyber trotz 2087 ist. Jetzt, da wir unser Projekt erstellt haben, können
wir tatsächlich weitermachen und mit der Erstellung eines Repositorys beginnen. Nun, wenn wir hier wieder in unseren Quellbaum gehen, können
wir auf Durchsuchen klicken und wir können tatsächlich in Unity-Projekte gehen. Und Sie können sehen, dass wir eine Hallo Welt haben und wir haben einen Cyberspace bis 2087. Also lassen Sie uns diesen Ordner auswählen. Es wird ein Repository unter diesem Namen erstellen. Wenn wir auf Erstellen klicken, wird ein Problem gestellt. Mach dir keine Sorgen darüber. Klicken Sie auf Ja. Und voila, jetzt haben wir tatsächlich begonnen, ein Repository zu erstellen. Sie haben die inszenierten Dateien genau hier. Sie haben verschiedene Arten von Knöpfen. Sie müssen sich vorerst keine Sorgen machen, konzentrieren Sie sich einfach auf die inszenierten Dateien,
auf inszenierte Dateien und verpflichten Sie sich hier. Wenn wir nun in diesen Onstage-Dateien nach unten scrollen, können
Sie sehen, dass die meisten von ihnen aus der Bibliothek stammen. Wir scrollen bis zum Ende, wir können sehen, einige von ihnen sind Tampa 10 oder vorübergehend. Wir können auch sehen, dass wir Projekteinstellungen haben und das sind alle Dateien, die wir für unser Projekt. Wir haben hier auch Vermögen für Einheit in den Szenen zum Beispiel. Dies ist also ein Repository, das eine Version unseres aktuellen Projekts ist. Nun, das Problem hier ist, wie Sie sehen können, gibt es eine Tonne und Tonne von Dateien, und B wird nicht alle von ihnen brauchen. Nun, eigentlich brauchen wir fast keine von ihnen. Wir brauchen nur eine bestimmte Art von Dateien. Wir wollen also die Bibliothek und die temporären temporären Dateien ignorieren. Warum ist das? Nun, lassen Sie mich Ihnen zeigen, indem Sie das Verzeichnis unseres Projekts öffnen. Oh, okay, also das ist Cyberspace von 2080 Siebens-Verzeichnis innerhalb des Unity-Projekts, wie Sie hier oben sehen können. Also haben wir die Assets, die Bibliotheksprotokolle, Pakete, et cetera, und et cetera. Nun, was ist der temporäre Ordner und was ist der Bibliotheksordner und warum brauchen wir sie nicht wirklich? Temporär ist also nur eine Möglichkeit, sich schneller zu öffnen, wenn wir das Projekt starten. Und es wird immer erstellt, wenn wir ein Projekt öffnen. Also zum Beispiel, wenn ich hier in Unity gehe und ich es tatsächlich schließe, werden
Sie sehen, dass die temporäre Datei. Wird verschwinden. Und selbst wenn wir die Bibliothek jetzt löschen, lassen Sie uns diese Bibliothek komplett löschen. Wenn wir zurück in unseren Unity Hub gehen und Cyber Spion 287 öffnen. Wie Sie hier sehen können, haben Sie gesehen, dass die Bibliothek wieder erstellt wurde und auch der temporäre Ordner erstellt wurde. Natürlich sollte das Projekt jetzt etwas mehr Zeit in Anspruch nehmen, um sich zu öffnen. Aber das ist ein Beweis dafür, dass eine Bibliothek und die temporären Ordner nicht notwendig
sind, damit wir immer festschreiben und inszenieren können. Und was meine ich mit Bühne? Also, wenn wir unsere Ordner inszenieren, erstellen
wir tatsächlich ein Commit von ihnen, jede Version von ihnen. Und Bibliothek nimmt viel Platz ein. Wie Sie sehen können, wenn wir nach unten scrollen, nimmt
es den größten Teil des Platzes ein und wir wollen überhaupt keinen von ihnen. Also, wie sollen wir vorgehen? Nun, wir können tatsächlich alle Ordner ignorieren, die sich unter
der Bibliothek befinden , indem wir einfach einen der Ordner auswählen, in denen Bibliothek vorhanden ist. Rechtsklicken Sie darauf. Und hier können Sie sehen, dass wir die Möglichkeit haben, einen von ihnen zu ignorieren. Klicken Sie also auf Ignorieren. Und hier haben Sie die Möglichkeit, diesen genauen Dateinamen zu
ignorieren, alle Dateien mit dieser Erweiterung zu ignorieren, oder Sie können alles unter einer Bibliothek ignorieren, und das ist, was wir wollen. Klicken Sie also auf OK. Und wie Sie sehen können, wurde alles unter Bibliothek jetzt ignoriert, so dass wir es nicht inszenieren können, so dass wir es nicht in unserer neueren Version speichern können. Und wenn Sie nach oben scrollen, haben
Sie vielleicht bemerkt, dass wir hier einen neuen Ordner haben, der der Punkt git ignoriert. Und wenn wir rechts darauf klicken, können
Sie sehen, dass es die Bibliothek hat. Und wenn wir darauf doppelklicken, können
wir es tatsächlich in unserem Notizblock öffnen und hier können wir die verschiedenen Dateien hinzufügen, die wir auch ignorieren möchten. Also, was sind die Dateien, die wir ignorieren wollen? Nun, es gibt eine Menge von Dateien, aber zum Glück hat
jemand tatsächlich alle diese Dateien durchlaufen und eine Liste von allem erstellt ignorieren können
, wenn wir Versionskontrollen oder Versionen unseres Projekts erstellen. Und um diese Datei zu finden, können
Sie wieder und zu Google oder nach vorne gehen. Gehen Sie voran und suchen Sie dot git, ignorieren Sie die Einheit. Und Sie sollten diesen Link hier für github.com haben. Und es wird auf GitHub gehostet werden. Wenn Sie diesen Link öffnen, wird
es Sie direkt hierher bringen. Also das ist der Punkt gitignore und es ist der Unity dot git ignorieren. Und das sind alle Dateien, die wir beim Erstellen von Versionen unseres Projekts ignorieren können. Sie können hier auf Zeile klicken, und es öffnet sich dieses Fenster oder Tab. Lassen Sie uns gehen und wählen Sie alle von ihnen, indem Sie auf Steuerelement a klicken. Wir werden all dies mit Kontrolle C kopieren und wir
werden es hier in unserem Punkt gitignore Notizblock einfügen. Und jetzt haben wir den gitignore Notizblock
mit allen Dateien gefüllt , die wir nicht für unsere positive 3 verwenden werden. Wir werden das mit Control S speichern und jetzt zurück in Unity oder ich meine zurück im Quellbaum, können
Sie sehen, dass, wenn wir den Git ignorieren, alles ignoriert wird. All das werden wir inszenieren. Und wenn wir all das inszenieren, können
Sie sehen, dass dies die Dateien sind, die festgeschrieben werden. Und das wäre unser anfängliches Engagement oder unsere erste Repository-Version des Projekts. Und normalerweise, wenn Sie Ihr anfängliches Commit erstellen, nennen
wir dies das erste. Sie können es großschreiben, die anfängliche, oops, initiale Commit. Und wir klicken auf Commit genau hier. Wenn Sie also auf der linken Seite schauen, können
Sie sehen, dass wir hier Zweige haben und wir den Master-Zweig haben. Herzlichen Glückwunsch, wir haben unser erstes Engagement geschaffen. Sehr nett. Lassen Sie mich Ihnen jetzt zeigen, wie wir weiter nach unten gehen werden, obwohl dieses Video lang genug war. Aber ich denke, wir müssen eine richtige Grundlage
für den Quellbaum und die Versionskontrolle erhalten , während wir unser Projekt durchlaufen. Nehmen wir an, wir sind in unserem Projekt genau hier. Und lass uns voran gehen und eine Art von Würfeln erstellen. 3D-Objekt. Rechtsklicken Sie in die Hierarchie. 3D-Objekt, erstellen Sie einen Würfel, und jetzt haben wir einen Würfel. Lasst es uns ein bisschen skalieren. So skalieren Sie es auf
das x, das y und das
z. Jetzt haben wir einen Würfel und unsere Szene. Und jetzt, wenn wir in den Quellbaum gehen, speichern
wir das, bevor wir gehen. Und es muss es in einer bestimmten Szene speichern. Also lasst uns in Szenen hinein. Das wird unsere Musterszene sein. Sicher. Beispielszene, ja, ersetzen Sie sie. Also haben wir diese Beispielszene zurück und Quellbaum. Warten Sie ein wenig darauf, und Sie können sehen, dass wir nicht festgeschriebene Änderungen haben. Wenn wir also darauf klicken, können
Sie sehen, dass die Dateien auf der Bühne Änderungen innerhalb der Szenen sind, was die Beispielszene ist. Und hier können Sie im Detail schauen, was wir jetzt erstellt haben. Es ist ein bisschen seltsam hier, aber wenn Sie genau hinsehen, können
Sie sehen, dass wir Box-Collider erstellt haben. Und im Grunde stellt dies den Würfel dar, den wir unserer Szene hinzugefügt haben. Also lasst uns weitermachen und das alles inszenieren. Wir können hier auf Commit klicken und nennen dies einen Würfel hinzugefügt. Klicken Sie auf Kommentar. Und jetzt können
Sie in unserem Master-Zweig sehen, dass wir ein anfängliches Commit haben, das keinen Cubed hatte. Und jetzt haben
wir in unserem hinzugefügten Würfel einen Würfel hinzugefügt. Also herzlichen Glückwunsch. Und als letzte Anmerkung kann
das ein bisschen umständlich aussehen. Das mag etwas seltsam aussehen, aber keine Angst, das ist sehr einfach. Und noch wichtiger ist, dass es für uns äußerst wichtig ist, zu verstehen, wenn wir unser Projekt durchlaufen, Versionen und Versionen davon
erstellen. Und wenn wir jemals einen Fehler machen, können
wir tatsächlich zurückgehen, indem wir hier mit der rechten Maustaste klicken und das Commit rückgängig machen. Und ja, wir können das Commit umkehren, wenn wir zurück und zur Einheit gehen, wird
es uns nach einem Live-Reload fragen. Wir haben geschrieben, wir laden neu, und jetzt haben wir nicht den Würfel oder Spielbrecher Mechaniker, den wir auf dem Weg hinzugefügt haben. Und jetzt ist es Zeit für deine Herausforderung. Ihre Herausforderung besteht darin, den Quellbaum und die Ignorier-Datei herunterzuladen und einzurichten. Laden Sie also Quellbaum und Stall herunter und richten Sie alles ein. Erstellen Sie Ihr 3D-Projekt in Unity Hub, richten Sie ein Repository dafür und den Quellbaum die Bibliotheksdateien ein und rufen Sie die Punkt-Ignorier-Datei ab und fügen Sie sie Ihrem Repository hinzu, erstellen Sie Ihr erstes Commit und erstellen Sie dann Ihre
zweites Commit. Sie können sogar voran gehen und versuchen, vielleicht mit ein paar Dingen herumzuspielen. Fügen Sie einen Cube hinzu, kehren Sie den Commit um, sehen Sie, was passiert. Machen Sie es sich bequem mit Quellbaum. Und wenn Sie ein bisschen Probleme haben, können
Sie das Video auf dieser Liste von Dingen, die Sie erstellen müssen, pausieren. Und du kannst auch immer zurückgehen und das Video ansehen und sehen wie ich alles gemacht habe und mit mir Schritt für Schritt folgen. So sehen wir uns in nur ein bisschen.
7. Legenden: Hey, meine Spiele-Entwickler. Bevor wir uns also mit den Partituren und der Art und Weise befassen, wie wir es schaffen werden. Ich dachte, es wäre eine sehr gute Idee, über das Spieldesign unseres Spiels zu sprechen. Also empfehle ich immer, dass Sie dies tun. Und die Art und Weise, wie Sie beginnen, indem Sie ein Spiel erstellen, als nur ein
sehr, sehr, sehr rudimentäres und einfaches Konzept Ihres Spiels. Also entschied ich mich, einen Daemon als Sprite zu verwenden. Wir werden sehen, in welchen Sprites nur ein bisschen steckt. Und er wird angerufen werden. Ich glaube, ich habe ihn irgendwann Jimmy genannt. Also werden wir das Fitness-Ödem haben. Und ich habe gerade eine Straße gezeichnet, die Straße, in die wir gehen werden, wir werden hier Gras haben, wie das Gras. Wir haben vielleicht eine Höhle für einen Eingang. Wir haben vielleicht eine Klippe und hier, und das ist das Grundriss der Ebenen, die wir haben werden. Wir werden auch ein bisschen Wasser haben. Jetzt reden wir über die Charaktere und unser Spiel. Wir haben M0, das ist der Dämon. Wir haben einen Ladenbesitzer. Vielleicht schaffen wir sogar einen Platz für den Jimmy-Dämon, um in einen Laden zu gehen, in dem wir Gegenstände kaufen,Gegenstände
verkaufen, vielleicht sogar Quests bekommen,ein bisschen Dialog
haben können Gegenstände
verkaufen, vielleicht sogar Quests bekommen, . Dann haben wir Questgeber oder einfach nur MPC's , mit denen wir reden und Quests finden können, wo wir sie bekommen können. So finden wir eine schöne rothaarige Dame, wo sie uns sagt, dass ihr Sohn vielleicht vermisst wird. Also müssen wir gehen und sie finden. Dann haben wir auch diese Monster und hier sind die bösen Jungs. Und ich habe sie gezeichnet. Vielleicht finden wir sie in Höhlen oder Dungeons oder auf Hügeln. Und dieses blaue Quadrat vor ihm ist, wo wir tatsächlich den Kampf beginnen. Wenn wir also auf den Platz gehen, beginnen
wir sofort einen rundenbasierten Kampf, über den wir in ein wenig reden werden. Wir können auch Gegenstände auf dem Boden finden, zum Beispiel einen Goldenen Schild. Oder wir können diese Gegenstände bekommen, nachdem wir einen Kampf gewonnen haben, oder wir können sie im Laden kaufen. All das steht uns zur Verfügung. Und wir können hier sehen, dass wir
diese schwarzen Quadrate hier drin haben und was stellen sie dar? Nun, sie sind ein Weg, von einer Szene zur anderen zu gehen. Also werden wir eine Kachelkarte erstellen. Wir besprechen, was Pfahlkarte ist. Mach dir deswegen keine Sorgen. Wo wir alles auslegen werden. Aber wie Sie wissen, können wir das ganze Spiel nicht auf einer einzigen Karte auslegen. Also, was wir tun werden, ist, dass wir von Ebene zu
Ebene übergehen , indem wir diese Straßen benutzen und aus und nach vorne gehen. Lasst uns ein bisschen tiefer eintauchen. Lassen Sie uns also über rundenbasierte Kämpfe sprechen und was es ist. Ich werde nur schauen, um Ihnen ein paar Spiele zu zeigen, die dies implementieren, wir werden tiefer eintauchen, wenn wir zu diesem Abschnitt und unserem Gewinn kommen. Sie können hier sehen, das erste war das Final Fantasy Spiel. Ich glaube. Dies ist ein sehr neues Spiel. Ich glaube, nicht sehr neu, aber in den letzten Jahren erstellt und es ist sehr gefeiert und wirklich viel verkauft. Also zeige ich Ihnen nur die verschiedenen Arten von rundenbasierten Kampf modernen Spiele. Sie haben also nicht das Gefühl, Oh, das könnte eigentlich langweilig sein, nein, es wird immer noch in der modernen Spieleentwicklung verwendet. Und Sie können hier sehen, das ist die Art, wie wir eine Kachelkarte sezieren. So können Sie sehen, dass jede von ihnen sind Fliesen, die wir für unser Spiel verwenden, um sie alle zu zeichnen. Und das ist für genähte fünf. Ich glaube, es ist ein ziemlich neues Spiel, hat sehr viel gefeiert und es ist rundenbasierte Kampf, wo jeder Spieler nimmt eine Wendung, um eine Art von Feind vor ihnen anzugreifen. Lasst uns weitermachen. Lassen Sie uns über die Legenden der Eroberung Spiel Design sprechen. Was sind also die Kernmechanik unseres Gewinns? Es wird laufen, interagieren und der rundenbasierte Kampf sein. Was meine ich mit Gehen und Interagieren? Nun, Gehen ist ziemlich einfach. Es ist verständlich. Interaktion ist die Interaktion mit anderen NSCs, Interaktion mit den Ladenbesitzern und ich werde einfach alles auslegen. Interaktion mit Ladenbesitzern, Interaktion mit vielleicht versteckten Gegenständen, Interaktion mit Questgebern, die
Interaktion mit den Feinden und der rundenbasierte Kampf ist ebenfalls ein Kernmechaniker des Spiels. Wir werden auch über das Kern-Gameplay sprechen. Das Kern-Gameplay besteht also darin, Quests zu nehmen, Monster in Höhlen zu
besiegen, Geld und Erfahrung zu
verdienen. Und wir haben auch ein Upgrade unserer Spieler und unsere Waffen. Also werden wir ein System erstellen, in dem wir Spielerstatistiken haben und wir aktualisieren sie, wenn der Spieler mehr Erfahrung verdient und so weiter. Das ist also eine kleine Szene neben dem Wasser mit einem Boot. Und genau das ist es. Also lasst uns über die Spielgeschichte reden. Und du denkst vielleicht, warum sollte ich eine Spielgeschichte haben, während du an einem Projekt arbeitest? Wenn Sie keine Spielgeschichte haben, wenn Sie es nicht haben. Das große Bild Ihres Spiels, Sie werden nicht wissen, wohin Sie gehen. Sie werden keine Motivation finden, wenn Sie sich durch Ihren Kurs bewegen. Und Sie werden sehen, dass es langsam, langsam, aber sicher verlassen Ihre Seele keine Motivation mehr. Also, was ist die Spielgeschichte unseres Spiels? Du bist ein Dämon aus der Tiefe der Hölle der
Suche nach deinem Dunklen Ritter und Bruder, der vom Kaiser gefangen genommen wurde. Deine Mission ist es, Monster in Höhlen zu töten, die Dörfer im Reich verfolgen. Und ich habe hier aufgehört, aber du kannst das viel erweitern. Man könnte also denken, dass man Monster in den Dörfern für das Imperium tötet, weil man will, dass der Kaiser deinen Freund bewahrt. Vielleicht willst du ihn am Ende retten. Vielleicht wird der Kaiser zu einer Art Dämon oder einer Art Ziehen am Ende und Sie müssen ihn besiegen,
nachdem Sie Ihren Freund vor dem, was er war, gerettet haben, den Dunklen Ritter, wir benutzen tatsächlich einen von ihnen. Es ist nicht Batman, eine dunkle Nacht, für die wir einen Sprites gefunden haben. So können Sie sehen, zum Beispiel, wir haben ein Dialogsystem, wo wir mit dem Ladenbesitzer gesprochen. Sie sagt uns, sie sei eine Heilerin. Sie sagt uns, hey, ich bin Heiler. Und wir haben auch verschiedene Arten von Umgebungen. Also verwenden wir mehrere Sprites, die hier verkauft werden. Das ist vielleicht keine Art von Stadtrand, wo man eine Art Suche finden muss, vielleicht ein paar Kräuter für den Heiler finden muss oder was nicht. Also lasst uns weg bleiben. Endlich oder nicht. Schließlich werde ich wissen, Lassen Sie uns über die technischen Anforderungen sprechen. Also werden wir einen Kachelsatz für den Hintergrund und die Volumenkörper haben. Wir werden Eingaben von der Tastatur haben, die unseren Gewinn steuern. Wir werden eine Follow-Cam haben. Ich werde nur das alles aufmachen. Wir werden haben, wo waren wir folgen Cam , die den Spieler mit etwas wirklich, wirklich cool folgen wird. Und das ist das Hinzufügen eines Betens durch unsere Kamera, was sehr seltsam ist, ich weiß, aber das erlaubt uns Cinna Maschine zu benutzen. So können Sie sehen, dass dies eine andere Umgebung ist, in der wir Lava und dieses Monster haben. Und hier werden wir klare Statistiken haben. So werden wir Geschicklichkeit, Verteidigung, HB, Manor, Erfahrung und so weiter haben. Alle diese werden mit einem Nivellierungssystem gestempelt. Wir werden ein Dialogsystem haben, wie Sie auf der vorherigen Folie gesehen haben. Wir werden ein Questsystem haben. Wir werden ein Inventarsystem haben, das ein sehr lustiger Teil des Kurses sein wird weil wir all unser Wissen in C-Sharp nutzen werden. Es wird so lustig, du so viel lernen wirst. Und dann haben wir den Laden und das Geld, das auch sehr komplex sein wird, aber manchmal nehmen wir zwei einfache Ideen und kombinieren sie zusammen, um zusammen zu arbeiten, das ist das Inventarsystem und ein Geldsystem, das schaffen wird, zusammen zu arbeiten, um ein Geschäft zu erstellen. Es wird eine sehr, sagen
wir, herausfordernde Schöpfung zu tun. Und schließlich haben wir das rundenbasierte Kampfsystem, in
das wir so tief eintauchen und so viel lernen werden. Und so lassen Sie uns über Gameplay-Futures sprechen. Und ich werde alles öffnen, damit wir das Bild am Ende sehen können. Das ist also ein Foto, das ich versucht habe, einen Screenshot des rundenbasierten Kampfes zu machen. So können Sie sehen, dass wir die Namen unserer Spieler mit ihren Gesundheitsbalken haben. Das sind kleine Gitter. Ihr könnt sehen, dass wir Möglichkeiten haben, anzugreifen, Magie zu verwenden, Gegenstände zu verwenden
und wegzulaufen. Und Sie können sehen, dass wir mehrere Arten von Spielern haben. Und das ist die dunkle Nacht, von der ich gesprochen habe. Und das ist eine Art Mitreisender, ein düsteres Skelett, das du auf
deinem Weg findest und er stimmt zu, dir bei deinen Kämpfen zu helfen. Das ist also ein Master-Major, den ich gefunden habe und das ist kriegerisch. Und all das sind Sprites, die ich
kostenlos auf einer Website gefunden habe, über die ich reden werde und viel verwenden werde. Also, was haben wir? Wir haben die Eroberer-Bewegung. Dies sind die Gameplay-Features, die wir haben zu Fuß auf verschiedene Arten haben. Also gehe ich zurück, um es dir zu zeigen. So haben wir zum Beispiel den Dämon nach vorne gerichtet. Aber hier, zum Beispiel, haben
wir den Dämon nach links und rechts und nach oben gerichtet. Das ist also eigentlich ein Feature oder ein Mechaniker, wenn Sie wollen. In unserem Spiel haben wir Interaktion mit MPCs. Dies ist auch ein sehr wichtiger Teil des Spiels. Also, was sind die interaktablen? Wir haben darüber gesprochen, wie wir uns durch Ebenen oder Szene bewegen können. Sie werden sehen, welche Szenen sind, wenn wir auf den Kurs kommen. Wir haben also Ausgänge im Bereich. Das sind also die Bereiche, in denen wir aus N2 aussteigen können, andere Gebiete, wir haben Kampfzonen. Hier habe ich darüber gesprochen, wo wir einen Feind
vor uns haben , und wir gehen in die Kampfzone und fangen an, sie zu bekämpfen. Wir haben Gegenstände auf dem Boden, die wir abholen können. Wir haben MPC's für Quests oder zum Einkaufen. Wir haben einen Start- und Endpunkt, was sehr wichtig ist. Wir haben einen Ausstiegspunkt, den der Dämon durchläuft, um in einen Bereich zum nächsten zu gelangen. Haben Sie auch die Pickups, die die Gegenstände auf dem Boden sind. Wir haben auch mehrere Artikel, und Sie können Ihre eigenen hinzufügen. Das ist der schönste Teil aller Partituren, die Sie Ihre eigenen Gegenstände in diesem Spiel hinzufügen
können. Wir verwenden derzeit eine silberne Akte, eine goldene Axt, eine silberne Rüstung, eine goldene Rüstung. Wir haben Monopolmeere, wir haben HP-Portionen und so weiter. Also schließlich werde ich Ihnen eine Herausforderung ausstellen, und diese Herausforderung wird Ihr eigenes Spiele-Design erstellen. Sie müssen also eine Geschichte für Ihr Spiel herausfinden. Ich weiß, dass du denkst, ernsthaft. Ich möchte nur lernen, wie man kodiert. Ich möchte nur dieses Spiel erstellen, bitte. Michael, lass mich in Ruhe. Nein. Sie müssen eine Geschichte für Ihr Spiel herausfinden. Glaub mir, wenn du eine Geschichte rausfindest, wird
dieser Kurs so viel besser sein. Und ich bin nicht hier, um dir beizubringen, wie man kreiert. Auch hier bin ich nicht hier, um dir beizubringen, wie man in C Sharp programmiert. Ich bin hier, um dir beizubringen, wie man Spieleentwickler, A-Master, Problemlöser wird. Das erste, was Sie herausfinden müssen, ist die Geschichte hinter Ihrem Spiel. Dann will ich, dass du die Spielmechanik rausfindest. Sie wollen. Vielleicht möchten Sie Springen hinzufügen, vielleicht möchten Sie Laufen hinzufügen. Legen Sie sie einfach auf die Seite. Selbst wenn du ein Anfänger bist, einfach alles hinzu, was du gerne in deinem Spiel haben würdest. Vielleicht kannst du es jetzt nicht implementieren. Vielleicht implementieren wir es nicht in unserem Spiel. Aber während Sie durch Ihre Spielentwicklung Reise fortschreiten, werden
Sie sehen, dass am Ende der Partituren
alle Werkzeuge haben , um alles zu erstellen, was Sie für Ihr Spiel wollen. Dann müssen Sie Ihre eigenen Sprites herunterladen und durch Offsets
sicherstellen, dass Sie Vordergrund und Hintergrund haben. Wenn du willst. Warten Sie ein bisschen auf diesen Punkt genau hier, wenn ich Ihnen die Website zeige, es ist offene Spielkunst. Es ist nicht wie eine geheime Website oder so. Es ist offene Spielkunst. Geh und finde deine eigenen Sprites. Gehen Sie finden Ihre eigenen Charaktere, Feinde, Monster, NSCs, Wählsets, was auch immer Sie wollen, gehen Sie Ihre eigenen finden. Ich empfehle wirklich, dass Sie herausfinden müssen, welche Funktionen Sie hinzufügen möchten. Vielleicht möchten Sie etwas anderes als einfach Gegenstände auf dem Boden haben. Vielleicht willst du ein paar versteckte Gegenstände haben. Möchte Truhen haben, die sich öffnen und die Gegenstände finden. Gehen Sie verrückt Spaß Ihre eigenen Funktionen. Und ich schätze, das war's. Wir wickeln unsere Sektion ein. Also werde ich diese Herausforderung hier vor dir reinlassen. Ich möchte, dass du dir die Zeit nimmst, die Geschichte zu erschaffen. Ich möchte, dass du dir die Zeit nimmst, um die Mechanik aufzuschreiben, die du gerne in deinem Spiel hättest. Werden Sie kreativ, auch wenn Sie denken, dass Sie keine Fähigkeiten haben, tun Sie dies, schreiben Sie sie einfach auf. Wir werden mit allem in diesem Kurs zu tun haben. Vergeuden wir also keine Zeit mehr. Und wir sehen uns im nächsten Video.
8. Teil 2: Aufbauen des Sprite: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video, wie Sie sehen können, haben
wir ein neues Projekt erstellt, das die Legenden der Eroberung des RPG genannt wird. Yay, ich habe sehr aufregend. Dies ist der beste Teil der Erstellung von Projekten. Als nächstes haben wir dieses Hintergrundbild hinzugefügt. Wir haben hier unseren kleinen Daemon hinzugefügt, der später aufgerufen wird. Und wir sprachen auch über Sprite Sheets und Sprite Renders. Wir sprechen auch über eine sehr spannende, sehr schöne Website, wo Sie alle diese kostenlos finden können. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, das erste, was wir tun werden, ist, dass wir ein neues Projekt erstellen. Und hier werden wir sicherstellen, dass es ein 2D-Spiel ist. Und wir werden diese Legenden der Eroberung zum RPG nennen. Und stellen Sie sicher, dass Sie den richtigen Ort finden. Ich werde es innerhalb von Unity-Projekten hier speichern. Also drücken Sie Ordner auswählen. Jetzt wird es in Unity-Projekten gespeichert. Es nennt sich Legenden der Eroberung des RPG. Und wir werden das Projekt erstellen. Und ich werde diesen Teil überspringen, nur weil ich dich nicht mit der ganzen nutzlosen Zeit belästigen will. Oh, okay, willkommen alle zurück. Jetzt, da unser Projekt erstellt wurde, fangen
wir an, Dinge hinzuzufügen. Zunächst einmal fügen wir eine Art Hintergrund hinzu, nur
um einen Platz für unsere Charaktere zu haben, in dem sie gehen können. Also habe ich etwas vorbereitet, das als Hintergrundbild bezeichnet wird, und Sie können es einfach hier in die Assets ziehen. Und jetzt können wir es einfach über unser c ziehen. So wie Sie sehen können, ist es ein bisschen klein. Lassen Sie mich einfach alles hier neu zentrieren. Also ist die Position auf der 0 auf dem x, 0 auf dem y und 0 auf dem zed. Und wie Sie sehen können, wenn wir das Spiel jetzt laufen, ist
es ein bisschen zu klein. Nun, was wir tun können, können
wir die Skala erhöhen, aber ein, ein weiterer sehr raffinierter Trick, den wir tun können, eine Gebühr klicken Sie hier auf das Bild. Sie können sehen, dass die Pixel pro Einheit 100 sind. Machen Sie einfach diese 30 zu treffen anwenden. Und wie Sie sehen können, das Bild größer. Und ich werde später erklären, welche Pixel pro Einheit. Das nächste, was wir tun werden, ist, dass wir unseren Charakter hinzufügen. Und dafür werden wir etwas verwenden, das ein Sprite genannt wird. Lassen Sie mich erklären, was ein Sprite ist. Also, was ist ein Sprite? Das ist also ein Sprite unseres Charakters, diejenigen, die wir benutzen werden. Und das ist auch ein Sprite des Bodens, dass wir unser Spiel benutzen werden. Ein Sprite ist also ein 2D-Objekt. Sie haben grafische Bilder, die als Texturen bezeichnet werden, genau wie Sie hier sehen können, sind dies Texturen auf einem 2D-Objekt. Und sie werden verwendet, indem eine Komponente namens Sprite-Renderer zu einem Spielobjekt hinzugefügt wird. Lassen Sie mich Ihnen zeigen, wie das funktioniert. Lasst uns zunächst in Unity zurückkehren. Und gehen wir weiter und schnappen uns unseren Charakter genau hier. Wie Sie sehen können, haben wir viele Möglichkeiten. Also werde ich den Spaziergang Vanille hier wählen und in unser Vermögen hinzugefügt. Also lasst uns Enter drücken. Und bevor wir damit fortfahren, haben wir gerade das Layout hier von der Standardeinstellung auf die beiden um drei geändert. Und das wird uns viel besser helfen. Schnappen Sie sich das Spiel und schauen Sie sich um, wie wir die Szene und das Spiel darunter sehen können. Denn dieses Spiel wird sehr darauf ausgerichtet sein, wie alles aussieht von der Szene zum Spiel verglichen. Ok, großartig. Das nächste, was wir tun werden, ist, dass wir auf den Spaziergang Vanille hier klicken. Wenn du den kleinen Pfeil
drückst, siehst du, dass alle Dämonen zusammen zerdrückt werden. Wenn wir also hier doppelklicken, können
Sie sehen, dass alle Dämonen auf dem gleichen Bild sind, aber das wollen wir nicht. Wir wollen eigentlich nur dieses Bild hier, um es anzuzeigen. Denn wenn wir es gerade jetzt zur Szene hinzufügen, können
Sie sehen, dass es zu klein ist und sie alle zusammengepackt sind. Also lassen Sie mich das einfach löschen. Die Art und Weise, wie wir dies tun werden, ist zunächst, wir werden auf dieses Bild klicken. Wir können hier und dem Inspektor nachsehen, wir können zuerst vielleicht diese 32 machen oder das später ändern. Lass es uns 100 behalten. Wir müssen diesen privaten Modus in Multiple ändern. Muss den Filtermodus auf einen Punkt ändern. Kein Filter wird all das anwenden. Und jetzt, wenn wir auf den Sprite-Editor klicken, wie Sie sehen können, können wir anfangen, unsere Sprossen zu schneiden. Wenn wir hier nach oben schauen, haben
wir die Möglichkeit, dies automatisch zu schneiden. Aber wenn wir versucht haben, dies automatisch zu schneiden, werden
Sie sehen, dass nicht alle Quadrate die gleiche Größe haben. Und das wird später ein großes Problem sein, wenn wir versuchen, zu animieren, denn wie Sie sehen können, ist
dies die Wanderanimation. Wir haben mehrere Stämme. Wenn sie nicht die gleiche Größe haben, wird
es ein bisschen schwer sein. Was wir also tun werden, ist, dass wir von automatisch zu Gitter nach Zellengröße wechseln werden. Und wenn wir diese Scheibe Taste jetzt drücken, können
Sie sehen, dass es eine sehr saubere Scheibe unseres großen Sprite Sheet erzeugt. So können Sie sehen, dass jedes einzelne Sprite oder Slice aus dem Sprite die gleiche Größe hat. Und das wird uns enorm Elektron helfen. Also, jetzt können wir die Scheibe treffen, wir können die Anwendung treffen. Und wie Sie sehen können, hat jedes Segment einen bestimmten Namen. Jetzt können Sie den Namen der Sprites ändern, um
zum Beispiel einen richtigen zu gehen , aber ich denke nicht, dass es sehr notwendig ist. Sie können auch die Größe der Scheiben hier optimieren,
aber ich denke, das ist gut genug. Drücken Sie also erneut auf Anwenden. Lasst uns verlassen. Wenn wir nun die Pfeiltaste drücken, können
Sie sehen, dass wir die einzelnen Sprites genau hier haben. Und wir können damit beginnen, diesen, den wichtigsten, zu ziehen und ihn auf unsere Kachelkarte oder unser Hintergrundbild zu setzen, wie Sie sehen können, ist hier nicht sichtbar. Wo ist unser kleiner Dämon? Nun, er ist hier, aber wenn wir ihn hinter dem Hintergrundbild bewegen, und Sie können auch sehen, dass er sehr, sehr winzig ist. Und hier können wir das Pixel pro Einheit ändern. Nehmen wir an, 32 hatte sich angewendet, und jetzt ist er die richtige Größe. Wenn wir ihn wieder hierher bringen, können
Sie sehen, dass wir ihn am Boden sehen können. Wir können ihn auch noch größer machen, vielleicht machen Sie diese 16 Hit Bewerben. Und er verschwand wieder. Bewegen wir ihn aus dem Hintergrund. Okay, da gehen wir. Ich denke, 16 ist eine gut genug Zahl, aber Sie können immer noch sehen, dass wir ihn nicht hinter der Schicht sehen können. Und das ist ein Problem, das wir jetzt lösen können Wenn wir im Sprite-Rendering schauen, ist
dies ein Spielobjekt, das einen Sprite-Renderer darauf hat. Wenn wir beispielsweise den Sprite-Renderer
deaktivieren, können
Sie sehen, dass das Bild nicht mehr gerendert wird oder das Sprite nicht mehr gerendert wird. Wir können hier nochmals anklicken und das Sprite zurückkehren. Und wir können die Reihenfolge der Ebene hier ändern, 21. Und jetzt, wenn wir ihn bewegen, können
wir ihn vor unserem Bild sehen. Da das Hintergrundbild,
das auch über einen Sprite-Renderer verfügt, den wir ausschalten können, eine Ordnungsebene von 0
aufweist. Wenn wir es auf zwei setzen, können
Sie sehen, dass der Dämon verschwindet, aber das ist keine sehr gute Lösung. Wir werden dies im nächsten Video lösen, in dem wir Sortierschichten erstellen werden. Aber bevor wir das tun, habe ich eine Herausforderung für dich. Und Ihre Herausforderung wird es sein, voran zu gehen und Ihren eigenen Spieler zu erstellen und gearbeitet. Also erkunden Sie eine Website namens Open Game Art, die ich Ihnen zeigen. Das ist also offenes Spiel art.org und es ist eine erstaunliche Website,
wo Sie eine Menge von kostenlosen Assets in Ihren 2D-Spielen, 3D-Spielen verwenden können. Und Sie können auch die Musik und Soundeffekte und vieles, vieles mehr finden. So zum Beispiel, dieses Sprite-Blatt hier,
dies, Sagen wir Kachel-Set. Ich habe es von dem Autor Savini, dem New York. Ich bin mir nicht sicher, wie ich das aussprechen soll, stellen Sie sicher, sie zu überprüfen. Ich habe auch meine Dämonen hier von William Thompson als j bekommen, auch auf offenem Spiel art.org. Es ist eine erstaunliche Website. Ich empfehle Ihnen, es zu erkunden und Sie Ihre eigenen Charaktere zu finden. Stellen Sie sicher, dass der Charakter, den Sie finden, diese Walk-Animationen auf ihn hat. Also zurück zu unserer Herausforderung. Als nächstes müssen Sie einige Charaktere und Sprites finden, die zu Ihrem Stil passen. Vielleicht willst du keinen Dämon haben, der in einem Dorf herumjagt. Ich gebe zu, das war eine etwas ungeschickte Idee, aber ich wollte etwas Neues ausprobieren. Um zum nächsten Video zu wechseln, finden Sie Ihre eigenen Sprites, haben Sie Spaß, genießen Sie Ihre Zeit. Dies ist, wie ich im ersten Video gesagt habe, es geht
darum, Ihr eigenes Spiel zu erstellen und dem Spiel Ihren eigenen Geschmack und Stil
hinzuzufügen. Es geht nicht darum, nur zu kopieren, was ich tue und was ich gut für das Spiel finde. Sie müssen Ihren eigenen Geschmack hinzufügen. Also nehmen Sie sich Zeit, finden Sie Waren Sprites, erkunden Sie offene UND Tore sind that.org, vielleicht finden Sie andere Websites und ich sehe Sie in der nächsten.
9. Sortierung von Ebenen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir über das Sortieren von Ebenen lernen. Wenn wir nun auf den Hintergrund klicken, können
Sie sehen, dass die Sortierschicht der Hintergrund ist. Der Spieler hat seine eigene Sortierschicht, die Spielerebene. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, wie wir bereits gesagt haben, können
wir tatsächlich die Reihenfolge in Ebene verwenden, um die Reihenfolge zu ändern, in der unsere Sprites gerendert werden. Aber in diesem Video werde ich Ihnen eine weitere viel anspruchsvollere Art zeigen, Dinge zu tun. Und vor allem, warum brauchen wir diesen anspruchsvolleren Weg? Du fragst vielleicht: Nun, Michael, ich kann einfach ein anderes Objekt hinzufügen, darauf
setzen, sagen wir drei und dann vier, dann fünf und so weiter. Aber was passiert, wenn
wir zum Beispiel ein Element hier hinzufügen möchten und wir diesen Artikel über die rendern wollen, sagen
wir die Herzgegenstände und über die normalen NPCs, müssten
Sie jedes Mal zurückgehen und überprüfen, welche Reihenfolge n ist der MPC und der Player und der Hintergrund usw. Um das zu ändern, um eine dynamischere Art und Weise der Auswahl der Ebenen können
wir Sortierebenen erstellen,um eine dynamischere Art und Weise der Auswahl der Ebenenzu haben. Lassen Sie uns also voran und erstellen Sie unsere erste Sortierebene. Um dies zu tun, können wir hier in die Ebenen gehen und klicken Sie auf Ebenen bearbeiten. Wie Sie hier sehen können, haben
wir die Tags, wir haben die Sortierebenen, und wir haben die Ebenen. Jetzt werden die Layer und Tags für später beibehalten. Für jetzt konzentrieren wir uns einfach auf die Sortierebenen. Und hier wählen wir, welches Sprite oder Bild vor dem anderen angegriffen wurde. Wenn du nun in unseren Spaziergang Vanille zurückblickst, hat sich
das geändert und nenne dies das Monster oder Spieler, Spieler Dämon oder lass es uns einfach als Spieler behalten. Sie können sehen, dass die Sortierebene, die seine eigene ist die Standardebene. Und das liegt daran, dass wir nur eine Standard-Ebene haben. Nun gehen wir weiter und fügen Sie eine neue Ebene hinzu, indem Sie auf das kleine Plus hier klicken. Und nennen wir das den Hintergrund. So können wir jetzt in das Hintergrundbild gehen und wir können die Sortierebene wählen, um den Hintergrund zu sein. Wie Sie sofort sehen können, wird die Sortierebene, die der Hintergrund
ist, vor dem Player gerendert. Und das liegt daran, dass das Feld auf die Ebenen hier zurückblickt. Sie können sehen, dass sich der Layer vor der Standardeinstellung befindet, und Sie müssen sicherstellen , dass diese korrekt sortiert sind und in einer bestimmten Reihenfolge sind. Okay, toll, also stellen Sie sicher, dass der Hintergrund vor hier ist. Jetzt werden wir eine Ebene für den Spieler erstellen, aber es wird Ihre Herausforderung sein. Ihre Herausforderung besteht darin, die Sortierebene zu erstellen. Erstellen Sie also eine neue Sortierebene namens Player. Weisen Sie unseren Spieler der Player-Ebene zu
und stellen Sie sicher, dass der Spieler vor unserem Hintergrund angezeigt wird. Stellen Sie also sicher, dass die Reihenfolge und die Sortierebenen korrekt sind. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, hey, willkommen zurück. Wie bist du damit weitergekommen? Ich hoffe, du hast es versucht. Es ist sehr einfach. Wir klicken einfach auf das Plusende hier. Wir erstellen eine Ebene namens Player. Dann gehen wir zurück zu unserem Spieler. Und hier anstelle der Standardeinstellung wählen
wir einfach den Spieler und wir können sogar die Reihenfolge dort auf 0
setzen. Es spielt keine Rolle. Jetzt ist der Spieler auf der Player-Sortierungsebene. Der Hintergrund befindet sich auf der Hintergrundsortierungsebene. Also, selbst wenn wir die Reihenfolge und Ebene 2 ändern, sagen wir 600, obwohl der Player sich hier auf der Reihenfolge Ebene 0 befindet, immer noch vor dem Hintergrundbild gerendert. Ich hoffe, Sie haben es genossen. Und bevor wir weitermachen, haben wir vergessen, etwas zu tun, oder wir haben es im vorherigen Video nicht getan. Und das ist das Erstellen eines Repositorys. Nun, das tat ich nicht, ich wollte kein Repository erstellen. Und das erste Video, weil ich dachte, dass einige von euch vielleicht ihre eigenen Sprites
erstellen und dann ein neues Projekt erstellen wollen . So wie wir ein Repository erstellen, haben
wir dies bereits abgedeckt. Wir klicken auf die Durchsuchen, wir suchen nach unseren Projekten, wir sehen die Legende der Eroberung. Wir wählen diesen Ordner und wir werden erstellen, stellen Sie sicher, dass es eine gute Wir werden das positive erstellen. Ja. Und da gehen wir. Wir müssen sicherstellen, dass wir die Bibliothek vergessen oder ignorieren. Ich meine, also ignoriere alles unter der Bibliothek. Wir erschaffen. Das ist unsere Ignorier-Datei. Also lasst uns gehen und die Ignorieren fünf Listen bekommen. Also n hier, geh zu den Meistern. Da gehen wir. Wir können wählen, Roll gehen, Kontrolle ein, um alles zu wählen. Wieder hier drin. Wo ist es der Punkt gitignore basiert alles. Speichern Sie den Ausgang. Und jetzt mal sehen. Ja, alles scheint gut zu sein. Alles inszenieren. Wir werden unsere Arbeit begehen und in der Regel, wie wir gesagt haben, das anfängliche Commit wiederhergestellt. Und das ist der sehr spannende Teil. Also jetzt, und unsere Commits, wo sind unsere Commits? Da? Da sind wir, wir sind, wir haben unser erstes Engagement geschaffen und wir haben tatsächlich unsere Projekte gestartet. Also jetzt sind wir wirklich engagiert. Es gibt kein Zurück zu meinen Freunden. Lasst uns weitermachen.
10. Kollisionen und RigidBody: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir lernen, wie wir Physik
in unser Spiel einfügen können und nicht mehr nur Bilder und Sprites haben. Wir haben tatsächlich Körper und Physik in unserem Spiel. Also haben wir einen Collider hinzugefügt. Wir haben auch gelernt, was ein Collider ist. Wir haben einen starren Körper hinzugefügt. Wir haben auch gelernt, was das ist, und wir lernen etwas Neues und eine neue Ressource für Informationen, die die Unity-Dokumentation ist. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, Kay, so Kollider und reiche Körper, sind sehr wesentliche Teile und Komponenten der Einheit. Warum müssen wir eigentlich diese beiden seltsamen Dinge hinzufügen? Nun, denn derzeit, obwohl wir einen Spieler haben und er sieht cool aus und wir haben einen Boden, auf dem wir stehen. Und wir haben verschiedene Walters und so weiter und so weiter. Aber das sind nur Bilder, sind nur Sprites. Der Spieler ist also nur ein Sprite, das Hintergrundbild ist nur ein Sprite und wir können damit nicht mit irgendetwas interagieren, noch können wir uns bewegen. Lassen Sie uns damit beginnen, zu verstehen, was Kollider sind. Also, was ist ein Collider? Ein Collider ermöglicht es Objekten, miteinander zu interagieren und zu kollidieren. Und wir werden es verwenden, um unseren Spieler Objekte treffen zu lassen und mit anderen physischen Objekten zu
interagieren, die auch Kollider auf ihnen haben. Nun, was ist ein starrer Körper? Ein starrer Körper tut etwas oder eine Komponente in Unity, die
es uns ermöglicht, die Position eines Objekts durch Physiksimulation zu steuern. Starres Körperobjekt würde durch die Schwerkraft nach unten gezogen werden, ohne jede Schicht hinzuzufügen. Und schließlich können wir auch unsere eigenen Kräfte auf sie oder auf die starren Körper anwenden. Nun, da wir ein wenig Verständnis dafür haben, was diese sind, lassen Sie mich Ihnen einfach eine andere sehr coole Sache zeigen, die Sie beachten müssen, und das ist die Unity-Dokumentation. Jetzt können Sie hier sehen, ich habe gerade in Google starren Körper 2D in Unity eingegeben. Und Sie können den Link hier sehen. Es ist die Docs Dot Einheit. Und Sie können sehen, was der starre Körper ist. Jetzt müssen Sie nicht jedes einzelne Wort hier lesen,
aber ich empfehle, dass Sie wenigstens über ein paar Dinge hier drinnen abhauen. Beispiel: Die Physik recast die auf Kollisionseingabe. sind Dinge, die gut zu wissen sind, dass sie zumindest existiert, und Sie können das verwenden. Ich erinnere mich nie an etwas. Ich liebe es normalerweise nur zu wissen, dass es etwas Nützliches im starren Körper 2D gibt, das ich später verwenden kann. Und wir haben hier auch eine Seite für die Collider-Studie. Und Sie können sehen, dass wir einen Kreiskollider, einen Box-Collider, Polygonkante, Kapsel und so weiter und so weiter haben. Also zurück in Unity, Lassen Sie uns voran und fügen Sie unserem Spieler einen Collider hinzu. Also werden wir in den Player gehen, wird eine Komponente hinzufügen und es wird ein Collider 2D sein. Sie können wählen, welchen Collider Sie wollen. Ich denke, ein kreisförmiger Collider wird hier sehr schön hineinpassen. Wie Sie sehen können, gibt es eine grüne Linie. Es ist ein bisschen dünn, aber wenn ich versucht habe, es zu ändern, können
Sie sehen, dass es eine grüne Linie gibt und das ist, was der Spieler interagieren kann. Also werden wir es ein bisschen kleiner machen, so dass es nur um den Spieler passt. Und Sie können den Collider hier bearbeiten, indem Sie auf diese Schaltfläche tippen. Wir können auch den Radius ändern und den Versatz ändern. Also werde ich es nur ein bisschen nach oben bewegen und vielleicht einfach versucht, es so groß zu machen, wie es sein sollte. Machen Sie es nie mehr, als es sein sollte. Also nur etwa die Größe, denke
ich, ist gut genug. Und hier haben wir den Auslöser und von einem Faktor verwendet. Wir werden sehen, was alle später sind, aber großartig. Jetzt haben Sie gesehen, wie wir eine Komponente hinzufügen. Ich klickte hier auf die Schaltfläche Komponente hinzufügen, ich wählte einen kreisförmigen Kollider. Ich hätte alles andere aussuchen können. Und Sie müssen einen Collider basierend auf
der Form Ihres Spielers oder Charakters und der Welt wählen. Nun, das nächste, was wir tun wollen, ist, dass wir einen starren Körper hinzufügen müssen. Das wird also Teil Ihrer Herausforderung sein. Ihre Herausforderung wird sein, zu geben, gibt es Physik? Also gehen Sie in das Spielerspielobjekt, überprüfen Sie den Inspektor, fügen Sie eine starre Körperkomponente hinzu und stellen Sie sicher, dass es zu D ist, weil wir zwei Arten von starren Körpern haben. Wir haben einen normalen starren Körper für die 3D, und wir haben einen bestimmten starren Körper nur für die 2D. Und wenn Sie möchten, können Sie den Code auch ausführen und sehen, was passiert. Also pausieren Sie das Video jetzt und gehen Sie die Shell. Kay, willkommen zurück. Also hier drin werden wir in das Spielerspielobjekt gehen. Wir werden den Inspektor überprüfen. Ok, sehr nett. Und wir werden weiter gehen und
eine weitere Komponente hinzufügen , und es wird ein starrer Körper sein und wird ein starrer Körper 2D sein. Jetzt haben wir hier einen starren Körper. Und Sie können sehen, dass es Masse hat, es hat lineare Ziehen, es hat eckige Droge. werden wir uns vorerst keine Sorgen machen. Aber was wir uns darüber Sorgen machen werden, die Schwerkraft, die hinzugefügt wird, denn wie ich Ihnen sagte, haben
wir automatische Schwerkraft auf unserem starren Körper. Wenn wir also auf „Play“ klicken
und jetzt sehen Sie, dass unser kleiner Daemon anfängt zu fallen, und das liegt daran, dass die Schwerkraft auf ihn einwirken. Also, was können wir dagegen tun? Nun, wenn Sie versucht hatten, den starren Körper 2D zu lesen, können
Sie hier sehen, dass wir drei Arten von starren Körpern haben. Wir haben die Dynamik, die Kinematik und den Stapel. Und Sie können sich frei fühlen, weiterzumachen und über all diese zu lesen. Was Sie verstehen müssen, ist, dass kinematische und dynamische ist wenn die Schwerkraft wirkt oder äußere Kräfte auf unseren Körper einwirken. Kinematik ist, wenn nur die Kräfte, die wir geben, unsere Wirkung auf den Körper und statisch,
das bedeutet, dass keine Kräfte auf den Spieler einwirken können. Wenn wir also die Kinematik treffen, führen wir
jetzt den Code aus. Und Sie können sehen, dass unser Spieler nicht mehr so gut fällt, dass keiner, ich hoffe, Sie genießen es. Wir müssen sicherstellen, dass wir unsere Änderungen begehen. Hier sind also ein paar Änderungen. Inszenieren Sie alles Commit. habe einen Kollider und einen starren Körper zu meinem Spieler hinzugefügt. Übernehmen Sie die Änderungen, und ich sehe Sie in der nächsten.
11. Skripte und Variablen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir ein Spielerskript erstellt und dem Spielerspielobjekt hinzugefügt. Wir haben auch über Variablen gelernt. Wir haben ein bisschen Code hinzugefügt und wie Sie sehen können, haben
wir dieses serialisierte Feld. Sehr beängstigend. Nein, ich mach nur ein Scherz. Es ist sehr einfach. Also brauche ich deine volle Konzentration. Lass uns keine Zeit mehr verschwenden und loslegen. O k. Jetzt ist es an der Zeit, unsere Objekte in der Welt tatsächlich zu kontrollieren. Und das erste, was wir tun wollen, ist, dass wir den starren Körper verwenden, den wir gerade angewendet haben, um damit zu beginnen, unseren kleinen Dämonenspieler zu bewegen. Und ich denke, wir werden das Jimmy nennen, also Jimmy, der Dämon. Das erste, was wir tun werden, ist, dass wir
ein Skript erstellen und zu unserem Daemon direkt hier hinzugefügt werden. In unseren Vermögenswerten werden
wir mit der rechten Maustaste klicken und ein C-Skript erstellen. Und wir werden das den Spieler nennen. Alles, was Sie nennen können dies den Spieler-Controller, Spielermanager. Ich denke, Spieler, nur um zusammenzufassen, alles ist ein guter Name. Stellen Sie also sicher, dass Sie es korrekt mit dem Player aufrufen, drücken Sie die Eingabetaste. Warten Sie ein wenig, bis das Skript hier kompiliert wird. Und du wirst bemerken, dass, wenn es dieses kleine Ding hier macht, wir es
jetzt benutzen können. Warten Sie darauf, dass dies geschieht, weil ich viele Fragen bekomme, während ich nicht arbeite. Warum hast du uns etwas Falsches beigebracht? Nein, du musst nur ein bisschen warten. Haben Sie Patienten. Nun, das nächste, was wir tun müssen, ist, dass wir das Skript hinzufügen müssen, den Player. Also ziehen wir es einfach über und auf das Spielerspielobjekt. Und Sie werden hier im Inspektor sehen, dass wir es hier drin haben. Oh, gab sehr nett. Als nächstes gehen wir weiter und öffnen Sie es und Visual Studio. Um das Skript zu öffnen, doppelklicken Sie
einfach auf den Player hier. Und Visual Studio sollte sich öffnen. Oh, okay, richtig. Machen Sie sich keine Sorgen über all das, wir werden später darüber nachgehen, wie Start funktioniert, wie Update funktioniert, und all diese hier, und Mono-Verhalten und der Klassenspieler und die Öffentlichkeit. Aber für jetzt, Lassen Sie uns auf unsere Spieler bewegt konzentrieren. Dafür brauchen wir den starren Körper. Und dafür, um auf den starren Körper zugreifen zu können, benötigen Sie einen Verweis darauf. Wie bekommen wir einen Verweis auf den starren Körper? Nun, wir müssen eine Variable vom Typ starren Körper erstellen. Und du fragst vielleicht , was sind Variablen? Sehr schöne Frage. Lassen Sie mich erklären. Variablen sind genau wie Boxen. Nehmen wir an, wir haben eine Box, die das Leben genannt wird. Und was wir tun, ist, dass wir eine Drei in diese Kiste stecken. Also, jetzt haben wir eine Variable vom Typ Integer, weil sie eine ganze Zahl darin hat, und es heißt Leben. Eine Variable hat also ein paar Dinge, die Sie immer wissen müssen. So schreiben wir also eine Variable im Mantel oder wie wir diese Box in Code und unser Visual Studio
übersetzen. Zunächst einmal haben wir die Zugänglichkeit. Wer kann darauf zugreifen? Wir haben eine öffentliche oder private und etwas, das ich Ihnen in nur ein bisschen beibringen werde, das heißt serialisierte Feld. Wer kann also als öffentliche Variable darauf zugreifen? Jeder kann reinkommen. Ist es eine private Variable? Nur das Skript, auf dem wir es verwenden, kann verwendet werden. Dann haben wir den Typ, wie ich schon sagte, es ist eine ganze Zahl. Wir haben andere Typen, die wir später sehen werden, wie Strings ,
Float usw. Eine Zeichenfolge ist also eine Reihe von Zahlen. Wir werden später sehen, welche verschiedenen Arten wir haben. Wir haben den Namen der Variablen, und schließlich haben
wir die Daten, die innerhalb dieser Variablen gespeichert ist. Also haben wir verschiedene Arten von Variablen. Nehmen wir zum Beispiel an, Leben können drei sein. Wir haben also drei Leben, aber die Geschwindigkeit zum Beispiel kann irgendwann 4,8 oder 10,6 betragen. Also, um Geschwindigkeit und andere Dinge wie Temperatur darzustellen, müssen
wir einen Float verwenden,
wo wir einen Gleitkomma verwenden können, um 4 a darzustellen. Dann haben wir den Boolean. Und Boolean kann entweder wahr oder falsch sein. So zum Beispiel, unser Spieler, können
wir eine Variable erstellen, die aufgerufen wird, ist tot. So ist unser Spieler, der drei oder 4.8 sein kann. Es muss entweder wahr sein, oder es muss falsch sein. So wahr und falsch sind die beiden Daten, die wir in den Boolean setzen können. Boolesche Menschen sind sehr wichtig, wie Sie sehen werden, wenn wir uns durch unser Projekt bewegen. Dann haben wir die Schnur. Eine Zeichenfolge ist also eine Zeichenkette. Also das Zeichen M, I, C, H, E, L. Also dies ist eine Zeichenfolge von Zeichen, die
zum Beispiel Bergbau darstellen , das Michael oder Michelle ist. Du kannst mich nennen, was auch immer du bevorzugst. Und das ist eine Reihe von Zeichen. Zusammengesetzt, um die Variable darzustellen. Okay, mit dem fertig,
das nächste, was wir tun werden, ist, dass wir eine Variable erstellen, die
vom Typ starren Körper ist , um einen Verweis darauf zu erhalten. Also hier drin schaffen wir ein Publikum. So öffentlich, wie Sie sehen können, hilft uns
die IDE bereits sehr. Öffentlich. Starre Körper 2D, und wir werden diesen tiefen Spieler starren Körper 2D nennen. Und eine andere Sache, die wir immer im Auge behalten müssen, ist die Art und Weise, wie wir unsere Variablen nennen. Wie Sie sehen können, wurde das erste Wort nicht groß geschrieben. Das zweite Wort ist groß geschrieben. Und auch sequente Wörter, die Sie innerhalb des Namens Ihrer Variablen haben, werden großgeschrieben. Und ich zeige dir, warum hier drin ist. Und wir können tatsächlich die 2D entfernen. Das brauchen wir nicht. Und hier, speichern Sie das wieder in unserer Einheit. Wir können nach rechts schauen und Sie können sehen, dass wir hier eine starre Körpervariable und einen Verweis darauf haben. So können wir jetzt diesen starren Körper hinzufügen, ziehen Sie ihn
einfach in diesen leeren Schlitz. Und jetzt haben wir die Spieler starren Körper referenziert und jetzt können wir es in unserem Skript verwenden. Und wie gesagt, jedes Mal, wenn wir ein Wort groß schreiben, können
Sie sehen, dass wir hier einen kleinen Platz für den Namen hinzufügen. Zum Beispiel, wenn ich dies zu einem kleinen b mache, speichern Sie das zurück in Unity, starrer Körper sollte verbunden sein. Und da gehst du, ist es. Deshalb haben wir das B hinzugefügt,
und Sie können die Kontrolle zed drücken, und wir können zurückgehen und unsere Änderungen rückgängig machen. So sehr schön, jetzt, dass Sie über
Variablen gelernt haben und wie wir sie erstellen können, die dies einfach hier zurücksetzen. Und jetzt ist es Zeit für eine kleine Herausforderung. Und Ihre Herausforderung besteht darin,
eine private Variable zu erstellen oder nicht zu erstellen, die vielleicht zu I private Variable geändert wird. So änderte die Variable von öffentlich zu privat. Gehen Sie zurück in Unity und suchen Sie im Inspektor nach der Variablen. Pausieren Sie das Video jetzt, ändern Sie die Variable von öffentlich in privat und sehen Sie, ob es noch im Inspektor vorhanden ist. Oh, willkommen zurück. Also hier drinnen werden wir das in ein Privates ändern. Achten Sie darauf, Ihr Skript immer zu speichern, und Sie wissen, dass Ihr Skript nicht gespeichert ist. Wenn Sie das kleine Sternchen als streng ihrer Kontrolle S sehen können, speichern Sie unser Skript wieder in Unity. Und jetzt können wir sehen, dass wir die Variable hier nicht mehr haben. Wie können wir nun unseren starren Körper referenzieren? Nun, wir können etwas verwenden, das ein serialisiertes Feld genannt wird. Und lassen Sie mich Ihnen zeigen, was ein serialisiertes Feld ist. Und ich werde auch erklären, warum wir manchmal ein öffentliches,
privates und ein überwachtes Feld benutzen müssen . Also, was ist der Unterschied? Eine private Variable ist also nicht von anderen Klassen verfügbar. Das ist im Inspektor nicht sichtbar. Warum brauchen wir manchmal eine private Variable? Nehmen wir zum Beispiel an, wir haben die Geschwindigkeit unseres Spielers und wir wollen
zum Beispiel nicht in der Lage sein, die Geschwindigkeit unseres Spielers durch Zufall von, sagen
wir, dem Schild-Gegenstand zu erreichen. Also machen wir es privat. Es kann also nur über das Player-Skript zugegriffen werden. So ist die Geschwindigkeit, die privat ist oder die Geschwindigkeit des Spielers privat. Und es kann nur über das Player-Skript zugegriffen werden, nicht über den Schild, das Skript, zum Beispiel. Dies ist also die Macht der Verwendung von privaten Variablen. Nun sind öffentliche Wertsachen aus anderen Klassen verfügbar, sind im Inspektor sichtbar und natürlich nicht sichtbar im Inspektor. Sie können sie tatsächlich sehen plus Spalte, die ich denke, ist nutzlos. Aber wie auch immer, und das serialisierte Feld, die Gelenke zwingen beide die öffentliche und private, weil serialisierte Felder nicht von anderen Klassen verfügbar sind, aber Sie können sie immer noch im Inspektor sehen. Und das ist ein sehr,
sehr hilfreiches Werkzeug in Unity. Also lasst uns weitermachen und unseren starren Körper zu einem serialisierten Feld machen. Anstelle von privat werden
wir es zu einem serialisierten Feld
machen und sicherstellen, dass diese beiden Klammern immer um sie herum hinzugefügt werden. Also speichern wir unser Skript. Wir gehen zurück in Unity, und jetzt haben wir die Möglichkeit,
den starren Körper hinzuzufügen und Sie können sehen, dass er bereits da ist. Also werden wir das retten. Und im nächsten Video fangen wir an, unseren starren Körper zu verwenden, um unseren Spieler zu bewegen. Vergessen Sie wie immer nicht, unsere Änderungen zu übernehmen. Ich werde aufhören, dies zu tun, aber ich werde immer mit tun, am Ende jedes einzelnen Videos, weil es sowieso ein wenig Zeit in Anspruch nimmt. Nun, das nicht, ich hoffe, Sie genießen es und ich sehen Sie in der nächsten.
12. Input und Rigidbody: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir tatsächlich über
Eingänge lernen und wir werden unseren starren Körper für etwas Nützliches verwenden. Also jetzt steht unser Jimmy, der Dämon, nicht einfach da. Er kann sich nach oben bewegen, sich nach links bewegen, sich nach unten bewegen, nach rechts bewegen. Und er kann sich nicht nur horizontal und vertikal bewegen, er kann sich auch bewegen. Also lasst uns keine Zeit mehr verschwenden und fangen wir an, unseren Dämon o
k zu benutzen . Also lasst uns zuerst unser Skript öffnen und uns hier ein paar Dinge erklären. Zunächst einmal haben wir diese drei Zeilen hier drin, die mit der Verwendung beginnen, und dies ist eine Sammlung von Bibliotheken. Wenn wir zum Beispiel mit der Unity-Engine schreiben, bedeutet
das, dass wir auf einen riesigen,
riesigen Code zugreifen , der es uns ermöglicht, zum Beispiel
den Start, das Update,
das Mono-Verhalten und so weiter zu verwenden den Start, das Update, . Und das ist dasselbe für die Systemsammlungen und Systemsammlungen. Generisch, sie sind riesige Bibliotheken. Und anstatt den ganzen Code für zum Beispiel
für den Anfang und so weiter zu schreiben , fügen
wir einfach die Verwendung hier hinzu und wir können jeden Code verwenden, den wir wollen. Wir werden viel mehr davon später sehen, wo wir unsere eigenen Bibliotheken
hinzufügen und verschiedene hier oben verwenden werden. Als Nächstes haben
wir einen Spieler der öffentlichen Klasse. So wie wir die Variablen haben, die öffentlich oder privat sein können, können
wir auch Klassen haben, und diese Klassen können innerhalb von ihnen Methoden und Variablen haben. Sie können es als eine Sammlung von kleinen Codes innerhalb der Klasse vorstellen. Dann haben wir den Namen der Klasse, die Spieler ist. Und unter keinen Umständen ändern Sie den Namen und hier, denn wenn Sie den Namen hier ändern, aber Sie ändern nicht den Namen des Skripts hier drin. Sie werden einen großen Fehler haben und es ist sehr schwierig, später zu ändern. Das nächste, was wir haben,
diese zwei kleinen Punkte hier drin und Mono-Verhalten. Und ich werde nicht viel darüber reden, wie die Vererbung funktioniert. Aber das bedeutet, dass die Spielerinhärenz von Monoverhalten und moralischem Verhalten eine Basisklasse ist. Und was ist eine Basisklasse? Dort haben wir den Start und das Update. Also im Grunde, wenn wir das hier eingeben, bedeutet
das, dass wir den Spieler an
ein bestimmtes Spielobjekt anhängen können und wir den Start und das Update verwenden können. Nun, was unser Start und Update, wir haben einen Kommentar in hier. Dem Kommentar werden also immer diese beiden Schrägstriche vorangestellt. Und start wird vor dem ersten Frame-Update aufgerufen. Also, wenn wir unser Spiel starten, wann immer der Objektspieler startet, führt
die Startmethode tatsächlich aus und wir können hier eine Menge Dinge hinzufügen, die wir
ausführen möchten , wenn das Spielerspielobjekt erscheint oder beginnt oder was auch immer oder kommt Leben. Dann haben wir das Update und Update einmal pro Frame aufgerufen. Also denke ich, weil Sie versuchen, Spiele zu erstellen, sind
Sie mit Frames pro Sekunde vertraut. Nun, Update wird jeden einzelnen Frame pro Sekunde genannt. Hier können wir unseren Spieler tatsächlich bewegen und verschiedene Dinge tun. Schauen Sie sich die Umgebung an,
sehen Sie, was passiert und wie der Spieler mit der Welt interagiert. Also, wenn Sie wie für die Initialisierung beginnen wollen und aktualisieren ist für eine Bewegung und bestimmte Dinge tun. Also fangen wir an, all das anzuwenden. Und wir werden vor allem
die Bewegung unserer Spieler anwenden . Also haben wir unseren starren Körper. Nun, was wir tun wollen, ist, dass wir anfangen, uns zu bewegen. Was wir also tun können, ist, dass wir die Körperpunktgeschwindigkeit des Spielers verwenden können. Und Sie können hier sehen, wenn wir nur den Mauszeiger darüber bewegen, einen starren Körper, 2D-Punktgeschwindigkeit, eine lineare Geschwindigkeit des starren Körpers in Einheiten pro Sekunde. Wie Sie sehen können, ist
es vom Typ Vektor 2. Und wir alle wissen, was ein Vektor ist. Vector ist nur eine Komponente in der Mathematik, Sie die x-Achse und die y und verdient verwenden können. Aber weil wir Vektor 2 verwenden, bedeutet
das, dass wir nur die x und y verwenden. Das liegt daran,
dass wir in 2D sind, ist
egal, ob wir den Satz verwenden oder nicht. Jedenfalls, zurück in unserem Code. Also Geschwindigkeit, ich mag immer die ID-Vorschläge und neuen Vektor zwei verwenden. Und wir werden es nur eins nach dem anderen geben. Dieser Code hier wird also jeder einzelne Frame genannt. So wird die Geschwindigkeit der Spieler starren Körper kommen der neue Vektor 2, 1 f, 1, f, die die Koordinaten sind. Also sollte er anfangen, sich in die rechte obere Richtung zu bewegen, wenn wir unser Spiel beginnen. Also lassen Sie uns das Skript speichern. Lasst uns in unser Spiel zurückschlagen und lasst uns das testen. Also, wenn wir spielen, werden
Sie sehen, Da gehen wir. Unser kleiner Jimmy-Daemon beginnt sich
nach oben zu bewegen und Sie können sehen, dass es bei jedem einzelnen Frame passiert. Und wir können den Start auch später testen. Okay, großartig. Jetzt haben wir ein bisschen Bewegung. Das nächste, was wir tun wollen, ist, dass wir tatsächlich
Bewegung nur verwenden wollen , wenn wir von unseren Keats eingegeben haben, bevor wir eintauchen. Ich möchte nur etwas klarstellen über die Ergebnisse. Ich bin nicht hier, um dir zu zeigen, wie alles gemacht wird. Ich bin hier, um dir beizubringen, wie es geht. Also mein Ziel ist es nicht, nur für dich herumzusitzen und mir zuzusehen, wie ich Code tippe. Mein Ziel ist es, Sie zu einem Meisterproblem zu lösen. Und die Art, wie wir das tun, ist, indem wir anfangen, wie ein Spieleentwickler zu denken. Also sagen wir, zum Beispiel bin ich über dieses Problem gestolpert. Ich möchte Eingaben für meinen Gewinn haben. Also, was soll ich tun? Nun, ich gehe in Google und sagen wir, wie man in Unity eingibt. Okay, also können wir hier sehen, dass wir etwas haben, das einen Input-Manager genannt wird. Also lasst uns in die Eingänge gehen. Also schauen wir hier rein, okay, und setzen sehr nett. Wir haben Zugang, sehr nett. Wir können nach unten scrollen und Whoa, wir haben die statischen Eigenschaften. Also scrollen wir nach unten, wir lesen ein bisschen, und dann sehen wir hier die statischen Methoden. Und wir können sehen, dass es den Wert
der virtuellen Achse zurückgibt und dies gibt den Wert als Name, keine Glättung. Okay, Nett. Also denke ich, dass die GET-Achse Rho etwas ist, das wir verwenden können. Nun natürlich, der Prozess, wenn Sie es viel länger tun, aber ich zeige Ihnen nur, wie wir Probleme lösen, während wir auf unserer Reise voranschreiten. Und dann gehen wir, der Eingabepunkt, Zugang zu bekommen. Rob, Wie bequem. Sagen wir mal, ich habe keine Ahnung, wie man das benutzt. Ich kann die Beschreibung sehen. Ich kann lesen, wie sich der Wert ändert, und ich kann auch sehen, dass wir es innerhalb des Updates verwenden. Wie bequem? Hier können Sie sehen, dass es vom Typ float ist. Wir geben ihm eine Geschwindigkeit, wir erhalten eine Eingabe und wir multiplizieren sie mit time.Deltatime, was wir später erklären werden. Und dann können wir es irgendwo hinzufügen. Sehr nett, so toll. Aber was bedeutet diese Horizontale hier? Nun, wie praktisch wir tatsächlich das Eingabefenster „Einstellungen bearbeiten“ haben. Okay, lassen Sie uns das versuchen. In Einheit gehen wir in die Bearbeitung, wir gehen in die Projekteinstellungen. Und wo ist unser Input? Input-Manager? Wir klicken auf die Achse und whoa, schauen, wie viele Achse wir haben. Vielleicht klinge ich ein bisschen kitschig, aber das ist wirklich, wie wir manchmal Dinge
herausfinden , wenn wir Spiele erstellen und Projekte machen. So großartig. Wir haben die Horizontale, wir klicken darauf, wir sehen, dass sein Name horizontal ist und der negative Knopf der linke ist, der positive Knopf als der rechte. Sehr nett. Lassen Sie uns voran und in unserem Code implementiert. Also wieder hier drin, schlagen
wir einen Enter. Und wie sie uns gesagt haben, wir sollen einen Schwimmer neu erstellen, nennen
wir ihn die horizontale Bewegung. Und es wird gleich dem Eingabepunkt sein, bekommen Zugriffszeile. Und hier haben sie uns gesagt, dass wir horizontale und sehr wichtige Spitze hinzufügen müssen. Und das wird Ihnen viele, viele Stunden sparen. Vertrauen Sie mir, wann immer Sie eine String-Referenz haben, bedeutet
das, wenn wir etwas haben, das wir zwischen zwei Anführungszeichen setzen müssen, wie hier, zum Beispiel, ist
dies eine String-Referenz, wenn Sie horizontal falsch eingeben, Dieser Code wird nicht funktionieren. Und nicht nur das, Sie werden keinen Fehler bekommen. Wenn Sie also eine String-Referenz haben, ist
es immer besser, sie tatsächlich zu kopieren und dann hier einzufügen. Okay, großartig. Jetzt haben wir die Eingabe mit der get access Zeile auf der Horizontalen. Und wir setzen es in eine Variable vom Typ float genannt horizontale Bewegung. Und jetzt können wir dies auf 0 setzen. Und anstatt ihm eine beliebige Zahl 1 f zu geben, können
wir ihm tatsächlich die horizontale Bewegung geben. Wir werden das retten. Wir gehen zurück in Unity. Und lassen Sie mich das hier neben dem Inspektor verdunkeln. Wir haben „Play“ getroffen. Und jetzt, wenn wir auf die a oder die D klicken, können
Sie sehen, dass unser Spieler beginnt sich zu bewegen. Aber wenn wir versuchen, zu schlagen, können
wir auch die A und D, oder die linke und die rechte, die Pfeile verwenden. Aber wenn wir versuchen, nach oben und unten zu schlagen, haben
wir keine Bewegung. Und wenn wir versuchen, die W und S zu treffen, haben
wir auch keine Bewegung. Es ist also Zeit, die vertikale Geschwindigkeit anzuwenden. Und ich habe keine Lust, es zu tun. Also werde ich es dir als Herausforderung geben. So erhalten Sie vertikale Eingabe und eine Handlung. So erhalten Sie den Eingang für die vertikale Bewegung. Wenden Sie es auf die starre Körpergeschwindigkeit an und testen Sie es in Ihrem Spiel. Also pausieren Sie das Video jetzt und gehen Sie tun lehren Herausforderung. Okay, willkommen zurück. Also lassen Sie mich noch einmal unsere Projekteinstellungen betrachten. Machen Sie es ein bisschen größer. Also, was wollen wir? Wir wollen die Vertikale. Also öffne ich die vertikale, okay, so negative Taste nach unten, oben als W und es heißt vertikal. Also kopieren wir vertikal. Wir können das schließen. Wir gehen hier wieder rein. Wir werden diese Zeile duplizieren und die Art und Weise, wie wir sie duplizieren, wird einfach den Cursor am Ende setzen und Control D drücken. Also jetzt ändern wir dies von horizontal zu vertikal und wir fügen das Wort vertikal und hier ein. Als Faustregel, denken Sie immer daran, wenn Sie eine String-Referenz haben, gehen
Sie immer und kopieren Sie sie. Und jetzt fügen wir die vertikale Bewegung zum Vektor 2 hinzu. Also, was machen wir jetzt hier drin? Wir nehmen die horizontale Bewegung. Wir nehmen die vertikale Bewegung. Dann nehmen wir die Geschwindigkeit unseres Spielers starren Körpers. Und wir setzen es als einen neuen Vektor, der aus der horizontalen Bewegung und der vertikalen Bewegung
erzeugt wird . Okay, großartig. Lassen Sie uns sicherstellen, dass wir das Skript wieder in Unity speichern. Wir drücken Play und jetzt sollten wir in der Lage sein, nach links,
rechts, und nach oben, unten zu bewegen . Ach, wuchs die Rate. Wie cool ist das? Unser Spiel beginnt lebendig zu werden. Also ich hoffe, Sie haben es Ihr Bestes gegeben und stellen Sie sicher, unsere Änderungen zu begehen, wie Sie sehen können, hat die letzte Änderung übernommen, wo ich ein Player-Skript
erstellt und einen Verweis auf starren Körper hinzugefügt habe. Also werde ich Sie in der nächsten sehen, wo wir beginnen, unseren Spieler zu animieren und ihn ein wenig schneller zu machen. Also sehe ich dich dort.
13. Animation: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir anfangen, unseren Jimmy Dean zu animieren. Also,
als wir gespielt hatten , müssen wir nicht spielen. Wir gehen tatsächlich zu den Animationen. Wir können nach links gehen, wir können nach rechts gehen. Wir können runtergehen. Und natürlich können wir nach oben gehen. Lassen Sie uns also keine Zeit mehr verschwenden und fangen wir an, über Animationen in Einheit zu lernen. Okay, also Animationen und Animatoren in Unity, sehr lustig. Und fangen wir zuerst an, indem wir Animationen verstehen. Zuallererst haben wir etwas namens Animator-Controller. Und dies ermöglicht es uns, oder ermöglicht es Ihnen, eine Reihe von Animationsclips zu arrangieren und zu pflegen. Und du wirst sehen, wie das innerhalb von Unity aussieht. Als Nächstes haben wir die Animator-Komponente, verwendet wird, um einem Spielobjekt in Ihrer Szene Animationen zuzuweisen. Wenn Ihr Spielobjekt also einen Animator hat, weiß die
Einheit, dass dies animiert werden kann. Als nächstes haben wir eine Animation. Und was ist eine Animation? Es ist mehrere Sprites werden nacheinander gerendert, und es sieht wie ein Video aus. Also, was ist ein Video, wenn Sie ein Video oder einen Film, eine Serie oder mehrere Bilder direkt nebeneinander, die bewegen oder gehen von einem zum anderen Ende Sie fühlen oder haben Sie die Illusion, als ob sie alle kontinuierlich sind? Und schließlich haben wir den Sprite-Renderer. Wir haben bereits darüber gesprochen, aber ich werde nur hier enden, um Sie noch einmal daran zu erinnern, dass es einen Sprite-Fall in die Grafik macht. Lassen Sie uns also voran und erstellen Sie unsere erste Animation. Also, zurück in Unity hier, wie sollen wir das tun? Nun, wir werden unsere kontinuierlichen Sprites des Jimmy-Dämons benutzen, der sich rechts,
links, oben und unten bewegt . Wenn wir also auf das Sprite doppelklicken, können
Sie sehen, dass wir eine Bewegung nach vorne haben, eine Bewegung nach oben oder oben, unten, was auch immer Sie es nennen wollen, dann rechts und links. Also lasst uns anfangen zu erstellen. Zunächst werden wir in den Player gehen, klicken Sie auf das Fenster erscheint, wird nach unten gehen und klicken Sie auf Animation. Also jetzt haben wir die Animation und hier werden wir es neben dem Spiel andocken. Und stellen Sie sicher, dass der wahre Klick auf den Player. In hier können Sie sehen, um zu beginnen animieren Player erstellen Sie einen Animator und Animations-Clip. Im Inspektor mache
ich diese etwas kleiner und wir klicken auf Erstellen. Also, wo dies gibt uns die Möglichkeit, wo wir diese Animationen speichern wollen. Also denke ich, in Vermögenswerten, in den Legenden der Eroberung und Vermögenswerte, werde
ich einfach mit der rechten Maustaste hier reinklicken einen neuen Ordner
erstellen. Wir nennen das die Animationen. Wir werden hier doppelklicken. Wir erstellen einen Ordner für den Player. Und innerhalb dieses Ordners wird die Walking rechts erstellen, oder nach rechts oder was auch immer Sie Ihre Animation nennen möchten. Also werden wir „Speichern“ treffen. Und da gehst du. Wir haben hier einen Zeitplan. Wir haben das Stück, wir haben die Platte, und wir müssen hier drinnen sicherstellen, dass wir am Laufen arbeiten. Animation. Also, wie werden wir diesen Preis für das Gehen nehmen, richtig? Welches sind diese, und setzen Sie ihn, stecken Sie sie hier rein. Sehr einfach. Wir klicken einfach auf den ersten. Wir halten die Umschalttaste gedrückt, klicken auf die letzte und ziehen sie hier in die Timeline. So wie Sie jetzt sehen können, wenn wir spielen, sie sind extrem schnell. Also können wir sie wirklich voneinander trennen. So können wir sie zehn Frames voneinander abstellen. Wenn wir nun laufen, können
Sie sehen, dass wir irgendwie laufen. Sie bemerken, dass es definitiv etwas nicht stimmt, nicht richtig funktioniert. Warum ist das so? Nun, denn wenn wir das für eine Sekunde stoppen, fangen
wir mit dem ersten Frame an. Wir gehen das rechte Bein, dann stehen wir gerade, dann gehen wir das linke, und dann fangen wir sofort wieder hier an. Wir wollen also versuchen, diesen Prozess zu glätten. Also werden wir den ersten Rahmen wählen. Wir werden es kopieren. Und dann werden wir zehn Frames nach rechts bewegen, denn wie wir hier wissen, sind durch zehn Frames getrennt. Ein Stück, das hier drin basiert. Lasst uns spielen. Und da gehst du. Sie können sehen, dass wir eine Art normale Animation haben, die für uns arbeitet. Und wenn Sie wollen, können Sie es optimieren. Sagen wir, dass sie vielleicht ein bisschen mehr trennen. Also jetzt, wenn wir gehen, richtig? Ich denke, das aber zu ja, ich denke, das ist eine gute Geschwindigkeit. Sie müssen Ihre eigene Geschwindigkeit wählen und sehen, wie Sie möchten, dass Ihr Spieler aussehen, während
seine, sein Gehen. Ok, großartig. Also, jetzt haben wir das richtige Gehen. Lass uns voran gehen und das Downwalking erstellen. Also werden wir hier eine neue Animation erstellen. So wie ich das gemacht habe, ich ein, um zuerst einen neuen Clip hier zu erstellen, wenn wir auf neuen Clip klicken, und wir werden dies den Weg nach unten nennen. Also gehen Sie runter, speichern Sie das. Jetzt haben wir eine brandneue Animation. Und wenn Sie wollen, diese Mini-Herausforderung, diese Animation zu erstellen, werden
Sie tatsächlich eine Herausforderung später. Also lass mich dich nochmal durchreden. Wir gehen zu den Sprites. Wir wählen unsere Sprites. Das ist also das Gehen nach unten, wie Sie sehen können, wir bringen sie hier rein. Wir trennen sie. Sagen wir bis 10. Wieder werden wir den letzten Frame nehmen, wir werden ihn kopieren. Also Control C, wir werden zu dem Rahmen gehen, wo wir es setzen wollen
, der auf der 50 ist, und wir werden es hier einfügen. Und ich glaube nicht, dass die richtig sind. Also 10 dann auf der 2030 und dieser ist auf 40. Wenn wir also spielen, können
wir sehen, dass unser Dämon richtig funktioniert, wie wir es wollen. Okay, richtig? Also hören wir das sofort auf. Schließlich haben wir das Gehen nach oben und das Gehen nach links. Das wird also Ihre Herausforderung sein. Ihre Herausforderung besteht darin, die Animationen zu beenden. Erstellen Sie zunächst zwei weitere Animationen, 140 Spieler gehen nach links
und eine für den Spieler, der nach oben geht. Ich bin mir nicht sicher, warum diese Unterstriche sind? Sie können Ihre Animationen benennen, was Sie wollen. Es hängt von dir ab. Vielleicht denken Sie,
als ich diese Herausforderung geschaffen habe , sie so zu nennen? Keine Sorge darüber. Du nennst sie, wie immer du willst. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. O K. Willkommen zurück. Ich hoffe, du hast versucht, dein Bestes zu geben. Eine Sache, die wir nicht erwähnt haben, ist der Animator hier auf dem Spieler. Wie Sie sehen können, haben
wir einen Animator im Inspektor des Players, und wir werden später auf dem Animator-Controller sehen, Sie können es bereits hier sehen. Wenn wir auf den Player doppelklicken, Dies ist der Animator-Controller, aber wir werden uns darum kümmern, dass in den nächsten oder den kommenden Videos. Jetzt lassen Sie uns unsere neuen Clips beenden. Also schaffen wir einen Spaziergang nach oben. Also gehen wir hoch und wir gehen hinein, wo unser Vermögen ist, während wir hinaufgehen. Das sind also unsere Sprites, halten Sie die Shift Settlement hier und machen sie weit auseinander. Kopieren Sie den ersten. Legen Sie es auf den letzten, drücken Sie Play. Ja, ja. Gut genug. Und dann erstellen wir einen neuen Clip und wir werden links erstellen, drücken Sie Speichern. Und während wir nach links gehen, werden
wir diese vier wählen, sie hier
hineinlegen ,
sie durch 30
trennen , den ersten kopieren, als den letzten
setzen. Und jetzt, wenn wir spielen, gehen
wir nach links. Also, jetzt haben wir das Gehen runter. Unser Monster geht runter. Lass mich einfach ein bisschen hinauszoomen und vielleicht zum Spiel gehen. Und nein, dass, wer nicht funktioniert, müssen
wir den Spieler wählen. Und vielleicht, wenn wir es hier aufstellen. Also jetzt, wenn wir gleich beim Spiel laufen, also gehen wir richtig? Wir hatten den Aufstieg mit dem Spiel. Wir gehen hoch. Wir gehen runter, und wir gehen nach links. Ok, Ausgezeichnet. Also, wenn das erledigt ist, hoffe ich, Sie genießen es. Ich hoffe, Sie haben Ihre eigenen Animationen erstellt. Ich denke, dass unsere Sprites ein bisschen
optimieren müssen , wenn wir anfangen, alles zu addieren, aber keine Sorge. Und das nächste Video werden wir
diese Animationen in unserem Animator-Controller oder der Zustandsmaschine verwenden , wie Sie es nennen möchten. Und wir werden sie setzen oder diese verschiedenen Zustände aus unserem Code starten, so dass keiner, ich hoffe, Sie genießen es und ich werde Sie im nächsten sehen. Vergessen Sie nicht, Ihre Arbeit abzuschließen.
14. Übergang und Mischung: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir lernen alles über Übergänge und die Mischung Bäume und y in diesem Fall und unserem speziellen Fall, wir wollen eine Mischung Bäume anstelle von Übergängen verwenden. Wenn wir also spielen, können
Sie sehen, dass wir all das coole Zeug haben, das hier passiert. Und wenn wir den Cursor nach links bewegen oder Jimmy Daemon beginnt sich nach links zu bewegen, nach unten. Er bewegt sich nach unten, nach oben und bewegt sich nach oben, das Schreiben bewegt sich richtig? Und nicht nur das, das Video ist ein bisschen lang, weil wir tatsächlich versucht haben, zu optimieren und die Art und Weise zu verbessern, wie wir unsere Sprites aufgeschnitten haben. Vergeuden wir also keine Zeit mehr. Dies ist ein sehr langes Video und lasst uns anfangen. Oh, das erste, was wir tun müssen,
ist, dass wir tatsächlich Animationen für die beiden Positionen erstellen müssen. Das ist, wenn der Spieler tatsächlich steht und nicht läuft. Um das zu tun, werden
wir einen neuen Clip erstellen. Es wird entweder eine Verbindung nach unten sein. Wir speichern das, und wir werden einfach ziehen, wo ist es? Ein Rahmen? Dies ist also eine Ein-Frame-Animation. Wenn wir spielen, ändert sich nichts. Es platzieren Sie einfach diesen einen Rahmen und das wird später wichtig sein. Du wirst sehen, wie. Also wieder, wir werden den Leerlauf erstellen, speichern Sie das. Variieren, los, spielen. Ok, großartig. Neu erstellen. Und da gehst du. Die EIDL, eine Linke. Großartig. Also jetzt haben wir den Leerlauf und wir gehen. Das nächste, was wir tun werden, ist, dass wir Übergänge zwischen allem schaffen. Also gehen wir weiter in unseren Animator. Wenn Sie Ihren Animator nicht haben, können
Sie hier im Inspektor des Players doppelklicken. Oder Sie können zur Windows-Animation gehen, dem Animator, mit dem ich hier neben der Szene gesprochen habe. So wie Sie jetzt sehen können, haben wir alle Animationen hier. Gehen Sie nach rechts, gehen Sie runter, gehen Sie nach oben, gehen Sie nach links, im Leerlauf. Und was haben wir sonst noch? Der Leerlauf auf der Insel, rechts, und der Leerlauf links. Das ist also ein bisschen zu klein. Lösen Sie es einfach irgendwo hier drin und öffnen Sie den Bildschirm komplett, damit wir hineinzoomen und Spaß haben können. Also, was machen wir eigentlich hier drin? Lassen Sie mich das einfach so machen, denn wenn wir auf eine dieser Animationen klicken, wollen
wir den Inspektor sehen. Also, was werden wir tun? Zuallererst haben wir den Eintrag und wir haben die Standard-Animation. Momentan ist es also der Spaziergang, oder? wollen wir ändern. Nehmen wir zum Beispiel an, die normalen Animationen, die wir wollen, oder die Standard-Animation, die wir wollen, ist der Leerlauf, richtig? Wir werden also mit der rechten Maustaste auf das Leerlaufrecht und dies als Standardzustand festlegen. Sobald wir eintreten, sind
wir im Leerlauf, oder? Ok, großartig. Wie sollen wir jetzt zum Laufen übergehen, oder? Nun, wir können die Animation hier reinbringen. Wir können voran gehen und mit der rechten Maustaste machen und übergehen und es ins Gehen setzen, richtig? Und wie Sie sehen können, haben
wir vor allem einen Übergang, um direkt aus dem Leerlauf zu gehen, oder? Und wenn wir auf den Übergang klicken, der hier dargestellt wird, können
Sie sehen, dass wir Exit-Zeit haben. Wir können das ausschalten. Wir können Übergangsdauer haben. Wie lange es dauert, von einer Animation zur nächsten zu gehen, die Austrittszeit. Nach Abschluss der Animation oder nach einer gewissen Zeit der Beendigung der Animation können
wir davon ausgehen, und so weiter und so weiter. Es gibt viele Dinge, die wir hier haben können, und wir können auch eine Bedingung für den Übergang vom Leerlauf rechts zum Fuß rechts hinzufügen? Und wie können wir das tun? Nun, wir können das zum Beispiel tun, sagen
wir, wir gehen zu dem Parameter. Wir können einen Parameter erstellen. Es kann entweder eine Gleitkommazahl Boolean sein oder es kann ein Trigger sein. So können wir zum Beispiel ein erstellen, sagen wir, wir wollen zu Fuß beginnen, nachdem unsere Schicht bewegt sich mit einer bestimmten Geschwindigkeit. Also erstellen wir einen Float. Wir nennen es, sagen wir zum Beispiel Bewegung y. Es ist
also die Bewegung auf der Y-Achse. Und jetzt, wenn wir zum Übergang gehen, fügen wir ein Plus hinzu. Und hier können Sie sehen, dass automatisch wir Bewegung y haben und wir können die größere einstellen. Also zum Beispiel, wenn die Bewegung y größer ist als, sagen
wir zwei oder drei oder was auch immer, wir gehen von einfach Leerlauf, auch gehen. Und so richten wir normalerweise Animationen ein. Aber Sie können sehen, dass dies sehr umständlich sein kann. Warum? Weil sagen wir zum Beispiel, wir gehen richtig? Und dann wollen wir sofort nach links gehen. Nun, wir werden einen Übergang schaffen. Sagen Sie es mir. Ok, großartig. Aber sagen wir, zum Beispiel, richtig zu gehen? Plötzlich fangen wir an, nach oben zu gehen, okay, dann machen wir einen Übergang zum Aufstieg. Aber dann ein Übergang vom Gehen hinauf zum Gehen nach links. Ein Übergang vom Aufstieg zum Gehen rechts? Und Sie können sehen, dass dies sehr umständlich wird und wir haben
immer noch nicht herausgefunden, wie wir den Leerlauf hinzufügen werden. Also hier werden wir etwas etwas anderes verwenden und es ist ein bisschen fortgeschritten. Aber das ist, was wir brauchen, um tatsächlich alle unsere Animationen und den Zustand nutzen zu können. Und es nennt sich der Mischbaum. Lassen Sie mich Ihnen eine Einheit zeigen,
Hunde, was Blanches sind. Sie können voran gehen und durch sie abhauen,
sehen, wie sie erstellt werden. Das ist sehr schön, sie sind sehr dokumentiert und ich empfehle
Ihnen , über all diese zu lesen, werden alle von ihnen verwenden. Und worauf du dich konzentrieren sollst, ist hier drin, und wir haben über Übergänge gesprochen. Und Sie können sehen, dass Übergänge für den reibungslosen Übergang von einem Animationszustand in einen anderen über einen bestimmten Zeitraum oder eine bestimmte Bedingung verwendet werden. Die Verschmelzungsbäume werden jedoch dafür verwendet, dass mehrere Animationen reibungslos
gemischt werden können , indem sie einen Teil unterschiedlicher Grade einbezogen werden. So wie Sie sehen können, weil wir mehrere Animationen integrieren möchten, die miteinander vermischt werden. Die Verwendung einer Mischung Bäume ist ein viel besserer Weg. Lassen Sie uns also voran gehen und erstellen Sie unsere Blendenbäume. Also, zurück in Unity hier, können
wir tatsächlich sehen und die Hunde hier, wie wir erschaffen. Wählen Sie also „Status erstellen“ oder klicken Sie mit der rechten Maustaste in den leeren Bereich im Animator-Controller. Und wir werden erstellen und von neuen Lunchbox auswählen. Also zurück in Unity, lass mich das ein bisschen größer machen. Wir haben alle Übergänge gelöscht, und jetzt werden wir mit der rechten Maustaste klicken. Und wir gehen zu Erstellen Zustand und von einem neuen Verschmelzungsbaum. Also nennen wir das die wandelnde Mischung. Jetzt das Gehen, das, das Gehen ein fad. Und lassen Sie uns einfach voran und löschen Sie all diese von hier. Und löschen Sie auch den Leerlauf, richtig? Und wie Sie sofort sehen können, da es keine andere Animation mehr als 90 Walking Blend gibt, wird
es die Standard-Ebene werden. Okay, toll, also jetzt, wenn wir auf die Walking-Mischung doppelklicken, können
Sie sehen, dass wir nicht mehr auf der Basisschicht sind. Wir sind auf dem Gehen eine Mischschicht. Und wenn wir hier klicken, können
Sie sehen, dass wir viele Dinge haben, die wir ändern können. Und einer von ihnen wird der Drüsen-Typ sein. Wir arbeiten nicht in 1D, wir werden in 2D, einfache Richtung arbeiten. So haben wir jetzt die Bewegung auf dem y und die Bewegung auf dem Y. Deshalb müssen wir eine, eine
andere Bewegung schaffen, die mit der Bewegung auf dem x geht. Und jetzt können die Parameter die Bewegung x und die Bewegung sein. Warum? Das nächste, was wir tun werden, ist, dass wir das etwas
kleiner machen und wir werden Bewegungen zu unserem Plan hinzufügen. Das erste, was wir tun werden, ist, dass wir
eine Bewegung zum Gehen und Gehen hinzufügen , richtig. Oder lassen Sie uns voran und fügen Sie die Bewegung zum Gehen hinzu, richtig? Also lass mich das ein bisschen machen. Lassen Sie uns suchen, oder wir können hier auf diesen kleinen Kreis klicken. Wenn wir darauf klicken, können wir gehen und nach dem Fuß rechts suchen. Doppelklicken Sie darauf. Jetzt haben wir diesen ersten Antrag und wir werden ihn auf einen bestimmten Kreis setzen. Wenn wir also zuerst 0,
1 kreuzen , behalten wir dies bei 0. Und wir gehen weiter und fügen eine zweite Bewegung hinzu. Sie werden sehen, dass wir hier eine Position haben, und dieser rote Punkt, wenn er sich bewegt, geht
es zu einer der Positionen. Lassen Sie mich Ihnen zeigen, was das bedeutet, indem Sie eine zweite erstellen, die das Aufsteigen sein wird. Also klicken wir hier. Wir werden hoch gehen. Und wir werden die Position hier auf dem x auf 0 und diejenige auf 0,1 setzen. Wie Sie sehen können, wird sich die Animation jetzt ändern,
wenn wir in Richtung einer von diesen bewegen . Und Sie werden sehen, wie wir Bewegung x und Bewegung manipulieren werden. Warum? Um diese zu ändern? Jetzt können Sie sehen, dass wir diesen Kreis hier haben. Das nächste, was wir tun werden, und Sie können das buchstäblich sehen, ich habe versucht, meinen Lese-Button zu bewegen und da gehst du. Wenn wir sie zwischen diesen beiden Linien bewegen müssen. Oder Sie können hier einfache Richtung sehen, dann sollte Bewegung mit Richtung weniger als 180 Grad auseinander
haben. Wenn wir also näher an dieses herankommen, bewegen wir uns nach rechts, wir nähern uns diesem,
wir fangen an, uns nach oben zu bewegen, aber das ist nicht das, was wir wollen. Wir wollen auch in der Lage sein, nach unten zu gehen und nach oben zu bewegen. Das wird also Teil Ihrer Herausforderung sein. Ihre Herausforderung ist es, die anderen Positionen zu beenden. Erstellen Sie also zwei weitere Bewegungen, eine für das Gehen nach rechts und 14, gehen Sie nach links. Stellen Sie sicher, dass Sie die Position x und y richtig einstellen. Und schließlich, spielen Sie mit dem roten Kreis herum und sehen wie all diese Emotionen tatsächlich verschmelzen. Okay, willkommen zurück. Also werden wir zwei weitere Bewegungen hinzufügen. Einer von ihnen wird hinuntergehen und einer von ihnen wird nach links gehen. Und wie Sie sehen können, werden diese in diesen Baum gemischt und es basiert auf der Bewegung. immer, lassen Sie uns weiter hier drinnen. Also zu Fuß nach unten, wo sollte das Gehen nach unten sein? Das Gehen nach unten sollte sein, glaube
ich minus 0,10. Minus 0,1 sollte hier sein, und dieser Schuss sollte 0 sein. Und dann haben wir, wo ist es? Es ist das Gehen links auf der Position x es sollte minus 0,10 sein. So großartig. Also, bevor wir uns nach links bewegen, gehen
wir nach links. Hier kann man sogar das kleine Blau sehen. Es ist irgendwie blau, dass wir uns nach rechts bewegen. Also bewegen wir uns nach rechts, wir bewegen uns nach unten. Sie können sehen, dass es ein bisschen blauer wird. Und das ist es, was wir mit Mischen meinen. So mischen wir die Animationen mit der Bewegung x und der Bewegung zusammen. Warum? Richtig. Also, jetzt können wir weitermachen und das irgendwo vielleicht am Tatort ziehen. Wenn wir jetzt unser Spiel laufen, also bewegen wir uns nach rechts, können
Sie sehen, dass er sich nach rechts bewegt. Wenn wir uns nach links bewegen, bewegen
wir uns nach links. Wenn wir nach unten gehen, gehen
wir runter. Und wenn wir aufsteigen, bewegen wir uns gut nach oben. Aber wie Sie sehen können, gibt es etwas nicht ganz richtig, als ob unser Dämon von Ort zu Ort springt und das ist wegen der Sprites, der Art, wie wir sie aufschneiden. Also, wenn wir wieder in unsere Vermögenswerte gehen und gehen weiter und erstellen Sie hier einen Ordner. Wir nennen es die Skripte, und lassen Sie uns das Player-Skript hinein. Und wieder, wir erstellen einen neuen Ordner und wir nennen das die Sprites. Vielleicht erstellen wir Unterordner und Seite. Also die Sprites hier drin, wenn wir auf den Sprite-Editor klicken, können
Sie sehen, wie sie aufgeschnitten werden. Und das ist nicht ganz das, was wir wollen. Wir wollen immer unsere Scheiben sein, oder unser Spieler ist immer in der Mitte unserer Scheiben. Also, wie sollen wir das machen? Okay, willkommen zurück. Also, nach ein bisschen Basteln und hier, habe ich endlich entschieden, wie ich meinen Dämon machen werde. Also, wenn in deinen Sprites oder denen, die du aus offener Spielkunst
ausgewählt hast oder richtig ausgerichtet hast. Toll, ich freue mich sehr
für dich, für diejenigen, die es nicht richtig ausgerichtet haben wie ich, die von euch, die den Drachen benutzen. Und hier sind ein paar Regeln, die Sie befolgen
müssen, um alle Ihre Sprites auszurichten. Zunächst einmal müssen Sie sicherstellen, dass jeder einzelne Schnitt, den der Dämon in der Mitte ist, oder der Charakter, den Sie verwenden, endet Mitte der Scheibe. Sie können also nicht einfach alles automatisch aufteilen. Slice-Gitter nach Größe kann 64 mal 64 sein, und dann müssen Sie weiter von Hand. Zunächst einmal werden
Sie feststellen, dass alle diese Quadrate hier die gleiche Breite und die gleiche Höhe haben. Wie Sie sehen, 64506450. Dies ist also wichtig für alle, die entweder nach
vorne oder nach hinten gerichtet sind , je nachdem, wie Sie wollen. Die ersten beiden Zeilen sollten also gleich sein. Aber für diejenigen, die sich horizontal bewegen, sollte
es eine andere Größe geben, weil der Dämon nicht richtig ausgerichtet ist. Aber es gibt einen sehr raffinierten Weg. Also entschied ich mich, es 45 mal 45 zu machen. Die Breite beträgt also 45 für alle Ausschnitte. Und 45 und Höhe. Ich fand, dass dies eine sehr gute Zahl ist. Die nächste Sache ist, wie sollen wir sie positionieren? Wir wollen es nicht einfach abhauen. So können Sie hier die Position der Cut-Offs sehen. Oder wenn ich mich auf dem X bewege, können
Sie das am meisten sehen. Und auf dem y tut es auch. Die 75 ist also willkürlich. Ich habe versucht, ihn so weit wie möglich in die Mitte zu bringen. Und dann wird die Position nur um 64 erhöhen, Y 64, na ja, weil die Breite des Drachen und hier 64 ist und ich denke das Sprite wird seziert oder aus diesem Grund angezogen. So können Sie sehen, dass dieser erste an Position 0 ist, der
zweite ist bei 64, 128, 192. Aber wie wär's mit dem hier? Also ist es 1983, 174, und auch alle müssen auf dem gleichen y sein. Als Nächstes haben wir den Drachen hier drin. So können Sie sehen, dass es an Position 211 weil wir es so weit wie möglich nach rechts gesetzt haben, und dann entfernen wir einfach 64 davon. Also 147, 83 und 19. So großartig, aber das erledigt, lass uns weitermachen und all das anwenden. Und Sie werden sehen, dass unsere Animationen jetzt glatter sein sollten ohne dass wir tatsächlich die Animationssprites auf dem Player ändern. Denn wenn wir Änderungen an diesen Sprites vornehmen, werden
sie überall in unserem Spiel verändert. Jetzt, wenn wir auf Play drücken, gehen
wir zum Animator. Sie können sehen, dass er standardmäßig sofort läuft, richtig? Wenn wir auf den Verschmelzungsbaum klicken, beginnen
wir, ihn nach links zu bewegen. Er fängt an, nach links zu gehen. Sie können sehen, dass es sehr klein ist. Es ist auf der gleichen Höhe und du spürst, dass er sich an derselben Stelle bewegt und nicht nur springt. Und dann runter, und dann nach oben, links, unten, links. Und Sie können sehen, dass es sehr natürlich ist. Vielleicht braucht es ein bisschen Optimierung, aber das ist für Sie, wenn Sie ein bisschen OCD haben. So toll mit dem getan, ich hoffe, Sie genießen es. Lasst uns weitermachen und unsere Änderungen begehen. Und im nächsten Video werden
wir Code verwenden, um diese Animationen tatsächlich auszulösen. Also sehe ich dich in der nächsten.
15. Blend in Einheit: Willkommen zurück, Meine Lieblings-Spiele-Entwickler in diesem Video, wenn wir die Play-Taste drücken, wir gehen nicht nur ohne Spieler, aber wir können tatsächlich die Richtung ändern, die er geht mit den WASD-Tasten, und es basiert auf den Spielern Geschwindigkeit. Aber das Problem ist, dass wir keinen Leerlauf in der Mischung haben. So erstellen wir einen weiteren Blendenbaum nur für den Leerlauf unseres Spielers. Jetzt werden wir es nicht vollständig in diesem Video implementieren, aber wir werden es im nächsten. Okay, also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, jetzt, wenn wir das Spiel laufen, können
Sie sehen, dass unser Spieler nach rechts läuft, aber obwohl wir nach oben und unten bewegen, gibt es keine Änderung in seiner Animation. Was wir also tun wollen, ist, dass wir die Bewegung
x und Bewegung y an den Animator des Spielers anbringen wollen. Also lasst uns anfangen. Zuerst gehen wir weiter und öffnen das Player-Skript hier drin. Also, während das Player-Skript doppelklicken, und lassen Sie uns Visual Studio öffnen. Also hier, das erste, was wir tun wollen,
um die Bewegung x und y zu steuern, wollen
wir eine Referenz des Animators bekommen. Also werden wir ein serialisiertes Feld erstellen, und hier wird es vom Typ Animator sein. Annie May redet, und wir werden es den Spieler-Animator nennen. Okay, also denken wir daran, jedes Wort außer dem ersten Großbuchstaben zu schreiben. Gehen wir zurück in die Einheit. Das ist warten, bis das Skript kompiliert wird. Gehen wir weiter und ziehen Sie den Animator vom Inspektor in den Inspektor und setzen ihn hier ein. Großartig, So haben wir jetzt einen Verweis auf den Animator. Lassen Sie uns das Animator-Fenster öffnen. Und lasst uns voran gehen und das Gehen der Pflanze öffnen. Was wollen wir jetzt? Wir wollen die Bewegung x und Bewegung. Warum? Denn das sind diejenigen oder die Variablen, die die Art und Weise steuern, wie unser Spieler läuft. Also gehen wir voran und verwenden eine Funktion, die den Animator dot set float genannt wird. Und lassen Sie mich Ihnen zeigen, was das ist. Also, wenn wir hier reingehen, können
Sie sehen, dass wir AnimatorSet float eingegeben haben, und wir werden es öffnen und Einheit Dokumente. So hier können Sie sehen, dass wir den Satz Float haben und wir können sehen, wie wir es deklarieren können. So können Sie sehen, dass erste, was wir den String-Namen gesagt haben, und das ist der Name des Parameters, den wir ändern möchten. Sie können es hier sehen. Also, was ist der Name, der Name, der Parametername
und dann der Wert, der der neue Parameterwert ist. Also, wie sollen wir das anbringen? Nun, und hier werden wir die Spieler-Geschwindigkeit in den Animator-Set-Float übergeben, und das wird die Bewegung und Bewegung ändern. Warum? Lassen Sie mich Ihnen zeigen, was ich meine. Also werden wir den Spieler-Animator bekommen. Wir werden den Schwimmer setzen. Und weil dies eine String-Referenz ist, werden wir
natürlich bekommen, gehen zurück in Unity, kopieren Sie die Bewegung Akte. Offen. Visual Studio, fügen Sie es hier ein. Und was wird der Wert sein? Nun, es wird der Spieler starre Körperpunktgeschwindigkeit Punkt x und dann werden wir ihn duplizieren. Und wie ich schon sagte, duplizieren
wir das mit Control D. Und anstelle von Bewegung x wird das Bewegung Y sein. Und statt der Geschwindigkeit von x wird der Geschwindigkeitspunkt
y sein. Nun, wenn wir zurück und Einheit gehen, stellen Sie sicher, dass wir all das wieder in Unity retten. Wir hatten gespielt. Also, wenn wir anfangen, nach oben zu gehen, können
Sie sehen, dass unser Dämon Jimmy nach oben zieht. Und wenn wir uns nach links bewegen, bewegt
er sich nach links, unten, rechts, oben, unten. Und Sie können sehen, wie sich die Bewegung hier im Feind verändert. Wenn wir also durch die linke gehen, können
Sie sehen, dass die Bewegung als minus1 wirkt, während Bewegung y 0 ist, wir gehen nach unten Bewegung und dies minus eins, und so weiter und so weiter. So toll, das ist erstaunlich. Aber das Problem ist, dass, wie Sie sehen können, wenn wir loslassen der Schlüssel, sind Dämonen immer noch geht vorwärts und wir müssen sie beheben. Und wie beheben wir das? Nun, wir werden die Leerlaufanimationen verwenden, die wir erstellt
haben um sie am Ende zu setzen oder wenn wir aufhören, sich tatsächlich zu bewegen. Also, um das zu tun, werde
ich Ihnen eine Herausforderung stellen. Richten Sie also den Rest der Leerlaufzustände ein. Sie müssen also die drei Spieler-Leerlaufanimationen für beide Spieler erstellen. Ich glaube, wir haben all das schon erschaffen. Sie müssen eine neue Verrundung erstellen. Dies ist nicht etwas, das wir erstellt haben und nennen es den Spieler im Leerlauf fade,
oder was auch immer Sie denken, passt zu Ihren Bedürfnissen. Sie müssen zwei Parameter erstellen, das letzte x und das letzte y und dies wird die Richtung sein, die wir zuletzt konfrontiert haben. Und Sie müssen die vier Leerlaufrichtungen einrichten, genau wie wir es beim Gehen getan haben. Also pausieren Sie das Video jetzt. Wenn Sie sich nicht erinnern, wie wir das alles gemacht haben, können
Sie das Video vorher ansehen oder Sie können versuchen, Ihre beste Aufnahme zu machen, stellt sicher, dass Sie Ihre Hand bei dieser Herausforderung versuchen. Also pausieren Sie das Video jetzt und machen Sie den Juckreiz. Ok, willkommen zurück. Also in der Basis-Layer, werden
wir hier mit der rechten Maustaste klicken, Zustand aus dem neuen Verschmelzungsbaum
erstellen. Wir werden das die beiden Mischungen nennen. Und das liegt daran, dass wir vielleicht die Leerlaufmischung haben. Also entweder verbinden fade und das ist nur, um kongruent mit den wandelnden Drüsen zu bleiben. Also haben wir eine Leerlaufdrüse, eine wandelnde Drüse. Wenn wir auf die Leerlaufmischung doppelklicken, können
Sie sehen, dass wir die Bewegung x und y haben, aber wir wollen das nicht. Wir brauchen das letzte x und das letzte y. Also werden wir einen Float erstellen, den letzten, oder wir müssen das letzte X nicht großschreiben und das letzte schweben. Warum. Wir werden
dies zu einer 2D-einfachen Richtung machen und die Parameter werden das letzte x und das letzte sein. Nun, jetzt müssen wir hier vier Anträge haben. Das sind also unsere vier Anträge. Wir werden den Leerlauf hinzufügen,
Leerlauf rechten Arm nach oben und die, Während der Leerlauf dort unten. Also, was ist der Leerlauf übrig? Was ist die Position von Aileen links? Es wird minus 10 sein. Dann wird die Verbreiterung rechts 10 sein. Entweder in AP wird 0,
1 sein , und ich werde 0 minus Swap verlinken. Ok, großartig. Wenn wir jetzt nach oben schauen, haben
wir den kleinen Knopf. Sie können sehen, dass wir einfach überprüfen und sicherstellen können, dass es funktioniert. Also bewegen wir uns nach oben. Sie können sehen, dass wir im Leerlauf sind. Wir sind im Leerlauf. Wir sind im Leerlauf links und rechts. Und ich schaue mir die Farbe genau hier an, wenn Sie bemerken können, dass es ein bisschen blauer wird, wenn wir die Richtung wählen, und es basiert auf den letzten x und y. Also hoffe ich, Sie haben die Herausforderung gemacht. Ich hoffe, Sie haben dieses Video genossen und Sie haben tatsächlich Ihr eigenes Land geschaffen. Es ist sehr wichtig, dass Sie immer versuchen, diese Herausforderungen zu meistern. Mit dem, was im nächsten Video gesagt wird, werden
wir die Leerlaufzustände in unseren Player implementieren. Und wir sehen uns im nächsten Video.
16. Die richtige Richtung sehen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video haben wir tatsächlich
eine Möglichkeit geschaffen, sich an die letzte Richtung zu erinnern, in der unser Spieler stand. Also, wenn wir jetzt rechts gehen, hören wir auf. Wir erinnern uns, dass die weniger Richtung richtig war. Wir erinnern uns, dass die letzte Richtung nach oben und unten gelassen wurde. Und das macht unser Spiel viel mehr, sagen
wir, realistisch und Butter suchen. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, jetzt wollen wir einen Weg zum Übergang vom Gehen zum idyllischen schaffen. Das erste, was wir tun wollen, ist, dass wir den Leerlauf zur Standard-Ebene machen wollen. Die Art und Weise, wie wir das tun, wir haben bereits abgedeckt, wir klicken mit der rechten Maustaste und setzen als Standardzustand zuvor, als ich den Layer sah, Ich meinte den Standardzustand. Beim Eintritt können wir hier sehen, dass wir im Leerlauf beginnen. Das nächste, was wir tun wollen, ist, dass wir
einen Übergang zwischen dem Leerlauf und dem Gehen schaffen wollen. Um dies zu tun, klicken wir mit der rechten Maustaste, machen einen Übergang und setzen ihn in das wandelnde Schwarz. Nun, wenn wir auf den Übergang hier klicken, können
Sie sehen, dass wir eine Austrittszeit haben und wir Übergangsdauer haben und so weiter. Also, was wir tun wollen, wir wollen keine zusätzliche Zeit, wie wir gesagt haben, verlassen Zeit,
als eine Zeit, in der das Gehen zurück in Leerlauf dreht, stoppt vollständig. Wir wollen das nicht als nächstes, die Übergangsdauer, Sie können es als eine kleine kleine Zeit festlegen, aber ich denke, 0 wäre besser, wenn wir dies testen, wir werden sehen, ob das besser ist. Als nächstes wollen wir sehen, was
die Bedingung ist , vom Leerlauf ins Gehen zu übergehen. Wenn wir also das Plus treffen und hier sehen
wir, dass wir die Bewegung x
oder die Bewegung y oder das letzte x und y einstellen können . Jetzt wollen
wir keines der letzten x und y berühren . und Bewegung. Warum? Wenn also die Bewegung x größer als 0 plus eins ist, werden wir vom Leerlauf zum Gehen übergehen. Wieder wollen wir nach einer Bewegung suchen. Warum? Wenn wir also auch einen Übergang vom Leerlauf machen, gehen, können
Sie wieder sehen, dass wir mehrere Übergänge haben durch mehrere Pfeile auf der gleichen Linie
dargestellt werden. Wir möchten auch die Exit-Zeit deaktivieren. Wir möchten die Übergangsdauer auf 0 setzen. Und die zweite Bedingung wird sein, wenn die Bewegung y größer als 0,1 ist, okay, großartig. Sie können die Übergänge ändern angezeigt werden, Sie können sie sehen. Es ist also die Augenöffnung für das Gehen. Und das sind unsere Bedingungen, die Bewegung x, die Bewegung. Warum? Jetzt? A, eine andere Sache, die wir überprüfen möchten, ist, ob die Bewegung auf dem x kleiner als minus 0,1 ist. Dies ist also wichtig, im Auge zu behalten, weil die Bewegung weniger als minus 0,1 ist. Dann werden wir in das Gehen gehen, aber in die andere Richtung übergehen. Also deaktivieren wir die Exit-Zeit und -Dauer. Und schließlich sollte das ziemlich offensichtlich sein, wenn wir
den Zustand der Bewegung y weniger als minus 0,1 haben , dann haben wir auch in das Gehen ein fad übergegangen, okay, also Bewegung drahtlos dann Nullpunkt eins, Bewegung x kleiner als, größer und größer. Nun, bevor wir weitermachen, müssen
wir auch einen Übergang vom Gehen zum Leerlauf schaffen. Und dies erfordert nur einen einzigen Übergang mit mehreren Bedingungen. Wir setzen also die Übergangsdauer zurück auf 0 und die Austrittszeit auf 0. Also fügen wir hier eine Bedingung hinzu, dass, wenn die Bewegung auf dem X größer als 0 oder minus 0,1 ist, dann wollen wir zurück übergehen. Und weil wir nicht haben, sagen wir, mehrere Wege zurück zu gehen, brauchen nur einen Übergang. Und wir fügen alle Bedingungen hinzu. Die Bewegung x ist also kleiner als 0,1. Wenn die Bewegung größer als minus 0,1 ist und die Bewegung y kleiner als 0,1 ist. Okay, großartig. Also lasst uns das retten. Und lasst uns das testen. Wenn wir also unseren Code ausführen, werden
Sie sehen, dass unser Spieler gerade im Leerlauf ist und Sie können es hier im Leerlauf sehen. Und wenn wir anfangen zu gehen, sehen
Sie, dass wir im wandelnden fade sind. Wenn wir aufgehört haben, können Sie sehen, dass wir im Leerlauf sind, aber wir sind standardmäßig auf das Sprite, wo der Dämon nach links schaut. Also wieder, wir gingen runter, wenn Sie fade gehen, nach links gehen. Und wenn wir aufhören zu laufen, können
Sie sehen, dass wir uns auf die andere Seite wenden. Und das ist nicht etwas, was wir wollen. Wir wollen unseren Spieler oder Jamie Dimon tatsächlich machen,
denken Sie daran, die weniger Richtung, die er konfrontiert war. Und basierend darauf, nun, wenn wir aufhören, gehen Sie auf diese Weise in das Augenblinkende Gesicht. Aber um das zu tun, brauchen
wir etwas, das als if-Bedingung bezeichnet wird. Lassen Sie mich erklären, was ein If-Zustand ist. Bedingte if-Anweisungsstruktur. So wie wir eine if-Bedingung schreiben, ist
es einfach, was es bedeutet. Wenn eine Bedingung, die wahr sein muss, müssen
wir sie in diese beiden Klammern setzen genau hier. Wenn also eine Bedingung wahr ist, die wahr sein muss, wird der Code innerhalb dieser beiden Klammern ausgeführt. Also, wenn wir hier eine Bedingung haben, die falsch ist, wird
The Golden hier nicht hingerichtet. Aber was passiert dann? Wir haben das nur, wenn
wir gerade hier mit unserem Code weitermachen. Aber wir können auch ein anderes hinzufügen, wenn. Also, lassen Sie uns diese Bedingung hier speichern ist falsch. Dann gehen wir weiter zum anderen. Wenn wir eine andere Bedingung haben, die wahr ist oder die wahr sein muss. Und wenn diese Bedingung wahr ist, dann führen wir den Code innerhalb dieser beiden Klammern aus. Aber wenn die Bedingung hier wahr ist, führen
wir diesen Code aus und dann gehen wir weiter. Aber was ist, wenn diese Bedingung falsch ist und diese Bedingung falsch ist? Und wenn wir mehrere andere Else-wenn mit all ihren Bedingungen alle falsch haben. Nun, wir können auch ein anderes hinzufügen. In dem Fall, wo alle Bedingungen in der Serie hier falsch sind, dann wird der, dieser Code, der innerhalb dieser Klammern auf der anderen ist ausgeführt. Versuchen wir also, diese neue erworbene Methode zu verwenden und in unseren Code implementiert. Also lassen Sie uns Visual Studio öffnen und hier, und lassen Sie uns eine Bedingung hier erstellen. Also werden wir sagen, dass, wenn die horizontale Bewegung gleich eins
ist, wir den Player-Animator anrufen werden. Wir werden den Schwimmer setzen. Wir werden auf das letzte X zugreifen und ich denke, nun, weißt
du was, lasst uns das nicht mal versuchen. Gehen wir hier wieder rein. Lassen Sie uns das letzte X kopieren und obwohl ich 100% sicher bin, wann immer wir String-Referenz verwenden, versuchen Sie
immer, es zu kopieren. Es ist eine gute Angewohnheit zu haben. Und wir werden die horizontale Bewegung einstellen. Also, was passiert hier drin? Wir verwenden die Rolle „get access“. Und wenn wir uns erinnern, als wir uns in Einheitsgedanken angesehen haben, wann immer wir GET-Zugriffszeile verwenden, gehen
wir entweder von eins minus eins oder 0. Also, was wir hier sehen, wenn die horizontale Bewegung eins ist, also gehen wir nach rechts, dann werden wir das letzte x als horizontale Bewegung setzen, die gleich eins ist. Was passiert in diesem Fall ist, wenn wir hier wieder rein gehen und
zwei im Leerlauf Drüse sehen können, dass, wenn das entspannte x 1 ist,
das bedeutet, dass wir konfrontiert sind, richtig? Das bedeutet, dass wir uns an das letzte x erinnern und es als eins setzen. Auf diese Weise wird sich unser Spieler an die Richtung erinnern, in die er steht. Okay, großartig. Lasst uns das und unseren Gewinn testen. Und wenn wir den Code ausführen, so sind wir nach links gerichtet, wenn wir rechts gehen, wenn wir aufhören zu laufen. Falsch. Wie Sie sehen können, haben
wir uns an die letzte Richtung erinnert, mit der unser Spieler konfrontiert war. Wenn wir nach oben gehen und aufhören, uns zu bewegen, ist
es immer auf der rechten Seite. Okay, großartig. Nun ist das nächste offensichtliche, was zu tun ist, alle
Richtungen zu setzen , und das wird Ihre Herausforderung sein. Also richtig, alle anderen Bedingungen. Erstellen Sie also eine bedingte Anweisung für die anderen drei Richtungen. Für die vertikale Bewegung sollte das letzte Warum eingestellt werden. Und ich gebe Ihnen ein paar Hinweise. Wir haben die horizontale Bewegung sollte minus1 sein und die vertikale Bewegung sollte auch für das Minus und plus 11 weitere Sache, die ich nicht erklärt habe, sorry. Wann immer wir zwei Variablen vergleichen. Also vergleichen wir horizontale Bewegung mit einer. Wir verwenden zwei Gleichheitszeichen, nicht nur eins. Wenn wir ein einzelnes Gleichheitszeichen verwenden, bedeutet
das, dass wir den Wert hier der Variablen zuweisen. Aber wenn wir zwei Gleichheitszeichen verwenden, bedeutet
das, dass wir sie mit dem besagten vergleichen, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also, wie bist du damit weitergekommen? Nun, was wir hier drinnen tun können, können
wir ein anderes erschaffen. Wenn die horizontale Bewegung gleich minus1 ist, werden wir diese duplizieren und nach unten verschieben. Die Art und Weise, wie ich dies bewegen, ist, indem Sie Alt halten und die Pfeiltasten drücken Also jetzt, wenn die horizontale Bewegung minus1 ist, werden
wir das letzte x als horizontale Bewegung setzen. Nun, offensichtlich minus 1. Nun, lassen Sie uns das speichern und sehen, ob es in
unserem Spiel funktioniert , weil ich Ihnen eine effizientere Art zeigen möchte, dies zu tun. Also sparen wir. Wir gehen rechts, wir gehen rechts, wir gehen nach links. Wir stecken auf der linken Seite fest. Wenn wir nach oben gehen, gehen wir wieder nach links zurück. Okay, großartig. Das scheint also zu funktionieren, aber es gibt ein kleines Problem. Wir haben Code dupliziert, der nicht sehr nett ist und hier brauchen wir ihn nicht wirklich. Also, was wir tun werden, ist, dass wir die Aussage löschen. Und stattdessen erstellen wir hier eine zweite Bedingung, die überprüft, ob die horizontale Bewegung gleich eins ist. Oder mit diesen beiden geraden Linien oder die horizontale Bewegung ist gleich minus1, dann werden wir das letzte x als horizontale Bewegung setzen. Und wenn wir das retten, geh zurück in Unity. Wir rennen. Wenn wir rechts gehen, stecken
wir rechts fest, wir gehen links, wir stecken auf der linken Seite fest. Wie Sie sehen können, war
dies eine sehr gute Demonstration, wie manchmal ein anderer Code Ihnen das gleiche Ergebnis geben kann. Und schließlich müssen wir v. Vertikale Bewegung ist gleich eins. Und die vertikale Bewegung ist gleich minus eins. Aber jetzt, anstelle des letzten x, werden
wir das letzte y setzen und statt der Horizontalen, setzen
wir die Vertikale. Also zurück in unserem Spiel, führen
wir den Code aus. Und jetzt, wenn wir nach oben gehen, können
Sie sehen, dass das letzte y hier drin eins ist. Wenn wir aufhören, gehen Sie. Also hört unser Jimmy-Dämon auf, wann immer wir sind, oder der Jimmy-Dämon erinnert sich an die letzte Richtung, in der wir uns bewegt haben ,
wieder links nach rechts. Und wie Sie sehen können, haben
wir ausgezeichnete Bewegung und unser Spiel, das ist sehr, sehr schön. Okay, großartig. Was wir im nächsten Video tun werden, ist, wenn wir in Richtung Wasser gehen, werden
Sie sehen, dass der Dämon aus irgendeinem Grund in der Lage ist,
auf Wasser zu gehen was etwas, das wir nicht wollen. Wir wollen, dass er genau an
diesem Ort anhalten kann oder wenigstens aufhören kann, wann immer wir den Kohl hier hatten. Und wir haben auch eine bessere Kontrolle über die Gehgeschwindigkeit unseres Dekans. Also sehe ich dich im nächsten Video.
17. Kollision: Willkommen zurück, meine Spiele-Entwickler. Erinnerst du dich, als wir in der Lage waren, durch jedes Objekt zu gehen? Nun, wie Sie sehen können, können
wir das nicht mehr in unserem Gewinn tun. Das Wasser ist also unerreichbar und der Kohl ist ein fester Gegenstand. Vergeuden wir also keine Zeit mehr. Es gibt ein bisschen Optimierungen, die wir hier drinnen machen können, und lasst uns anfangen. Oh, okay, das erste, was wir abdecken wollen, oder wir wollen, ist, unseren Spieler nur ein bisschen schneller zu machen. Aber nicht nur das, wir wollen die Fähigkeit haben, es zu kontrollieren. Was wir also tun wollen, ist hier
eine Variable zu erstellen , die wir in der Lage sein werden, zu ändern, wann immer wir wollen. Und dann multiplizieren Sie diese Variable mit der Geschwindigkeit oder Bewegung der Spieler. Also lasst uns unseren Code öffnen. Hier drin. Wir werden eine Variable erstellen, die natürlich ein serialisiertes Feld sein wird. Wenn Sie nicht in der Lage sein wollen, X, dann werden Sie es öffentlich machen. Und wir werden es
natürlich zu einem Schwimmer machen . Oder Sie können es zu einer Ganzzahl machen. Das hängt von Ihnen ab. Wir können es zu einer Ganzzahl machen. Machen wir es zu einer Ganzzahl, weil wir das nicht getan haben. Und wir nennen es die Bewegungsgeschwindigkeit. Und lassen Sie uns das vorerst auf eins setzen. Also hier unten, nachdem wir die Spieler starre Körpergeschwindigkeit auf den neuen Vektor 2 gesetzt
haben, werden wir dies einfach mit der Bewegungsgeschwindigkeit multiplizieren. Wir werden das retten. Gehen wir zurück in die Einheit. Und da gehst du. Die Fahrgeschwindigkeit wird hier angezeigt. Also jetzt, wenn wir spielen, während wir bei S1 bewegen, wenn wir es auf 30 erhöhen. Jetzt können Sie sehen, dass wir uns sehr schnell bewegen. Lass es uns ein bisschen langsamer machen. Und wenn Sie sich erinnern, haben
wir die Geschwindigkeit des Spielers während des Spiels auf 30 geändert, aber jetzt ist es wieder eins. Das liegt daran, dass alles, was wir während der
Spielzeit geändert haben , auf den Standardwert zurückgesetzt wird. Also müssen wir es hier in ändern, sagen wir drei. Wir laufen den Code und da gehen wir. Er ist ein bisschen schneller. Vielleicht machen, sagen wir fünf. Wir führen den Code
aus, führen das Spiel aus, und da gehst du. Ich denke, fünf als gut genug Geschwindigkeit, müssen
wir die Geschwindigkeit der Animation anpassen. Vielleicht, wenn wir es schaffen, dann schauen wir mal, wie das aussieht. Dann, wie ich zu schnell gehen, Lassen Sie uns es vielleicht ich denke, sieben ist eine sehr gute Zahl. Okay, also sieben ist es. Ok, großartig. Mal sehen, ob das das nächste, was wir ändern wollen, ist, wie Sie sehen können, wir uns derzeit durch unseren Kohl bewegen können, was nicht gut ist, und durch das Wasser, was auch eine sehr schlechte Idee ist. Was wir also tun wollen, ist, dass wir Kollider zu diesen Objekten um uns herum hinzufügen wollen. Also, wenn wir auf den Collider schauen, auf den Spieler, da ist es. Und ich denke, wir werden es ein bisschen größer machen, nur damit es die Füße berührt. Okay, also speichern Sie das. Jetzt gehen wir weiter und fügen einen Kollider in die Gewässer. Also werden wir hier mit der rechten Maustaste klicken, ein leeres Spielobjekt
erstellen. Wir nennen das das Wasser wird seine Position zurücksetzen. Und wie unser Reset es, klicken Sie
einfach auf die drei Tasten oder die drei Punkte direkt hier und drücken Sie Reset, alles wird auf 0 drehen. Wir werden einen Collider hinzufügen, und es wird ein Box-Collider 2D sein. Lassen Sie es uns hierher bringen. Und lasst uns die Größe des Colliders ändern, so dass er über das Wasser passt. Da gehen wir. Lasst uns das retten. Lassen Sie uns den Code ausführen. Das ist eines der Spiele. Jetzt, als wir zu den Gewässern gingen, ja, passiert nichts. Und warum ist das? Es liegt daran, dass wir keinen starren Körper hinzugefügt haben. Also werden wir einen starren Körper 2D hinzufügen, Play drücken, und jetzt sollten wir, okay, also haben wir vergessen, es statisch zu machen. Also machen wir diesen starren Körper statisch. Und jetzt, wenn wir das Spiel laufen, werden wir
hoffentlich in der Lage sein zu wissen, dass wir immer noch nicht in der Lage sind, mit zu interagieren. Also, zurück in unserem Spieler, habe ich endlich herausgefunden, was das Problem war. Also auf unserem Spieler haben wir den Körpertyp kinematisch gemacht. Und das bedeutet, dass wir nicht mit anderen Objekten mit Kollidern interagieren können oder dass sie den Spieler nicht beeinflussen können. Was wir also getan haben, ist, dass wir den Richtlinientyp 2
dynamisch geändert haben und einfach die Schwerkraftskala auf 0 setzen. Nun hätten wir das von Anfang an tun sollen, aber ich denke, das war eine großartige Gelegenheit für uns, zu erfahren, wie alles funktioniert. Jetzt, wenn wir spielen, können
wir sehen, dass wir nicht mehr in Richtung Wasser gehen können und Sie werden feststellen, dass etwas nicht richtig funktioniert. Das liegt daran, nun, lassen Sie mich einfach versuchen, Ihnen das mit den Kollidern zu zeigen, also werden wir das Spiel stoppen, den Wasserkollider auch öffnen, damit wir alles sehen können. Und Sie werden feststellen, dass, weil wir ein Kreis sind, Sie sehen können, wie der Kreis hier aussieht. Deshalb können wir diese Barriere nicht überqueren. Also, wenn wir gehen, wird der Kreis bewegen oder gleiten. Da. Du kannst es sehen. Der Kreis des Kolliders gleitet hier über die Oberfläche und wir fangen an, sich zu drehen. Also, wenn wir es versuchen, können wir
jetzt nicht einmal entkommen. Damit wir das etwas schneller machen können, ziehen Sie es nach unten. Und das ist ein großes Problem, weil wir nicht wollen, dass Jimmy rund um das Spiel kreist wäre wirklich seltsam aussehen. Was wir also tun können, ist, dass wir unserem starren Körper Beschränkungen hinzufügen können. Wenn Sie auf den Player schauen, sind dies die Einschränkungen. Wir können die Rotation um das Z einfrieren und warum ist das? Nun, denn wenn man sich die Transformationsbewegung anschaut, die Ihnen die Position und Rotation gibt, wenn wir anfangen zu drehen, können
Sie sehen, dass wir uns um die z-Achse drehen. Und es ist offensichtlicher, wenn wir die 2D aufheben, und Sie werden genau hier sehen, dass diese, die Z-Achse, die blau ist, Sie hier sehen können, die z-Achse
ist und wir uns um sie drehen. Also zurück zum 2D-Modus friert die Drehung auf der Z-Achse ein. Und jetzt können wir sicher sehen, dass wir uns nicht drehen. Ok, großartig. Mit dem erledigen, ist
die nächste Sache, unseren Spieler davon abzuhalten, den Kohl zu schlagen. Und das wird Teil Ihrer Herausforderung sein. Machen Sie die Standards solide. Sie also bei einem Collider zu den Tribünen neben unserem Spieler
sicher, dass der Spieler sie nicht durchlaufen kann. Das sollte also einfach sein. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Wie bist du damit weitergekommen? Das sollte also nicht zu schwer sein. Wir werden einfach die Gewässer duplizieren. Wir werden es hier verschieben und das in den Zeugenstand umbenennen. Und lasst uns weitermachen und die Kollider ändern. Hoppla, auf der Haltung. Also werden wir umziehen. Und hier können Sie deutlich die grünen Linien sehen. So können Sie, selbst wenn Sie wollen, dies an den Seiten ein wenig kleiner
machen. Und das liegt daran, wie unser Daemon eingerichtet hat. Also, wenn wir jetzt spielen, sollten
wir nicht in der Lage sein, mit dem Stand zu interagieren. Ja, da gehst du. Wenn Sie auf den Player schauen,
sehen Sie, dass der Kreis beginnt zu interagieren. Deshalb haben wir die Haltung an den Seiten etwas kleiner gemacht. Wenn wir von oben gehen, ja, dann gehst du. Wir können sie nicht durchlaufen. Und wir können die Kollider auch hier in
die Hütte und in die Kartoffelsäcke und so weiter und so weiter hinzufügen. Aber in späteren Videos, wenn wir anfangen, unsere eigenen Kachel-Sets und Karten zu erstellen, sehen
Sie eine viel glattere und bessere Art, all dies zu handhaben. Nun, das heißt, ich hoffe, es gefällt dir und ich sehe dich im nächsten Video. Bevor wir gehen, sollten
wir am wenigsten nicht vergessen, unsere Repositories zu speichern. Also Backend-Quellbaum hier drin. Wir werden all das inszenieren. Und wir werden unser Commit hinzufügen
Kollider zu unseren Objekten in der Welt nennen . Okay, toll, wir werden das alles begehen. Und wir können uns den Master-Zweig ansehen und Sie können bereits sehen, wie unser Projekt Gestalt annimmt. Und es ist sehr schön, wenn du all das vor dir hast, mit dem gesagt, ich sehe dich in der nächsten.
18. Abschnitt 3: Wechsel von der Szene auf die Szene: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video haben wir eine zweite Szene erstellt, und wir haben auch ein Objekt namens Area Exit erstellt, das uns erlaubt, aus diesem Bereich zu verlassen. Aber im Moment ist das einzige, was es tut, dass es einfach sicherstellt, dass wir der Spieler sind. Wenn wir also durchlaufen, können
Sie den Collider sehen. Und hier, sobald wir hineingehen, können
Sie sehen, dass in der Konsole wir ausdrucken, dass dies ein Spieler ist, der eingetreten ist. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay. Das erste, was wir tun müssen, ist, dass wir tatsächlich den Namen der Szene in die Stadt geändert haben, die wir derzeit verwenden. Ich habe auch die Spieler Collider hier geändert. So können Sie sehen, dass ich gerade den Kreis um die Füße und den Kopf gemacht habe. Und ich bemerkte, dass es die Wechselwirkungen mit dem Wasser macht und steht Butter. Okay, damit aus dem Weg, gehen
wir in die Datei und lassen Sie uns eine neue Szene erstellen. Stellen Sie sicher, dass es 2D ist. Hit Create, und wir sind auf einer neuen Szene. Um die Szene zu speichern, drücken Sie einfach die Steuerung innerhalb der Szenen und nennen wir es die Berge. Klicken Sie auf Speichern. Als Nächstes wollen wir der Szene einen Hintergrund hinzufügen. Also lasst uns in unsere Hintergrundbilder gehen, die ich zur Verfügung gestellt habe. Du. Klicken Sie auf Sprites, und ziehen Sie das Bild hier hinein und zu den Sprites. Und jetzt ziehen wir es in unsere Szene. Und wie Sie sehen können, ist es ein bisschen klein. Also machen wir die Pixel pro Einheit. Ich denke, 64 Hit Apply. Da gehen wir. Jetzt haben wir unsere wunderschöne Szene mit ein paar Bergen und diesem Steinmann hier. Lass uns sicher gehen. Ok, großartig. Das nächste, was wir tun wollen, ist, dass wir zu unserer vorherigen Szene und der Stadt zurückkehren wollen. Und hier werden wir ein Objekt erstellen. Also werden wir mit der rechten Maustaste erstellen leeres Spielobjekt. Und das wird der Bereichsausgang genannt. Wir werden seine Position zurücksetzen. Wir werden eine Komponente hinzufügen, die ein Collider 2D sein wird. Und dieser Collider 2D wird ausgelöst. Und was wir tun wollen, ist, es hier auf den Rand zu setzen. Und wir machen es so groß wie die Straße. Lass es uns nur ein bisschen größer machen. Da gehen wir. Jetzt haben wir den Arealausgang. Nun das nächste, was wir tun wollen, ist,
dass wir Code erstellen wollen , der es uns ermöglicht, diesen Bereich Exit tatsächlich auszulösen. Also, wenn wir diesen Bereich hier betreten, wollen
wir etwas geschehen lassen. Und die Art und Weise, wie wir das tun, ist die Verwendung von „On Trigger Enter“. Wenn wir also in die Dokumentationen und Einheit gehen, können
Sie sehen, dass wir etwas namens On Trigger Enter verwenden können. Und die Beschreibung hier lautet Wenn ein Spielobjekt mit einem anderen Spielobjekt kollidiert, ruft
Unity die On Trigger Enter -Methode auf. Und Sie können hier sehen, wie es privat innerhalb der Klasse auf Trigger Enter verwendet
wird, es gibt uns ein Argument. Wir werden später mehr über Argumente erfahren. Aber für jetzt, alles, was Sie wissen müssen, ist, dass dies ausgelöst wird, wenn ein Spielobjekt mit dem Collider
interagiert und was auch immer das Spielobjekt ist, sein kollider ein Duft durch dieses andere Argument direkt hier, das innerhalb dieser beiden ist Klammern oder reifen, wie diese aufgerufen werden. immer, gehen wir zu Unity, und hier werden wir ein Skript erstellen. Also zurück in unseren Skripten, werden
wir hier mit der rechten Maustaste klicken und wir werden ein C-Sharp Skript erstellen. Wir nennen das den Bereichsausgang. Drücken Sie die Eingabetaste Und da gehst du. Jetzt haben wir das Drehbuch. Wir werden nur ein wenig warten, bis es kompiliert wird. Und jetzt können wir es in
den Bereich Exit Spiel Objekt wird doppelklicken und öffnen Sie das Skript. Also, was sollen wir hier drinnen machen? Nun, das erste, was wir tun wollen, ist, dass wir einen
auf Trigger Enter zu D erstellen und Sie können sehen, genau hier, wo wir eingetreten waren. Und Sie können sehen, dass die Beschreibung Unternehmer geben Verbrühen, wenn der Collider 2D andere, oder direkt hier die Kollision tritt in den Auslöser. So Kollision andere, Sie können es nennen, was Sie wollen. Du kannst es sogar Michael nennen, wenn du willst. Aber wir halten es so Kollision wie die Standardeinstellung, die uns zur Verfügung gestellt wird. Ok, großartig. Das nächste, was wir tun wollen, ist, dass wir
sicherstellen wollen , dass es eine tiefe Schicht ist, die in den Bereich eindringt. Wir wollen dies nicht auslösen, wenn zum Beispiel
ein Objekt, ein Element oder eine seltsame MPC. Tritt ein, wir wollen das nicht, weil wir
dies verwenden werden, um in das nächste Gebiet zu übergehen , das Berggebiet, das wir gerade erstellt haben. Wie werden wir also in der Lage sein, den Spieler zu identifizieren? Nun, wir können etwas benutzen, das Tags genannt wird. Hier können Sie sehen, dass wir ein Etikett auf dem Bereich Ausgang haben. Wir haben einen Tack auf den Tribünen, und wir haben ein Etikett auf jedem einzelnen Spielobjekt. Und Sie können sehen, das Tag auf der Hauptkamera ist die Hauptkamera, und dies ermöglicht es uns, diese Kamera als Hauptkamera zu identifizieren. Wir können dies auch mit dem Spieler tun. Auf dem Player können
Sie die Tags hier sehen. Sie können klicken und Sie können sehen, dass wir bereits ein Player-Tag Standard in Unity, wir können auch unsere eigenen Tags erstellen. Also, wenn Sie sich vorher erinnern, als wir unsere Sortier-Layer erstellt
haben, hatten wir die Ebenen hier und wir hatten die Tags auch. Aber weil wir bereits ein Tag namens haben, wird
der Spieler es einfach hier benutzen. Wir werden das retten. Jetzt hier, wenn wir eintreten, wollen wir
zuerst überprüfen, ob das GameObject, das den Bereich verlassen betreten hat
, tatsächlich der Spieler genannt wird. Das ist eine Herausforderung für Sie. Sie müssen also nach einem Spieler suchen. Erstellen Sie zunächst eine if-Bedingung innerhalb der On Trigger Enter. dann unter dieser Bedingung Überprüfen Siedann unter dieser Bedingungnach dem Tag der Kollision, bei dem das Argument handelt, das durchgesendet wird, und stellen Sie sicher, dass es sich bei dem Tag um das der beiden Layer handelt. Also, wie kannst du das tun? Ich gebe Ihnen einen kleinen Hinweis, aber wenn Sie sich mutig genug fühlen, pausieren Sie das Video jetzt und gehen Sie nach, wie Sie nach einem Tag suchen können. Wenn nicht, werde ich Ihnen jetzt den Hinweis geben. Letzte Chance. Und Sie müssen eine Methode namens Vergleichs-Tack verwenden. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, hey, willkommen zurück. Also hoffe ich, du wolltest den Hinweis nicht verwenden. Ich hoffe, Sie sind aus dem Weg gegangen und recherchieren tatsächlich wie Sie Steuern vergleichen oder auf Steuern überprüfen können. Wenn nicht, hoffe ich, dass Sie tatsächlich die Einheit der Hunde verwenden, um nach Vergleichs-Tag zu suchen, um zu wissen, wie es verwendet wird. Also hier drin können Sie öffentliche boolesche sehen. Das bedeutet, dass dies einen Booleschen Wert zurückgibt. Das heißt, wenn es wahr oder falsch ist. Und im Inneren von hier können Sie
die Zeichenfolge oder die Tags übergeben , mit der Sie vergleichen möchten. Und praktisch genug, verwenden sie tatsächlich das andere Punktspielobjekt, das sich auf dem Trigger Enter befindet. Es heißt andere hier drin, nicht Kollision. Und es verwendet GameObject.com Tag und sucht auch nach dem Player-Tag. Wie bequem ist das? Also habe ich das wirklich nicht reingelegt. Ich weiß nicht, wie das so zusammenfallen könnte. auch immer, hier drin werden wir nach dem Spieler suchen. Also erstellen wir eine if-Bedingung,
die die Klammern öffnet und wir rufen den Kollisionspunkt auf. Wir werden auf Vergleichs-Tag überprüfen, öffnen Sie die Klammern. Und hier drinnen wollen wir den Spieler anrufen. Aber natürlich ist dies eine String-Referenz, also werden wir gehen und tatsächlich müssen wir diese kopieren. Also Control C, geh hier rein, kontrolliere V und lass es uns entfernen. Wir können das Tag nicht sofort kopieren, was der Spieler ist. Also werden wir uns mit dem zufrieden geben, was wir haben, aber wir müssen sichergehen. Also Spieler ja, es ist das Gleiche. Und hier, nur um des Tests willen, werden
wir voran gehen und Dot Log debuggen. Und wir werden drucken, das hier. Ist ein Spieler, der eingegeben. Schließen Sie das in Unity ab und zurück. Lassen Sie uns warten, bis dies kompiliert wird. Es wird den Code ausführen. Und weil unser Spieler aus der Kameraansicht gehen wird, schauen
wir uns einfach die Szene an. Und um zu sehen, was passiert, sollten
wir unten eine Nachricht sehen. Also gehen wir hier rein, ja, das ist ein Spieler. Wenn Sie also doppelklicken, können
wir auf der Konsole sehen, dass dies ein Spieler ist. Und wenn wir die Konsole nicht sehen, können
Sie immer zu Fenster Allgemein gehen und die Konsole drücken. Großartig. So können wir jetzt die Konstante sehen, die versucht hat, dies vom Spieler zu ändern. Und nur um dies zu testen, fügen Sie einen Platz hinzu, speichern und jetzt lassen Sie mich Hund die Konsole irgendwo hier drin sein kann. Wenn wir den Code erneut ausführen, ist
die Konsole leer. Wenn wir durch in den Ausgangsbereich gehen, gehen wir dorthin. So doppelklicken Sie, Sie können den Fehler sehen. Und was da steht, ist, lass mich einfach hier docket. Der Spieler ist nicht definiert. Okay, wie Sie sehen können, beeinflusst
sogar ein winziges Leerzeichen die Art und Weise, wie eine String-Referenz interpretiert wird. Ich hoffe, es gefällt euch und lasst uns nicht vergessen, unsere Änderungen zu begehen. Wir sehen uns im nächsten Video, in dem wir mehr über das Senior Management erfahren werden.
19. Scene: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir tatsächlich die zweite Szene verwenden, die wir geschaffen haben, nämlich die Berge. So, jetzt können Sie sehen, dass, wenn wir den Bereich Ausfahrt Kriterien und die Szenen, ja, da wir gehen. Wir gehen in eine zweite Szene, und wenn wir zurückkehren, gehen
wir zurück in unsere Altstadt. Aber wie Sie sehen können, gibt es ein paar leichte Probleme, die wir beheben müssen, die 2D-Jimmy-Dämonen haben, aber wir werden das später tun. Bis dahin verschwenden wir keine Zeit mehr und fangen wir an. Oh, okay, das erste, was wir verstehen müssen wann immer wir von einer Szene zur anderen bewegen wollen, ist ein Seed-Manager. In Unity Hunden können
Sie sehen, dass wir etwas haben, den Szenenmanager genannt. Und das ermöglicht es uns, gut, wie Sie sehen können, verwalten eine ihre Szenen. Und wir können hier viele statische Methoden verwenden, die wir natürlich sein werden, während unseres gesamten Kurses und wann immer wir unsere Spiele entwickeln wollen. Ok, großartig. Das erste, was wir brauchen, ist eigentlich ein Verweis auf den Namen der Szene zwischen einer zu gehen. Also zurück in unserem Bereich Exit, werden
wir hier eine Variable erstellen, und es wird ein serialisiertes Feld sein. Wir werden es zu einer Zeichenfolge machen, und es wird die Szene genannt werden, um zu laden, speichern Sie das. Nun, als nächstes müssen wir den Szenenmanager verwenden, aber wir können ihn nicht verwenden, ohne ihn
zuerst unserer Bibliothek hinzuzufügen. Also denken Sie daran, wenn ich Ihnen sagte, dass wir die Unity-Engine verwenden und hier, wenn wir es entfernen, können
Sie sehen, dass sofort wir nicht mehr mono Verhalten oder CRO,
serialisiertes Feld, nicht einmal den Collider 2D verwenden können . Was ich hier getan habe, ist, dass ich es zu einem Kommentar gemacht habe, damit es nicht ausgeführt wird. Wie auch immer, lassen Sie uns weitermachen. Jetzt müssen wir eine andere Bibliothek hinzufügen. Also rufen wir die Verwendung an. Wir rufen die Unity-Engine wieder an. Und jetzt wollen wir das Szenenmanagement nennen. So können wir auf den Szenenmanager zugreifen. Also, was werden wir tun? Und hier werden wir eine Szene laden, indem wir diese Szene
verwenden, um die Zeichenfolge zu laden. Wenn wir also wieder hier reingehen, lassen Sie uns voran gehen und die Szene senken, damit wir
Gesetze sehen können , die Szene durch ihren Namensindex und die Build-Einstellungen. So können Sie hier drin sehen, wo ist es? So können wir entweder eine ganze Zahl verwenden, um sie im Build-Index zu sehen. Wir werden über den eingebauten Index sprechen und nur ein bisschen. Oder wir können eine Zeichenfolge mit dem Szenennamen verwenden. Jetzt wissen Sie also, warum wir eine Zeichenfolge erstellt haben und warum wir sie als Referenz benötigen. Ok, großartig. Lass uns weitermachen und das benutzen. Also, wo werden wir den Szenen-Manager anrufen und ihm sagen, dass wir in die nächste Szene
laden wollen , wird es hier in den Arm Trigger geben 2D. Nachdem wir überprüft haben, dass sein Lieferant, anstatt etwas auszudrucken, werden
wir den Szenenmanager anrufen. Hey, Szenenmanager. Wie wäre es, wenn wir eine Szene laden? Er wird uns fragen, welche Szene Sie laden möchten. Nun, ich möchte das laden scheinen zu laden. Also speichern wir das wieder in Unity. Warten wir, bis der Code kompiliert ist. Und bevor wir weitermachen, möchte
ich nur etwas sagen. Erinnerst du dich, als wir einen starren Körper auf das Wasser gelegt haben? Nun, wir brauchen nicht wirklich, und wir brauchen es auch nicht auf den Tribünen. Und normalerweise können wir das behalten, aber starre Körper brauchen viel Zeit, um zu berechnen. Also nur ein Vorsprung. Und ich hätte den Ort nehmen können, an dem ich starre Leichen hinzufügte und sagte, ich habe einen Fehler gemacht. Aber nein, manchmal bin ich mir nicht sicher, was los ist. Es gibt etwas, das nicht funktioniert. Also dachte ich, das zu halten und macht alles transparent und viele von dir sind, Anfänger werden denken, dass du vielleicht nicht gut genug bist. Nun, da gehst du. Ihr Lehrer macht Fehler. Jedenfalls. Lassen Sie uns weiter in der Gegend Ausfahrt jetzt haben wir eine Szene zu laden, die schien wir laden wollen. Auch hier ist dies eine String-Referenz, also wollen wir die Bergszene laden. Wir kopieren den Namen zurück in den Bereich Ausgang. Wir werden es hier einfügen. werden wir retten. Und jetzt, wenn wir den Code ausführen, werden wir gehen. Wenn wir das erreichen, sollten wir sofort zum Zungenort gehen. Also ja, da gehst du. Wir haben einen Fehler. Was ist dieser Fehler? Öffnen wir die Konsole. Es sagt uns, dass die Meeresberge nicht geladen werden können weil es nicht zu den Build-Einstellungen oder k hinzugefügt wird. So gibt es eine Build-Einstellungen und das ist, was die Dokumente verwiesen, als es uns den Build erzählte. Index. Also, wenn Sie zu der Datei gehen, erscheinen in Einheit und wir können die Build-Einstellungen finden. Und hier bauen wir tatsächlich unser Spiel. So können Sie sehen, dass wir es als eine universelle Windows-Plattform,
als PS4-Spiel,
als Android und so weiter und so weiter bauen können als PS4-Spiel, . Vorerst werden wir damit nicht belästigen. Zunächst einmal müssen wir sehen, was hier passiert. Sie können sehen, dass die Szenen und bauen unsere einzige Stadt. Was wir also tun müssen, ist, dass wir sie hier reinziehen müssen. So, jetzt sind die Berge Teil der bauen Szenen, oder in den Szenen in gebaut. Sie können die Zahlen hier sehen, 01. Und das ist, was wir mit der Szene und Build-Index gemeint. Okay, wenn das erledigt ist, lassen Sie uns das retten. Wir können dieses Fenster schließen. Lasst uns Run drücken. Wir gehen in Richtung der Gegend Ausfahrt, und dort geht's. Sie können sehen, dass die Berge geladen wurden, obwohl wir keine Spieler haben. Was wir also tun wollen, ist, dass wir unseren Spieler im Spiel behalten wollen. Aber was passiert, wenn wir von einer Szene zur nächsten gehen ,
ist, dass alle Objekte zerstört werden. Und das wollen wir nicht. Wir wollen unseren Spieler am Leben halten, wenn er von Szene zu Szene geht. Was wir dagegen tun können, ist, wenn wir in unseren Code
gehen, in unseren Spieler gehen und anfangen, wir können voran gehen und ihm sagen, dass wir nicht auf Last zerstören wollen. Also lassen Sie mich das einfach rückgängig machen und Ihnen zeigen, was der Intelligente uns sagt. Zerstören Sie das Zielobjekt beim Laden nicht. Und Sie haben gesehen, wie praktisch es ist, dass Sie im Internet suchen können. Wie kann ich ein Objekt nicht zerstören? Wenn ich zur nächsten Szene gehe, hättest du diese Methode bekommen und welches GameObject will nicht zerstören? Nun, es ist der Spieler. Wir können es einfach mit dem Spielobjekt referenzieren. Da gehen wir. Dieses Spielobjekt verweist also auf das Spielobjekt, an das dieses Spielerskript angehängt ist. Ich hoffe, das hat Sinn ergeben. Also lasst uns das retten. Gehen wir zurück in die Einheit. Und lass uns Play drücken. Also gehen wir, gehen, gehen, gehen, und da gehen wir. Also sind wir in der neuen Szene mit unserer kleinen Statue hier drin. Nun, offensichtlich gehen wir durch alles, weil wir keine Kollider hinzugefügt haben, aber zumindest funktioniert alles gut. Was wollen wir als Nächstes tun? Wir wollen, dass dieser Flächenausgang in unserer zweiten Szene anwesend ist. Also ist es Zeit für deine Herausforderung. Und deine Herausforderung besteht darin, dem Spieler dabei zu helfen, zurückzukommen. Erstellen Sie also einen anderen Bereichsausgang. Zuallererst müssen Sie das Spielobjekt bei einem Collider erstellen, es zum Auslöser
machen. Sie müssen das Skript hinzufügen, das ist der Bereich Exit. Und Sie müssen den Namen der Szene ändern, zu der Sie gehen möchten. Also pausieren Sie das Video jetzt und gehen Sie miteinander zu tun. Okay, Willkommen zurück. Also lasst uns voran gehen und dieses Spielobjekt erstellen. Aber bevor wir das tun, möchte
ich Ihnen etwas vorstellen, das das Leben leichter macht und das ist Prefabs. Was ist ein Prefab? Ein Prefab ist also ein zuvor hergestelltes Objekt, das wir überall verwenden können, wo wir wollen. Lass uns ein bisschen tiefer tauchen. Also, was ist ein Prefab? Es ist eine Vorlage für ein bestimmtes Spielobjekt. Prefab System ermöglicht es Ihnen, ein Spielobjekt mit allen seinen Eigenschaften zu speichern. Wofür verwenden wir es? Wir verwenden es, um ein auf eine bestimmte Weise konfiguriertes Spielobjekt wiederzuverwenden. Zum Beispiel wollen wir, dass unser Spieler, sagen
wir, fünf Hände hat. Also verwenden wir es, wenn es anders konfiguriert ist. Wir können viele Objekte gleichzeitig bearbeiten. wir zum Beispiel an, wir haben mehrere Elemente und mehrere Szenen. Wir können das Prefab ein wenig ändern und alle Elemente und alle Dinge werden geändert. Und wir können das gleiche Objekt in verschiedenen Szenen verwenden, viel einfacher. Wir werden das in ein bisschen demonstrieren. Also zurück in Unity, die Art und Weise, wie wir ein Prefab erstellen, ist zunächst, werden
wir einen Ordner erstellen. Wir nennen das die Prefabs. Und es ist eigentlich sehr kompliziert, ein Prefab zu erstellen. Die Art und Weise, wie wir es tun, ist, müssen wir auf
das Gebiet Exit-Objekt oder ein beliebiges Objekt überprüfen , das wir als Prefab
erstellen möchten , und wir müssen es in den Ordner ziehen. Ja, das war's. Das ist alles, was Sie tun müssen, um ein Prefab zu erstellen. Und du weißt, dass etwas ein Prefab ist, wenn du das siehst, es ist nur ein bisschen mehr blau. Also, wenn wir jetzt hineingehen, wo ist es, die Szenen? Die Berge. Ja, Sie können retten. Wenn wir nun in unseren Prefabs-Ordner gehen, können
wir einfach den Ausgang überprüfen und ihn hier hineinziehen. Wie cool ist das? Also jetzt haben wir einen Area-Ausgang und unsere Bergszene. Und ich entschuldige mich dafür, dass Sie den ganzen Prozess durchlaufen haben. Ich wollte nur betonen, wie wichtig die Prefabs sind und wie viel einfacher sie unser Leben machen. Jetzt können wir den Namen hier ändern. Gehen wir zu den Szenen. Die Stadt. Wir kopieren es, weil es eine String-Referenz ist. Wir fügen es hier ein, wir speichern es. Gehen wir zurück in die Stadt hatte Play, und jetzt gehen wir den Spaziergang. Wir gehen zum Ortsausgang. Wir sind in den Bergen. Jetzt. Wir gehen wieder, bis wir zum anderen Area-Ausgang kommen, und da gehst du. Aber Sie können sehen, dass wir jetzt zwei Spieler haben. Wenn wir wieder zurückgehen, haben wir
jetzt drei Spieler. Wieder. Jetzt haben wir vier Jimmy-Dämonen. Und ich glaube nicht, dass es genug Platz auf der Welt für Jimmy-Dämonen gibt. All das werden wir im nächsten Video behandeln.
20. Singleton: Willkommen zurück, meine Mitspielentwickler. In diesem Video haben wir tatsächlich behoben, um das Problem zu duplizieren. Also lass mich jetzt einfach meinen Spieler ein bisschen schneller machen. Also lasst uns es auf 50 erhöhen. Wir gehen, wir sind in der zweiten Szene. Wenn wir zurück gehen, gehen wir hin. Nur ein einziger Jimmy-Daemon. Also lasst uns keine Zeit mehr verschwenden und loslegen. Stell dir vor, er wäre dieser schnell gedämpfte Fall. Wir wollen also verhindern, dass Duplikate Spieler haben. Um dies zu tun, müssen
wir den Spieler verfolgen und sicherstellen, dass es nur einen gibt. Und um das zu tun, werden
wir etwas verwenden, das eine Instanz genannt wird. Also lassen Sie mich Ihnen zeigen, was für eine Instance, was ist eine Instanz einer Klasse? Es ist eine statische Variable, die in allen unseren Projekten konstant bedeutet. Es kann leicht von jeder anderen Klasse abgerufen werden, oder es kann leichter abgerufen werden und wir werden
es verwenden , um das Objekt zu vermeiden, jedes Mal, wenn wir spielen wollen, zu finden. Und wir werden verwenden, um den Spieler zu verfolgen und in der Lage sein, ihn zu verwenden, sie aus anderen Skripten für den Tippfehler. Also lasst uns voran gehen und eine Instanz verwenden. Also zurück in unserem Code, zurück und Player, werden wir eine Instanz einer Klasse erstellen. Und es wird öffentlich sein. Es wird statisch sein. Wie wir bereits gesagt haben, ist statisch etwas, das auf der gesamten Plattform gleich ist. Es wird vom Typ Player sein und wir werden es einfach die Instanz nennen. Wir werden das retten. Jetzt innerhalb des Anfangs wollen
wir bestimmen, was die Instanzen, Instanz gleich diesem ist. Und das verweist, na ja,
genau das, was es sagt. Es verweist auf diese genaue Klasse. Also, wenn wir wieder anfangen, wird
die Instanz auf diese bestimmte Klasse gesetzt, die den Player hat. Aber jetzt haben wir immer noch ein kleines Problem, wenn wir das Spiel starten. Die Instanz wird auf diesen Spieler gesetzt, aber wenn ein anderer Spieler erzeugt wird, erhalten
wir eine andere Instanz. Also, was wir tun können, ist, gehen wir weiter und enden hier. Wir schaffen eine Bedingung. Wenn die Instanz also anders als null ist, bedeutet
dies, dass es eine Instanz gibt. Und so, wie wir gesagt haben, wann immer wir zwei gerade Linien haben, ist es ein, ODER, wenn wir diese zwei zerquetschigen Linien haben, Es ist ein Ende. Die Instanz ist anders als diese. Also das hier, dann werden wir vor allem dieses Spielobjekt zerstören. Sonst werden wir eine Instanz erstellen. Wir werden eine Instanz setzen. Was hier passiert ist, ist, dass, wenn unsere Instanz nicht null ist und unsere Instanz anders ist als dieses bestimmte Objekt, das wir betrachten oder Klasse, dann werden wir es zerstören. Wenn nicht, wenn die Instanz null ist oder die Instanz diese ist, dann weisen wir einfach die Instanz zu. Also werden wir das retten. Dies wird als Singleton-Muster bezeichnet. Und jetzt, wenn wir zurückgehen, werden
wir unser Spiel laufen, hat unser Team und Spaziergänge. Er kommt in die Gegend, er ist fertig, jetzt müssen wir zurück. Wir hätten sie ein bisschen schneller machen sollen. Also, da gehst du hin. Wir haben nur einen Dämon. Und Sie können genau hier sehen, es ist unter dem „Don't destroy on load“ Absatz oder es ist anders als die Stadt, wenn Sie darüber nachdenken wollen. Es ist, als hätten wir eine andere Szene geschaffen in der wir diesen Spieler haben und die Szene D1 auf Last ist, aber sie ist über die Stadt integriert. So können wir jetzt sogar zurückgehen. Und da gehst du hin. Nur ein einziger Jimmy Dämon. Sie können hier und die Hierarchie sehen, es gibt nur einen Jimmy Dämon, aber es gibt immer noch ein Problem. Und dieses Problem ist, dass
wir nicht am Ende unserer Karte geworfen werden wollen, wenn wir durchlaufen . Wir wollen eigentlich genau hier und an diesem Ort sein, als ob wir natürlich diesen Bereich betreten würden. Also machen wir das im nächsten Video. Vergiss nicht, deine Arbeit zu begehen.
21. Area: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video beheben wir das Problem
unseres Jimmy-Dämons, der auf der anderen Seite der Karte erscheint. Wie Sie sehen können, wenn wir in die Berge gingen, sind
wir in einer guten Position, als ob wir dort natürlich übergehen. Und wenn wir versuchen, zurück zu gehen, dann gehst du. Wir haben auch zu einer natürlichen Position übergegangen, die unser Dämon sein sollte. Und jetzt ist es nicht perfekt. Es braucht ein bisschen Optimierung, aber es funktioniert. Also lasst uns keine Zeit mehr verschwenden und lasst uns mit der 0 beginnen. Unser Ziel in diesem Video ist es,
einen Weg zu finden , um unseren Spieler in einer bestimmten Position erscheinen zu lassen. In der nächsten Szene, wenn wir durchziehen. Wenn wir also zum Beispiel die Berge von dieser speziellen Gegend Ausfahrt betreten, wollen
wir gleich hier neben dem Bereichsausgang in der zweiten Szene erscheinen. Und das ist sehr wichtig. Was wir also tun können, ist, dass wir tatsächlich ein Spielobjekt in hier namens Area Exit erstellen können. Und wir können es an einer bestimmten Position setzen. Verfolgen Sie den Übergangnamen vom Bereichsausgang vom vorherigen innerhalb des Spielers, und legen Sie ihn dann wieder hier ein, weil der Spieler nie zerstört wird. Erinnerst du dich daran? Es ist also ein guter Ort, um einen bestimmten Namen zu speichern. Und wir können, wann immer wir die Szene beginnen, unseren Spieler
nehmen und seine Position auf dem Gebiet setzen, betreten. Ich hoffe, das hat etwas Sinn ergeben. Lass es uns tun, anstatt nur darüber zu sprechen, und vielleicht wird es klar. Das erste, was ist, dass wir den Übergangnamen verfolgen wollen. Also hier werden wir einen öffentlichen String-Übergangsnamen erstellen. Ok. Und es wird öffentlich sein, weil wir in der
Lage sein wollen , aus einem anderen Skript darauf zuzugreifen. Dies ist nicht der beste Weg, dies zu tun, aber bis wir später einen besseren Weg lernen, werden
wir diesen Weg weiter nutzen. Als nächstes wollen wir in den Bereich Exit gehen und auch hier ein serialisiertes Feld erstellen, das vom Typ String sein wird, und es wird den gleichen Namen haben, den Übergangsnamen. Okay, also speichern wir das wieder in Unity. Gehen wir in unsere Stadt. Und n hier auf dem Bereich Ausgang, Sie können sehen, dass wir einen Übergangsnamen auf dem Spieler haben. Wir haben das gleiche, aber wir werden es nicht stören, wird den Übergangsnamen aus dem Code dynamisch füllen. Also hier drin, wie lautet der Name des Übergangs? Wir wollen etwas repräsentieren, dass es dieser Ort ist, damit Sie unsere Karte sehen können. So können wir von diesem Ort,
von diesem Ort oder von oben verlassen . Also wollen wir zunächst jeden Ausgang im
Auge behalten. Zweitens wollen wir verfolgen, was der nächste Ort ist. Die Art und Weise, wie wir das tun, ist, dass wir eine Art Namenskonvention erstellen. Wir werden, sagen wir, die Bereiche
nennen, in denen wir von 1,
2, 3 und 4 verlassen können . Die Art und Weise, wie wir das nennen werden, ist zum Beispiel die Berge eins. So wissen wir, dass diese Gegend uns in die Berge bringt. werden wir hier drinnen retten. Jetzt wieder in unserem Code und unserem Onsager geben Sie hier ein. Bevor wir die Szene laden, nehmen
wir unser Player-Skript. Also verweisen wir hier auf das Player-Skript, aber wir können nichts darin verwenden, aber wir können auf die Instanz zugreifen. Und weil die Instanz auf das Skript verweist, was dies ist, können wir
jetzt auf jede Methode zugreifen, die hier drin oder wertvoll ist, die öffentlich ist. So können wir jetzt auf den Übergangsnamen zugreifen. Und nach dem Zugriff auf den Übergangsnamen werden
wir ihn auf den Übergangsnamen setzen. Wenn Sie nun etwas verwirrt sind, verweist
dieser Übergangsname auf die einseitige Seite des Bereichsausgangs. Und dieser Übergangsname verweist auf den Übergangsnamen hier im Player-Skript. Wenn Sie immer noch verwirrt sind, können
Sie hier den Namen des Übergangs ändern, etwas anderes. Die Art und Weise, wie Sie einen Namen in Visual Studio ändern können, ist einfach die Steuerung gedrückt halten. Stellen Sie sicher, dass Sie den Namen der Variablen ausgewählt haben, die Sie ändern möchten, halten Sie die Strg-Taste gedrückt, drücken Sie oder, oder zweimal. Und jetzt können wir diesen Übergangsbereichsnamen ändern. Sie werden sehen, dass es sich hier ändert und sich überall in Ihrem Ordner ändert. Also jeder Ort, an dem Sie diese Zeichenfolge verwenden. Diese Variable wird geändert. Okay, so kontrollieren oder sind. Ok, großartig. Also lasst uns in unserer Einheit gehen. Jetzt wird das nichts tun. Wir wollen nur sicherstellen, dass unser Spieler, so jeder Ausgang, Berge man ging zurück zu leer, weil wir den Namen der Variablen hier geändert. Und wie wir den Code ausführen und jetzt können wir den Spieler verfolgen. Was bedeutet der Übergang Name? Da gehen wir. Also jetzt, als wir in die Berge gingen, sind es Berge eins. Jetzt müssen wir zu unserer zweiten Szene hier gehen, und wir werden ein neues Spielobjekt erstellen, das den Bereich eingeben
wird, wird seine Position zurücksetzen. Und wir positionieren es einfach vor dem Ausgang des Bereichs und stellen sicher, dass es außerhalb des kleinen Platzes hier drin ist. Wir wollen nicht, dass unser Spieler eintritt und dann sofort zurückgeht. Also werden wir das retten. Also jetzt haben wir einen Bereich eingeben und wir werden ein Skript erstellen. So wie wir ein Skript erstellen können, können
wir einfach Bereich erstellen. Und drittens, Sie können sehen, dass hier, es sagt uns, die Option, ein neues Skript zu erstellen. Ja, danke. Der Name ist Erin, geben Sie ein, erstellen Sie eine Anzeige. Und jetzt haben wir ein Skript des Bereichs eingeben. Und wir werden das Skript verwenden, um den Player auf die genaue Position des Bereichs eingeben zu setzen. Jetzt, da das Skript geladen ist, können
wir es öffnen. Und hier werden wir ein serialisiertes Feld erstellen, das eine Zeichenfolge sein wird, und es wird der Name des Übergangsbereichs sein. Und was wir tun werden, ist, sobald wir unser Level beginnen. Also am Anfang werden wir überprüfen, ob der Übergangs-Name oder Übergangs-Bereich-Name gleich
dem Player-Punkt-Instanz-Punkt-Übergangs-Namen ist . Dann werden wir den Player Punkt Instanz Punkt Transformation zugreifen und erinnern Transformation. Und hier ist, was verfolgt ein Spiel Objekte, ein Spiel Objekt in Unity Szene. Und die Transformation des Spielers wird gleich der Transformationspunktposition sein. Und dies bezieht sich auf die Transformation des Bereichs eingeben oder auf das Objekt, das den Bereich unter dem Skript hat. Und wir haben einen Pfeil. Und hier kann die Komponente der Übertragung nicht zugeordnet werden, okay? Also müssen wir die Punktposition transformieren, tut mir leid, wir können die Transformation nicht einfach ändern. Wir müssen auf die Position zugreifen. Hier drin können wir sehen, dass wir eine Position und Rotation und eine Skala haben. Also greifen wir tatsächlich auf die Position auf der Transformation, auf der Instanz auf dem Spieler zu. Okay, toll, also gehen
wir zurück und Einheit und wir werden sicherstellen, dass wir das
nennen, wie haben wir es in der vorherigen Szene genannt? Gehen wir in die Stadt. Jep. Speichern Sie diesen Bereich Ausfahrt Berg eins. Lassen Sie uns das kopieren. Geh zurück in die Berge, die Gegend betreten und lass es uns genau hier setzen. Speichern wir das zurück in die Stadt. Führen Sie den Code, führen Sie das Spiel, und wir gehen, wir gehen zum Bereichsausgang. Ja, da gehen wir. Wie cool ist das? Jetzt erscheint unser Spieler nicht auf der Karte. Was, wenn wir zurück wollen? Ja, da gehst du. Das funktioniert nicht auf diese Weise und es wird eine Herausforderung für Sie sein. Ihre Herausforderung wird es sein, ein Prefab zu erstellen. Erstellen Sie also ein Prefab des Bereichs eingeben Spielobjekt,
das der vorherigen Szene hinzugefügt wurde und setzen Sie es in der Position, die unser Spieler erscheinen soll. Also natürlich sollte der Bereich eingeben in einer logischen Position sein. Aber trotzdem, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also hier drin, können wir Prefab den Bereich eingeben und wir können dann weiter gehen und hier und die Zunge hinzugefügt. Aber etwas, das wir jetzt zuschlagen. Nun, eigentlich habe ich es schon bemerkt, aber ich möchte Ihnen sagen, dass Sie vielleicht bemerkt haben, dass jeder einzelne Bereich Ausgang seinen eigenen Bereich betreten wird. Also, was wir tun können, anstatt einfach lieber die Gegend eingeben und es dann hinzufügen, können
wir in die Berge gehen und wir können das Gebiet unter verfolgen, unter dem Bereich Ausgang. So, jetzt können Sie sehen, dass Bereich eingeben ist unter dem Bereich Ausgang, und dies wird das Kind in einem Spiel Objekt genannt. Was jetzt passiert, ist jeder Ausgang. Wenn wir es bewegen, sagen
wir, zu dieser Position, Bereich Eingabe bewegt sich mit dem Bereich Ausgang und
seine Position direkt hier wird auf seine übergeordnete referenziert. Also wird der Bereich als übergeordnetes Element verlassen, der Bereich eingeben ist das untergeordnete Element und es ist eine untergeordnete übergeordnete Beziehung. Wir werden das in späteren Videos weiter untersuchen, aber im Moment ist das alles, was Sie wissen müssen. So Bereich eingeben ist ein Kind des Bereichsausgangs. Und wir können das ja überschreiben. Wenden Sie alles an. Also jetzt in unserer Stadt, Safe und unserer Stadt, der Bereich Ausgang hat einen Bereich eingeben und wird es einfach zu dieser Position direkt hier bewegen. Also schauen wir zurück. Berge ein Gebiet, gute Berge, eins, aber das. Zurück in unsere Berge. Der Bereichsausgang hat einen Übergangnamen. Muss es einen Übergangsnamen haben? Mal sehen, was passiert. In der Stadt. Wir führen den Code aus, wir gehen durch, also gibt es einen Fehler. Was ist der Fehler? Wenn wir doppelklicken? Ja, da gehst du. Und es gibt eine Nullreferenzausnahme, die ich Ihnen zeige, was es sagt. Eine Objektreferenz, die nicht auf eine Instanz festgelegt ist. Was bedeutet es, wenn wir
hier doppelklicken und es liegt daran, dass der Übergangname leer ist. Versuchen wir einfach, dies zu testen, bevor wir versuchen, das Problem zu beheben. Ja, da gehen wir. Es gibt ein großes Problem. Wir müssen das in Berge ändern, und jetzt können wir den Code wieder ausführen. Mal sehen. Ja, da gehen wir. Wir gehen in die Berge. Wenn wir jetzt zurück wollen, ja. Wir gehen nicht richtig zurück. Warum ist das so? Nun, denn auf den Bergen und hier haben wir nicht den richtigen Namen gesetzt, also sollte es Berge eins sein. Also werde ich das retten. Überschreibe nicht alles zurück. Drücken Sie „Play“. Gehen Sie hierher. Jep. Jep. Jep. Jep. Alles scheint einwandfrei zu funktionieren. Also hoffe ich, Sie genießen es. Stellen Sie sicher, dass Sie unsere Änderungen übernehmen und wir sehen uns im nächsten Video.
22. Script: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir uns nicht viel verändert. Wir haben gerade etwas über die Reihenfolge der Ausführung von Skripten gelernt. Und wir haben auch gelernt, wie wir manchmal optimieren können, was wir bereits geschaffen haben. Also, wenn wir unser Spiel laufen, können
Sie sehen, dass unser Dämon Jimmy beginnt in der Gegend, geben Sie Position. Alles funktioniert völlig gut. Wenn wir zum nächsten Bereich gehen, werden
Sie sehen, dass alles immer noch gleich ist. Nichts hat sich geändert, aber wir haben nur herumgespielt und ein paar Dinge optimiert. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay. Also, jetzt, da wir den Namen des Bereichs Ausfahrt und der Bereich geben Sie die gleiche. Wir wollen eine Welle erstellen, um ein bisschen Zeit zu sparen und die Dinge schneller mit weniger Spielraum zu machen. Also ein Bereich Ausgang, wir werden einen Verweis auf den Bereich anther bekommen. Also werden wir ein serialisiertes Feld erstellen und es wird vom Typ Bereich sein. Und drittens, und wir nennen es die Gegend. Und okay, jetzt und fangen Sie an, wir werden den Namen des Übergangs auf dem Gebiet festlegen. Und drittens, der gleiche wie der Name des Übergangsbereichs hier drin zu sein. Also der Bereich und der dritte Punkt Übergang Name. Es gibt uns das nicht, weil es ein serialisiertes Feld und keine Öffentlichkeit ist. Also lasst es uns in die Öffentlichkeit ändern. Speichern Sie das wieder hier drin. Punktübergangsbereichs und Name des Übergangsbereichs. Also lasst uns die Dinge nicht verwirren. Das ist für diesen hier. Dieser hier ist für diesen hier. Ich werde den Namen nicht ändern. Wenn Sie das Gefühl haben, dass Sie die Namen ändern möchten, fühlen Sie sich frei, dies zu tun. Ok, großartig. Jetzt, wieder in Unity, Lassen Sie uns in unsere prefabs gehen und, und der Bereich Ausgang. Wir können voran gehen und die Referenz. Wenn wir also doppelklicken, können
wir das Prefab öffnen und wir können sofort den Bereich eingeben referenzieren. Das ist ein Kind davon. Großartig. So wie Sie sehen können, hat
der Bereich Ausgang ein Kind, das ist der Bereich eingeben, der genau hier ist. werden wir retten. Lassen Sie uns aus dem Prefab verlassen. Und wenn wir in den Bereich gehen eingeben, können
wir diese und den Bereich Ausgang entfernen, Sie werden sehen, dass es sich automatisch aktualisiert. Also lassen Sie uns den Überblick über den Bereich geben. Wir schlagen Spiel, und da gehen wir. Sie den Namen des Übergangsgebiets als Berg eins auf dem Gebiet ein. Ok, großartig. Also lasst uns versuchen, unser Spiel zu spielen. Stellen Sie sicher, dass alles gut ist. Ja, alles ist gut. Aber es gibt hier ein kleines Problem, über das ich gesprochen habe, aber nicht behoben oder vielleicht habe ich es getan. Aber Sie können sehen, dass es einen Fehler gibt. Es gibt eine Nullreferenzausnahme. Die Objektreferenz, die nicht auf eine Instanz eines Objektbereichs gesetzt ist, geben Sie den Punkt-Punkt-Punkt ein. Und es sagt Bereich geben Punkt Start, weil es ein Problem im Bereich ist eingeben. Wenn wir doppelklicken, wird es uns zur Zeile bringen und es sagt uns , dass wir versucht haben, auf eine Instanz zuzugreifen, aber es gibt keine. Nun, wie Sie sehen können, wenn wir unser Spiel spielen, funktioniert
alles gut. Aber wenn Sie sehr unheimlich über Dinge sind und Sie das beheben wollen, müssen
wir es beheben. Was ist das Problem? Das Problem ist, dass der Bereich, in dem dieses genaue Skript eingegeben wird, vor dem Player-Skript geladen wird. Was also passiert, ist, sagen
wir, dass der Bereich eingeben erstellt wird. Wir starten den Bereich eingeben, aber der Spieler wurde noch nicht erstellt, also gibt es keine Instanz. Also, wie können wir das beheben? Es gibt viele Möglichkeiten. Ich zeige dir einen sehr raffinierten. Und es ist etwas, dass nicht viele US, es ist nicht so gut, dies zu tun, aber es ist gut zu wissen, dass Sie die Option haben. also in der Bearbeiten Gehen Siealso in der Bearbeitenzu Projekteinstellungen. Hier können Sie sehen, dass wir etwas
genannt haben , wo ist es die Skript-Ausführungsreihenfolge? Und Sie können sehen, wie jedes Skript ausgeführt wird. So können wir ein Plus hinzufügen. Und hier können Sie sehen, dass dies die Skripte sind, die wir haben. Wählen wir den Spieler aus und bringen ihn hier nach oben. Es beginnt also vor der Standardzeit. Das bedeutet, dass es vor jedem anderen Skript beginnt. Wir werden auf „Bewerben“ klicken. Wir werden aussteigen. Wir werden unseren Code ausführen und wir sollten diesen Fehler nicht mehr erhalten. Da gehst du. Aber wie Sie sehen können, geht
unser Spieler an die Position des Bereichs eingeben, alles funktioniert gut, aber wann immer wir unser Spiel starten, Dort gehen wir. Unser Dämon wird in diese Position transportiert. Ich denke, das ist eine gute Sache, weil wir eigentlich nie mitten auf einer Karte anfangen werden. Das ist also, denke ich, eine gute Sache. Jedenfalls, ich hoffe, es gefällt Ihnen. Ich hoffe, Sie speichern Ihre Repositories. Und wir sehen uns in der nächsten.
23. Teil 4: Cinemachine 101: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video sind wir nicht mehr statisch und die Arbeit. Wie Sie sehen können, bevor wir etwas hinzufügen, wenn wir uns bewegt und die Wirbel, konnten
wir nur sehen, was wir vor uns haben. Aber jetzt, wenn wir uns bewegen, können
Sie sehen, dass die Kamera unserem Spieler folgt, wohin er geht. Lassen Sie uns also keine Zeit mehr verschwenden und beginnen Sie mit dem Hinzufügen von Maschinen. Oh, okay. Also, wenn wir spielen, können
Sie sehen, dass wir alle in unserer Szene gewirbelt haben, aber unser Spieler kann sich nur in dem begrenzten Raum bewegen, den wir innerhalb unseres Spielfensters haben. Aber wir wollen durch die ganze Karte bewegen , dass wir eine Interaktion mit verschiedenen Objekten haben. Aber leider erlaubt die Kamera das nicht. Also, was wir tun werden, ist, dass wir ein Folgecamp schaffen werden. Wo auch immer unser Spieler sich bewegt, wird sich
unsere Kamera mit keiner bewegen. Es gibt zwei Möglichkeiten, dies zu tun. Der erste Weg ist die altmodische Art, wo wir ein Skript erstellen, das
wir der Kamera hinzugefügt haben, wir ein Ziel setzen, und dann müssen wir viel optimieren. Und es gibt den neuen und fortschrittlicheren Weg, und das ist mit einer Zentrumsmaschine. Also, was ist eine Sündermaschine? Ich werde Ihnen die Unity-Dokumentation zeigen. Hier drin kann man in der Einheit Hunde sehen, man kann alles über Kinomaschinen lesen, was sie brauchen, was sie brauchen. Ich denke, dass Sie gehen und die Dokumentation nachschlagen sollten. Es ist ein bisschen lang. Es ist irgendwo hier drin. Ich denke nicht, dass Sie alles lesen sollten, aber zumindest wissen, was Sie haben. Gehen wir zurück in Unity und fügen wir eine Kinomaschine hinzu. Das erste, was wir tun müssen, ist, dass wir ein Paket importieren müssen. Also müssen wir zum Paketmanager gehen. Wir gehen zu Window, dem Paket-Manager und hier, warten auf die Aktualisierung der Pakete, gehen Sie zur Unity Registry und jetzt und Kino-Maschine, die nach Cinna Maschine suchen. Da gehst du. Senden Sie einen Computer, stellen Sie sicher, dass Sie ihn installieren. Und wir sehen uns, nachdem die Installation abgeschlossen ist. O K. Willkommen zurück. Mit der Magie des Editierens habe
ich gerade die Installation der Kinomaschine abgeschlossen. Und das nächste, was wir tun müssen, ist, dass wir in unsere Hauptkamera gehen und wir werden eine Komponente hinzufügen. Und es wird ein Gehirn sein. Also haben wir ein Kino-Maschine-Gehirn auf unserer Hauptkamera. Es wird uns ermöglichen, koexistierende Kameras mit einer von ihnen wird die Hauptkamera sein und die andere wird eine virtuelle Kamera sein. Lassen Sie uns also voran gehen und eine dieser virtuellen Kameras erstellen. Die Art und Weise, wie wir das tun, ist, wir gehen hier hoch
und die Kinomaschine, und wir werden eine 2D-Kamera erstellen, wie Sie hier sehen können. Also, jetzt haben wir diese C VCA. Und Sie können sehen, es gibt ein paar Dinge, die wir nicht
hier haben , werden nicht über alle gehen, weil es eine Menge gibt. Aber vorerst sind die Dinge, die Sie berücksichtigen und sofort setzen müssen, genau hier, der Follow und der Lookup. Aber bevor wir das tun, müssen
wir ein Spielobjekt erstellen und beide Kameras auf unser Kind setzen, die Kameras für ihn. Also werden wir ein Spielobjekt erstellen. Wir nennen es die Kameras. Und wir ziehen einfach die Hauptkamera und zwei Kameras. Oder bevor wir das tun, lassen Sie mich einfach die Position zurücksetzen und dann ziehen wir die Hauptkamera unter Kameras und das virtuelle Lager und auch zu den Kameras. Jetzt haben wir die Kameras, die die Hauptkamera und die virtuelle Kamera halten. Nun, das nächste, was wir tun müssen, ist, dass wir
das Ding oder irgendetwas, dem Sie folgen wollen, ziehen müssen . Was wollen wir also verfolgen? Nun, wir wollen dem Spieler folgen, also ziehen wir den Spieler hierher. Wie Sie sehen können, haben wir ein paar Führer. Und bevor wir fortfahren, lassen Sie uns im Spielfenster von freiem Aspekt auf 16 von 9 ändern, und dies wird dazu beitragen, das Bild zu stabilisieren. Also werden wir das retten. Und lass uns Play drücken und sehen, was wir haben. Und ich werde erklären, was all diese Führer hier oder so jetzt, wenn wir gehen, da wir gehen, können Sie sehen, dass unsere Kamera tatsächlich unserem Spieler folgt. Wie cool ist das? Jetzt laufen wir nicht einfach herum und können den Spieler nicht mehr sehen. Wir haben tatsächlich eine Kamera, die folgt und Sie können sehen, wie es hier oben durch diese roten Linien folgt. So können Sie sehen, dass es nicht sofort ist. So dauert es ein bisschen Zeit und dies gibt ein natürlicheres Gefühl zu unserem Spiel, ein professionelleres Gefühl auch. Und das ist nicht etwas, das leicht mit Skripten gemacht wird. Es braucht viel Code und eine Menge Optimierung. Aber bevor wir weitermachen, was sind diese Lungen, Sie können sie tatsächlich ausschalten. Wenn Sie hier schauen und das CMV kann, können
Sie sehen, oder wir müssen dies ändern. Eine virtuelle Kamera. Da gehst du. So, jetzt können Sie sehen, dass, wenn wir auf die Spielfensteranleitung drücken, Sie sehen, dass sie alle verschwinden. Und ich denke, wir müssen das kopieren, denn wenn wir aufhören zu spielen, siehst du, wie wir gesagt haben, wenn wir im Spielmodus sind, ist nichts sicher. Deshalb habe ich hier kopiert und eingefügt. Okay, gut. Dies ist etwas, das du verstehen wirst, nachdem du viele Jahre erlebt hast, all die Dinge zu verlieren, die du verändert hast. Jedenfalls. Also, was sind das für Typen? Wenn wir nach unten scrollen, können
wir hier sehen, dass wir etwas haben, das den Körper genannt wird. Und hier können Sie eine Menge Dinge optimieren und ändern. Jetzt, nochmal, werde ich nicht über alle gehen. Aber ein praktischer Weg, um zu verstehen, was all diese bedeuten, ist, indem man
zum Beispiel einfach den ganzen Weg nach oben dreht. Jetzt, wenn wir unser Spiel laufen, werden
Sie das sehen. Da gehst du. So können Sie sehen, weil wir die Dämpfung gedreht haben, dauert
es länger, bis unsere Kamera tatsächlich mit unserem Spieler einholt. Aber wenn er aus der roten Zone herauskommt, können
Sie sehen, dass es sofort folgt. Wenn wir die Dämpfung auf das y ändern, haben
wir den gleichen Effekt. Sehr nett. Lassen Sie uns das wieder in eins verwandeln. Und mal sehen, was wir sonst haben, wenn wir den Bildschirm bewegen, zum Beispiel können wir den Bildschirm bewegen. Also jetzt ist unser Spieler immer auf der rechten Seite, was etwas ist, ich bin mir nicht sicher, wie Sie es benutzen werden, aber es könnte nützlich sein. Wir können den Abstand der Kamera ändern, aber nichts passiert. Vielleicht liegt das daran, dass Sie es nur verwenden können, wenn es in 3D ist. Wir können die Totzone ändern und versuchen, zu sehen, wie das funktioniert. Also, wenn sich unser Spieler nur ein wenig bewegt, können
Sie sehen, dass die Kamera nicht folgt. Aber sobald er außerhalb der Totzone kommt, kann
man sehen, dass die Kamera beginnt zu folgen. Und das ist ein sehr raffinierter Trick, den Sie verwenden können, um Ihre Kamera zu implementieren. Drehen wir das auf 0 zurück. Als Nächstes, was haben wir sonst noch? Wir haben andere Dinge. Also, wenn Sie sich bewegen, ich bin mir nicht sicher, die weiche Zone 0. So ist die südliche Zone, zum Beispiel, sagen wir, die Dämpfung ist zurück auf 20. Sie können sehen, dass die roten Linien sehr weiter entfernt sind. Also jetzt, obwohl wir außerhalb der Linien sind, braucht
die Kamera Zeit, um mit unserem Spieler einzuholen. Ich denke, das ist etwas, das wir auch auf 0,8 zurückkehren wollen, die eine, warum Dämpfung auf eins. Wie Sie sehen können, gibt es viele Optionen. Es gibt auch Lärm und Ziel, und Sie können sogar Erweiterungen hinzufügen, die ich empfehle, zu gehen und zu versuchen Forschung. Und jetzt, da wir eine Follow-Cam hinzugefügt haben, lassen Sie mich einfach die Fensterführung ausschalten. Ich denke, dass derjenige, den wir standardmäßig bekommen haben, gut genug für unser Spiel für jetzt ist. Ich will es nicht viel komplizieren, aber es ist Zeit für deine Herausforderung. Ihre Herausforderung wird es sein, Ihre Cinna Maschine zu optimieren. Spielen Sie also mit den Einstellungen herum und finden Sie heraus, wo sich Ihr Sweet Spot befindet oder wie Sie möchten, dass die Kamera Ihrem Spieler folgen soll. Eine gute Faustregel, wie Sie gerade gesehen haben, wenn Sie nicht lesen möchten, was jede Einstellung tut, ist nur, eine auf das Maximum zu setzen und auszuprobieren. Sie haben also Zweifel daran, was dieses Ding tut. Stellen Sie es auf das Maximum ein. Spielen Sie herum, sehen Sie, was passiert und haben Sie Spaß. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung, und vergessen Sie nicht, Ihre Repos zu speichern. Und wir sehen uns im nächsten Video.
24. Cinemachine: Willkommen zurück meine Spiele-Entwickler zu einem der größten Videos und diesem ganzen Kurs. Aber wir haben viel gelernt. Wir haben etwas über Cinna Maschinenkombinatoren erfahren. Wir haben etwas über Schichten gelernt. Physikalische Ebene ist nicht die alten Sortierebenen. Wir haben gelernt, Objekte des Typs zu finden. Wir haben gelernt, Komponenten zu bekommen. Also brauche ich Ihre volle Konzentration und um, sagen
wir, 16 Minuten vielleicht Ihrer Zeit. Vergeuden wir also keine Zeit mehr. Dies ist ein sehr wichtiges Video und lasst uns anfangen. Oh, jetzt, wenn wir spielen,
sehen, dass wir unsere Follow-Cam haben und alles funktioniert gut. Aber das Problem ist, dass wir, wenn wir an den Rand kommen, diese blauen Quadrate hier sehen. Und das wollen wir nicht. Wir wollen unseren Spieler nicht aus der Erfahrung nehmen. Wenn er sehen kann, was außerhalb der Grenzen unseres Spiels ist, wird
er verstehen, dass es wieder ist. Und wie Sie wissen, wann immer Sie eine Störung im Spiel sehen und Sie erkennen, oh, das ist ein Spiel. Es bringt Sie wirklich aus der Erfahrung. Also müssen wir das in Ordnung bringen. Wie beheben wir das? Wir müssen unsere virtuelle Kamera einschränken. Und die Art und Weise, wie wir das tun, ist, wenn wir hier runtergehen und die virtuelle Kamera, können
Sie sehen, dass wir Erweiterungen haben. Wenn wir also darauf klicken, werden
Sie sehen, dass wir etwas haben, das als Kinomaschine bezeichnet wird. Und wie ich schon sagte, das sind wirklich coole Dinge, nach denen man genau hier suchen kann. Zum Beispiel, wenn Sie ein 3D-Spiel machen oder wenn Sie versuchen, einen Follow-Zoom hinzuzufügen und so weiter. Dies ist ein guter Ort, um über diese coolen Funktionen zu lesen, die Sie in der Maschine haben. Aber im Moment werden wir einen Kombinator hinzufügen. Also, da gehst du hin. Sie können sehen, dass, wenn wir eine Begrenzung wählen, ein neues Spielobjekt oder eine neue Komponente zur virtuellen Kamera hinzugefügt wird, eine Komponente. Also, was machen wir hier drin? Nun, Sie können sehen, dass wir eine Begrenzungsform brauchen. Wie fügen wir eine Begrenzungsform hinzu? Wir haben mit einem Collider 2D hinzugefügt. Also gehen wir zur Hintergrundebene. Wir fügen eine Komponente hinzu. Und sagen wir, wir wollen einen Box-Collider hinzufügen, und ich werde Ihnen zeigen, warum das nicht funktioniert. Wenn wir nun zur virtuellen Kamera zurückkehren und versuchen, das Hintergrundbild zu ziehen, können
Sie hier sehen, dass wir eine Warnung haben, dass es ein Polygon-Collider oder
ein zusammengesetzter Collider sein muss . Also gehen wir zurück in den Hintergrund. Lassen Sie uns diese Box Collider entfernen und fügen Sie einen Polygon Collider 2D. Und was ist der Unterschied zwischen einem normalen Collider und dem Polygon-Collider? Nun, wie Sie sehen können, ist der Polygon-Collider viel flexibler, wenn Sie
Objekte oder einen Collider um ein Objekt hinzufügen möchten , das nicht wirklich ein Quadrat oder ein Kreis oder irgendetwas anderes
ist. Sie können sehen, Sie können es mit jeder Form erstellen, die Sie wollen. Und wenn Sie eine dieser Seiten löschen möchten, können
Sie einfach die Kontrolle gedrückt halten. Und da gehen wir hin. Sie können sehen, dass wir nicht alles löschen können. Und lassen Sie uns einfach sicherstellen, dass es hier um die Kanten und nicht mehr ist. Okay, toll, also jetzt, wo wir den Polygon-Collider haben, speichern wir das. Lassen Sie uns den Bearbeitungsmodus verlassen, gehen Sie zurück und unsere virtuelle Kamera und ziehen Sie das Hintergrundbild. Lasst uns das retten. Aber jetzt wird etwas Seltsames passieren, wenn wir unser Spiel laufen. Also haben wir auf Play geklickt. Sie können sehen, dass unser Spieler gerade aus dem Bildschirm ging. Und warum ist das? Warum denkst du, oder was das Problem ist? Denkst du? Nehmen Sie sich einen Moment Zeit zum Nachdenken. Die Zeit ist um. Das Problem ist also, unser Spieler mit diesem Polygon-Collider im Hintergrund interagiert. Wir werden dies beheben, indem wir
eine separate Ebene für das Hintergrundbild erstellen . Und ich spreche nicht von der Sortierschicht. Wenn wir hier in die Ebenen gehen, gehen Sie zu den Editierebenen. Sie können sich daran erinnern, dass wir etwas namens Tags haben, wir haben etwas namens Sortierebenen, und wir haben auch die Ebenen. So haben wir zuvor eine Sortierebene hinzugefügt, und dies wird uns erlauben, zu sortieren, welche Bilder oben auf welchem Autorenbild. Aber jetzt werden wir tatsächlich die Ebenen verwenden und diese erlauben es uns zu interagieren oder zu bestimmen welcher Kollider mit welchem Collider interagiert oder welches physische Objekt mit welchem anderen physischen Objekt interagieren kann. Derzeit werden wir also eine Hintergrundebene erstellen. Und Sie werden sehen, dass
sich unser Player zum Beispiel auf dem Standard-Player befindet und auch unser Hintergrundbild. Wenn wir also die Ebene hier in den Hintergrund ändern, können
Sie das sehen, wenn wir zu Projekteinstellungen bearbeiten gehen. Hier unten werden Sie sehen, dass wir diese wirklich raffinierte Matrix haben. Und was bedeutet diese Matrix mir? Sie können sehen, dass wir mehrere Ebenen
direkt hier haben und einer von ihnen ist der Hintergrund, den wir gerade erstellt haben. So können Sie sehen, dass sie genau hier auf der rechten Seite sind. Einer von ihnen ist die Standardeinstellung, die unsere Spieler Schicht ist. Und wir haben auch das Wasser, wenn Sie die Re-Cast ignorieren. Aber für jetzt, was macht diese Matrix eigentlich? Es bestimmt, ob eine Ebene mit einer anderen Ebene interagiert. So zum Beispiel, die Standardeinstellung mit dem Hintergrund, sie interagieren, die Standardeinstellung mit der Benutzeroberfläche, sie interagieren und so weiter und so weiter. Wir wollen also, dass die Hintergrundebene überhaupt
nicht mit irgendetwas interagieren kann, insbesondere mit dem Player. Also, was wir tun werden, ist, dass wir diese einfach ausschalten. Wir werden das retten. Und jetzt wissen wir, dass
die Hintergrundschicht nicht mit der Standardebene interagiert. Unsere Spieler sollten also nicht von dem beeinflusst werden, was passiert, wenn er den Hintergrund berührt. Jetzt, wenn wir unser Spiel laufen, sollten
wir sehen, dass unser Spieler nicht mehr außerhalb der Grenzen der Karte ist. Aber wenn wir nach draußen
gehen, geht es dann vorbei? Nein, wie Sie sehen können,
nun, etwas ist schief gelaufen. Wir wollen auf die nächste Ebene, aber wie Sie sehen können, gehen wir jetzt, wenn wir durch das Wasser hinunter gehen, nicht mehr über die Grenzen mit unserer Kamera. Nun, unser Spieler geht immer noch nach draußen, aber keine Sorge darüber. Sie können sehen, dass unsere Kamera ihm nicht mehr folgt. Und wir können wirklich spüren, dass
die Umwelt , in der wir uns befinden, die Umwelt der ganzen Welt ist. Und das fügt wirklich eine Menge Authentizität hinzu oder gewinnen. Nun, wenn wir zum nächsten Level gehen, haben
Sie vielleicht ein kleines Problem bemerkt. Und das ist, dass wir hier keine virtuelle Kamera haben. Aber das andere Problem, wenn wir zu unserer vorherigen Szene zurückkehren, wieder, wie Sie sehen können, gibt es keine virtuelle Kamera mehr, obwohl wir sie genau hier haben. Und die Kameras, die virtuelle Kamera, aber es gibt nichts zu folgen. Die Transformation, die wir verwenden, um zu folgen, fehlt jetzt. Wie kommen wir also an diesem kleinen Problem vorbei? Nun, wir müssen einen Kamera-Controller erstellen, in dem wir auf die Center-Maschine zugreifen und auf den Spieler in unserem Spiel zugreifen oder unseren Spieler in
der Szene finden und ihn dann dieser virtuellen Kamera zuweisen, um zu folgen. Also, wie sollen wir das machen? Als erstes erstellen wir ein neues Sharp-Skript. Also gehen wir zu Create C Sharp. Dosen-Controller. Drücken Sie die Eingabetaste, warten Sie, bis es kompiliert. Und ich bin mir nicht sicher, was gerade passiert ist. Als Nächstes werden wir es unserer virtuellen Kamera hinzufügen. Jetzt hat unsere virtuelle Kamera ein Cam Controller-Skript darauf. Wir doppelklicken, öffnen es und Visual Studio. Und das erste, was wir brauchen, ist genau wie wir eine hinzugefügt, wo ist es in der Gegend Ausgang. Wir haben eine Szenenverwaltung hinzugefügt, um auf die Szenenmanager-Bibliothek zuzugreifen. Und hier werden wir auch mit Center-Maschine hinzufügen müssen. So können wir jetzt auf Komponenten auf einer einzigen Maschine zugreifen. Als Nächstes brauchen wir zwei Variablen hier drin. Einer von ihnen wird ein privater Spieler sein, und es wird ein Spieler-Ziel sein. Und du fragst dich vielleicht, Michael, warum haben wir es nicht zu einem serialisierten Feld oder einer Öffentlichkeit gemacht? Das Problem hier ist, dass wir unseren Spieler nicht manuell an das Ziel anhängen wollen. Wir wollen, dass es dynamisch in unserem Skript geschieht. Also zeige ich dir, was ich meine. Als nächstes wollen wir eine Kinomaschine, virtuelle Kameras oder Sin Maschine virtuelle Kamera, und wir werden es einfach die virtuelle Kamera nennen. Da gehst du. Speichern Sie das. Jetzt und fange an. Wir werden eine Methode verwenden, die es uns ermöglicht, ein Objekt zu finden. Und wenn wir hier in die Dokumentationen gehen, zeige
ich Ihnen, wie ein Master-Problemlöser das findet. Nehmen wir an, wir wollen den Spieler finden. Wie machen wir das? Nun, Google, wie man ein Objekt und Enter zu finden. Da gehst du. Sie können sehen, dass wir etwas haben, das Spiel Objekt Punkt finden. Wenn wir darauf klicken, werden Sie sehen, dass wir ein Spielobjekt finden können, das wir brauchen. Aber es gibt eine Mustermethode, die ich Ihnen zeigen werde, und es ist das Finden-Objekt eines bestimmten. Geben Sie Unity ein. Drücken Sie die Eingabetaste Whoa, es gibt ein endliches Objekt vom Typ. Also gib es ein. Was macht es? Nun, es gibt das erste aktive geladene Objekt zurück, das dem spezifischen Typ entspricht. Also wollen wir einen bestimmten Typ, der der Spieler ist, und Sie können sehen, wie wir es hier verwenden können. Ok, großartig. Zurück in unserem Skript und ich empfehle Ihnen, ein wenig Zeit
zu nehmen , um durch diese Methode suchen wird das Spielerziel zugreifen. Also das Spielerziel, das ist der Name der Variablen, die wir hier erstellt haben. Es wird gleich dem phi1-Objekt des Typs sein. Und nach welchem Typ wollen wir suchen? Es ist der Spieler. Indem wir also das Skript des Spielers aufrufen, erhalten
wir tatsächlich das Objekt des Spielers. Und jetzt können wir es an der Kamera befestigen. Aber bevor wir das tun, um auf die virtuelle Kamera zugreifen zu können, müssen
wir sie tatsächlich zuweisen. Und weil wir hier kein serialisiertes Feld erstellt
haben, brauchen wir eine andere Methode. Also haben wir den Controller, der an die virtuelle Kamera angeschlossen ist. Aber was wir wollen, ist, dass wir auf dieses Objekt direkt hier zugreifen wollen, was auf der folgenden Seite ist. Wir wollen auf die Kinomaschine virtuelle Kamera-Komponente zugreifen. Und wir können das tatsächlich auf eine sehr praktische Art und Weise tun. Und das ist, indem Sie die Komponente bekommen. Also mit Get Komponente, die Kino-Maschine, virtuelle Kamera. Und jetzt müssen wir nur noch den virtuellen Kamerapunkt folgen. Also greifen wir auf die Folgen zu. Und dann werden wir es als Spielerziel zuweisen. Aber nicht nur das, weil ein Spielerziel nur das Objekt ist, das wir gefunden haben, müssen
wir tatsächlich auf die Transformation zugreifen. Also lassen Sie uns das speichern und lassen Sie mich noch einmal erklären, was hier passiert. Also zuerst haben wir diese beiden Variablen erstellt, eine davon als Privat, wir können den Schwan auch privat machen, aber keine Sorge ist es. Also ein privates Spieler-Ziel und eine private virtuelle Kamera. Dann haben wir das Spielobjekt gefunden. Und warum versuchen wir, das Spielobjekt zu finden und es nicht manuell zuzuweisen? Weil wir wollen, dass es dynamisch geschieht. Wir wollen nicht in jede einzelne Szene gehen und
den Player der Kamera in jeder einzelnen Szene zuweisen , die wir dynamisch passieren wollten. Dann haben wir eine Methode verwendet, die eine Komponente erhält. Und weil der Controller auf der virtuellen Kamera ist und es eine der Komponenten ist. Wir haben eine andere Komponente, die die Kinomaschine virtuelle Kamera ist. Wir greifen darauf zu und weisen das nächste, was wir auf die folgenden zugreifen. Also hier drin können Sie sehen, dass wir eine Folge haben. Wir greifen darauf zu, mit dem rechten hier mit diesem kleinen Punkt. Und wir weisen dem Player-Ziel-HDL-Transport zu, weil wir nur das Objekt haben, nicht den tatsächlichen Transport. Okay, wenn wir das retten, geh zurück in Unity. Lassen Sie uns das als keine festlegen. Speichern Sie das Spiel. Und wir sollten genau hier sehen, dass der Spieler gefunden wurde und zugewiesen wurde. Wenn wir uns also bewegen, werden
Sie sehen, dass die Kamera unserem Spieler folgt. Aber wenn wir in die nächste Szene gehen, werden
Sie sehen, dass nichts passiert und das liegt daran, dass wir keine virtuelle Kamera haben. Also, wie sollen wir das beheben? Wir gehen in die Prefabs. Wir setzen die Kameras als Prefab, speichern das. Wir gehen zurück und Szenen in die Berge, wird die Hauptkamera löschen. Und wir holen die Prefabs und fügen die Kameras hinzu, die wir haben. Wir werden das retten. Wir gehen zurück in unsere Stadt, werden den Code ausführen. Wir gehen zu den Bergen und da gehst du. Wie Sie sehen können, haben wir eine Nachfolgekamera. Jetzt haben wir keinen Beichtstuhl, wir werden ihn später hinzufügen, aber es funktioniert. Wie ist das? Also hoffe ich, Sie genießen es. Ich hoffe, Sie speichern Ihre Repositories. Wie Sie sehen können, nimmt unser Projekt Gestalt an und es wird sehr groß. Sie sollten wirklich stolz auf sich selbst sein und wie viel Sie bisher erreicht haben. Also sehe ich dich im nächsten Video.
25. Kachel: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir lernen, wie man
Kachel-Sets aus den Scheiben-Sprite-Blättern erstellt , die wir haben. Also, was wir getan haben, ist, dass wir hier ein Sprite bekommen, ein vollständiges Bild der Kacheln, die wir verwenden wollen. Wir haben es aufgeschnitten und in Kachel-Assets umgewandelt. Und diese Vermögenswerte sind jetzt hier und unsere Fliesenpalette vorhanden. Vergeuden wir also keine Zeit mehr. Lasst uns anfangen. Oh, okay. Momentan haben
wir, wie Sie sehen können, immer mit einem Hintergrundbild gearbeitet. Es ist also ein Bild, in dem wir bereits einen vorbestimmten Pfad haben. Wir haben vorgegebene Objekte und unsere Welt. Aber das macht keinen Spaß, wenn Sie Ihre eigenen Levels erstellen möchten, es ist immer besser, eine Möglichkeit zu haben, eine Art von Fliesen zu verwenden. Vielleicht sehen wir das später, um Ihre eigene Karte mit Ihrem eigenen Layout zu erstellen. Also, wie sollen wir das machen? Nun, zuerst, mit Sprites, dann sezieren oder schneiden Sie die Sprites, und dann mit diesen geschnittenen Sprites, um Fliesen und unsere Welt zu legen, vielleicht bist du etwas verwirrt durch das, was ich gerade gesagt habe. Lassen Sie mich das ein bisschen besser erklären. Zuallererst bekommen wir unser Sprite Sheet. So wie wir das Jimmy Dämon Sprite Blatt hatten, haben
wir auch ein Sprite-Blatt für unsere Fliesen. nächste Schritt ist, dass wir die Sprites aufschneiden. Dann werden wir diese geschnittenen Sprites konvertieren und zu Kacheln Assets. Wir werden die Stil-Assets zu einer Kachelpalette hinzufügen, die es uns
ermöglicht, über unsere Szene mit einem Rasterlayout zu zeichnen. Und wir werden eine Kachelkarte mit unserem Daemon darauf haben. Nehmen Sie sich also nur einen Moment Zeit, um
den Prozess zu verstehen , denn wir werden es jetzt durchmachen. Also zurück in Unity, und hier werden wir zu Windows 2D gehen und wir werden 40 Kachel-Palette nennen. Und diese Fliesenpalette ermöglicht es uns, zu zeichnen, oder es ist wie eine Malpalette, wann immer Sie ein Bild malen möchten, das ist eine Fliesenpalette, die es uns ermöglicht, verschiedene Fliesen auf unserem C zu malen Okay, also jetzt müssen wir unsere Fliesen bekommen. Und Sie können sehen, dass in den Ressourcen, die ich Ihnen die zu verwendenden Dateien hinterlassen habe, das ist der Pfad und die Objekte, und das ist der Dateisatz, den ich verwenden werde. Wir werden später noch andere Kachel-Sets haben. Aber für jetzt, die Hose und Objekte ist, was ich verwenden werde. Also, was wir hier tun werden, ist, dass wir zu Assets gehen, wird einen neuen Ordner für die Dateien erstellen. Und hier drinnen werden wir voran gehen und den Weg und die Objekte fallen lassen. Also lassen wir es hier rein. Wie Sie sehen können, wenn wir hier doppelklicken, ist
es ein Sprite mit allen Kacheln, die wir wollen. Jetzt ist der nächste Schritt, voranzugehen und sie in Scheiben zu schneiden. Also gehen wir in den Sprite-Modus, wählen mehrere, wenden die Änderungen an. Sie gehen zum Sprite Editor. Und hier drinnen werden wir sie aufschneiden. Also glaube ich nicht, dass Automatik nicht funktionieren wird. 64 von 64. Lassen Sie uns das versuchen. Nein, wir müssen diesen Stil haben,
zum Beispiel, dieser Stein und das Gras sind in neun Stücke geraten. Also lasst uns versuchen 32 mal 32. Und ja, da gehen wir. Sie können sehen, dass es in neun Stücke geschnitten ist, und wir können es benutzen. Also werden wir auf „Bewerben“ klicken. Und jetzt werden Sie sehen, dass
wir anstelle eines einzigen Bildes alle kleinen Sprites aus unserer großen Tabellenkalkulation
ausschneiden lassen. Ok, großartig. Das sind also die ersten beiden Schritte. Der nächste Schritt besteht darin, Kachel-Assets zu erstellen und sie der Kachelpalette hinzuzufügen. Und so wie wir das tun, wenn wir zurück in Unity gehen und hier haben wir die Fliesenpalette. Also müssen wir eine neue Kachelpalette erstellen. Wir nennen das den Pfad und die Objekte. Wir werden auf Erstellen klicken, und wir gehen zu den Assets innerhalb von Kacheln. Lassen Sie uns voran und erstellen Sie einen Ordner, Pfade und Objekte. Und wir werden diesen Ordner direkt hier auswählen. Und wir ziehen auch das Sprite hier rein. Jetzt haben wir die Stilpalette erstellt, aber jetzt müssen wir das Dateiobjekt erstellen. Die Art und Weise, wie wir das tun, ist, dass wir
dieses gesamte Bild nehmen und es hier in die Kachelpalette ziehen. Wir müssen einen Ordner auswählen. Und lassen Sie uns fortfahren und den Pfad und die Objekte innerhalb der Datei auswählen. Stellen Sie also sicher, dass Sie in einem Ordner speichern, in dem Sie alle Kacheln haben können. Wählen Sie also den Ordner aus und warten Sie, bis der Import vorhanden ist. So werden jetzt die Sprites in Kachel-Assets umgewandelt. Und da gehst du hin. Wie Sie sehen können, sind dies die Kachel-Assets und Sie können
hier im Inspektor lesen , dass dies eine Kachel ist. Jeder von ihnen ist also eine Kachel und Sie können sie hier in einer Fliesenpalette sehen. Nun, da wir alles eingerichtet haben, das nächste, was zu tun ist, eine Kachelkarte zu erstellen, aber wir werden das im nächsten Video tun, weil dieses bereits zu lang ist. Und bevor ich gehe, möchte ich Ihnen eine Herausforderung stellen. Ihre Herausforderung wird also sein, Ihre eigene Kachel-Map oder Offset für jetzt zu erstellen. Importieren Sie also alle Sprites und Kacheln, die Sie für Ihr Spiel verwenden möchten. Schneiden Sie also die Tabellenkalkulationen von den Kacheln und fügen sie der Kachelpalette
hinzu, um Ihr neues Reifenset zu erstellen. Und bevor ich gehe, möchte
ich dir auch zeigen, wo ich meine Fliesensets bekomme. Das ist also mein Tabellenkalkulationsblatt. Es ist also offene Spielkunst. Wie immer ist es eine erstaunliche Ressource für alles, was Sie brauchen, um Ihre Spiele zu erstellen. Es ist von der
Autorin Sabine. Ich bin mir nicht sicher. Ich empfehle Ihnen, sie zu überprüfen. Und Sie können auch gehen, um Spielkunst zu öffnen und finden Ihren eigenen Stil Set, so dass Sie zum Stöbern gehen können, zur Kunst. Es gibt Tonnen und Tonnen von Vorurteilen, wie Sie hier sehen können, Zelda wie blocky Dungeons und so weiter. Suchen Sie also Ihre Tabellenkalkulation, Ihr bevorzugtes Sprite Blatt und verwenden Sie es, um Ihren Pfahlsatz zu erstellen. Also werde ich Sie im nächsten Video sehen, wo wir anfangen werden unsere Kacheln
auszulegen und eine Kachelkarte zu erstellen.
26. Eine Tile: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir tatsächlich eine Kachelkarte erstellt. Also lassen Sie mich jetzt einfach meinen Spieler ein wenig auf die Straße bewegen. Wenn wir unsere Spielansicht ausführen, können
Sie sehen, dass dies die Karte ist, die ich erstellt habe. Also, da gehst du hin. Sie können sehen, dass wir feste Objekte haben, mit denen wir interagieren. Wir haben Geschäfte, wir haben alles. Es gibt ein paar Dinge, die wir ändern müssen. Zum Beispiel können wir sehen, dass wir das Wasser hier drin haben. Wir haben Kartoffelsäcke und wir haben den Wasserkörper, in den wir nicht überqueren können. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay. Bevor wir also weiter in hier, wenn wir die Änderungen übernehmen wollen, nachdem wir die Kachel-Assets erstellt haben, gibt es ein kleines Problem. Wenn Sie alle Ihre Dateien bereits inszeniert oder festgeschrieben haben, ist das in Ordnung. Aber wenn nicht, empfehle ich, dass Sie alles unter den Assets,
Stilen, Pfad und Objekten ignorieren . Und warum ist das? Nun, weil ich nicht denke, dass es wirklich notwendig ist, alle Vermögenswerte zu retten. Es ist viel Platz, und ich glaube nicht, dass es sehr notwendig ist. Nur der Code und das, was innerhalb
des Spiels passiert , sind wichtiger als die tatsächlichen Bilder. Also werden wir alles unter Assets, Dateipfad
und Objekte ignorieren, die OK getroffen haben, also können wir jetzt alle unsere Dateien inszenieren und weitermachen und unsere Änderungen übernehmen. Also habe ich einen Kachelsatz erstellt. Mach dir keine Sorgen, ob du das schon getan hast. Keine Sorge. Fahren Sie einfach mit der Rückenimmunität fort. Jetzt ist es Zeit, mit dem Malen zu beginnen. Wie sollen wir mit unserer neuen Fliesenpalette malen? Nun, zuerst werden wir weitermachen und eine neue Szene erstellen. Wir gehen weiter und stellen sicher, dass es 2D ist. Speichern Sie die Änderungen. Unsere Szene hier. Und jetzt werden wir ins Spiel Objekt gehen. Wir werden in die 2D gehen und Kachel-Karte finden, stellen Sie
sicher, dass es rechteckig ist. Drücken Sie die Eingabetaste Und jetzt haben wir eine Kachelkarte. Wir können das in den Hintergrund ändern. Und Sie werden genau hier feststellen, dass die aktive Kachelkarte zum Hintergrund wird. Da gehst du. Lass uns die Szene retten. Und ich denke, wir werden das auch die Stadt nennen. Also Control S, um die Szene zu speichern. Und Zytosinen werden dies die Stadt nennen, die zu retten ist. Und jetzt haben wir ein zweites Mal. Nun, wie sollen wir hier reinziehen? Wenn wir zum Beispiel vergrößern, können
wir einen dieser Stile auswählen. Und lassen Sie uns über die Optionen sprechen, die wir hier oben haben. Wir haben, vor allem, die wählen Sie einen Bereich auf dem Gitter. Und lass mich das ein bisschen größer machen. Wir können einen Bereich im Raster auswählen, und dies ist für die Bearbeitung. Also zum Beispiel, wenn wir die Editier-Taste hier drücken, wählen Sie dieses Raster, hatte die Bewegung. Jetzt können wir diese Palette verschieben. Das wollen wir vorerst nicht. Das ist der Schritt, der gerade gesehen hat, was es getan hat. Und wir haben auch den Pinsel, und das wird uns erlauben, Dinge in unserer Welt zu malen. Also, wenn wir dies wählen, zum Beispiel diese Art von Stein, können
wir anfangen zu malen. Aber offensichtlich kann man sehen, dass die Sprites oder die Fliesen zu klein sind. Wie beheben wir das? Wenn wir in das Fliesenbad und Objekte gehen, wenn wir das große Sprite treffen, können
wir dies von 100 auf 32 ändern. Hit bewerben, und da gehst du. Wir haben die Fliesen jetzt groß genug. Wir können auch den Filtermodus ändern, um keinen Filter zu zeigen. Und das sollte unsere Fliesen etwas schärfer machen. Okay, toll, also jetzt, wo wir wissen, wie man die Farbe benutzt, als
Nächstes, um zu lernen, wie man die mit Farbe gefüllte Schachtel benutzt. Und das ermöglicht es uns, Boxen in unserem Spiel schnell zu erstellen. Wie Sie sehen können, können wir mehrere Blöcke sehr schnell malen. Ok, großartig. Als nächstes haben wir den Stuhl. Ich habe dieses Werkzeug noch nie benutzt. Es ist ein bisschen verwirrend. Und wir haben den Radiergummi
, der extrem wichtig ist. Ok, großartig. Also jetzt werden wir nur ein kleines Beispiel erstellen, nur um ein paar Dinge zu testen. Also werde ich hier eine kleine Straße schaffen. Dann müssen wir das Gras darauf hinzufügen. Wie Sie sehen können, ist dies der Block, den wir verwenden können, um Gras zu zeichnen. Also ziehen wir oben drauf, genau hier. Da gehen wir. Wir zeichnen etwas Gras darunter. Und sagen wir zum Beispiel, wir wollen eine Art Kurve machen. Also lassen Sie uns speichern, die Straße geht hier. Wie sollen wir sicherstellen, dass es authentisch aussieht? Nun, zuerst einmal fügen
wir hier ein Gras hinzu. Lassen Sie uns das Gras rechts hinzufügen. Und nach links. Aber was werden wir hinzufügen und diesen Block, oder in diesem Block? Nun, Sie können sehen, dass wir das hier haben. Also, da gehst du hin. Sie können es natürlich Kurven sehen. Aber was ist mit dem hier? Wir können weder dieses,
noch somit keinen anderen benutzen. Nun, wenn wir hier in unserer Fliesenpalette reingehen, können
wir sehen, dass wir
zum Beispiel diese Art von Gras haben . Und wenn wir hier hinzufügten, gehen wir. Wir haben eine wirklich schöne Kurve nach oben. Das wird also ein bisschen Zeit brauchen, um zu verstehen, aber sobald Sie den Dreh davon bekommen, wird
es sehr einfach werden. Also zum Beispiel, wenn Sie einen Haufen Schmutz erzeugen wollen, fügen
wir diese Art von Blockade zum Gras hinzu und dann füllen wir alles hier aus. Also jetzt haben wir eine unbefestigte Straße oder ADR, nur Schmutz auf dem Boden. Okay, das nächste ist, sagen wir, wir wollen diese Kartoffelsäcke hinzufügen, damit wir mehrere Blöcke
auswählen können und sie malen können. Aber offensichtlich stimmt etwas nicht. Der Hintergrund dieser Kartoffelsäcke ist transparent, so wie Sie sehen können, wird
es über unseren Hintergründen gemalt. Was werden wir dagegen tun? Nun, wir können eine zweite Dateizuordnung erstellen. Wenn wir also in das Raster gehen, klicken
wir mit der rechten Maustaste und gehen zum rechteckigen 2D Tile-Map. Und nennen wir das die Objekte. Also jetzt haben wir hier eine zweite aktive Kachelkarte, die die Objekte sein wird. Sie müssen immer sicherstellen, in welcher aktiven Kachelkarte Sie arbeiten. Also werde ich den Sex vorerst löschen. Ich werde die Backups hinzufügen. Das ist nicht der Dreck, nach dem wir suchen. Also fügen wir diesen Dreck wieder hier rein. Und jetzt müssen wir das Saxophon hinzufügen. Also statt Hintergrund, werden
wir zu den Objekten gehen, werden die Taschen auswählen. Und jetzt werden Sie feststellen, dass wir die Tüten malen können,
ohne Probleme oder Ungereimtheiten in unserer Welt zu haben. Und nur um sicherzustellen, dass die Objekte immer vorbei sind,
wird der Hintergrund zu den Objekten gehen, wird die Hintergrundebene als Sortierebene auswählen, und wir werden eine schreiben. Und hier gehe ich auch in den Hintergrund. Wir stellen sicher, dass es sich um einen Hintergrund in der Sortierebene und dessen Reihenfolge handelt und 0 ist. Lasst uns das retten. Und jetzt können Sie sehen, wie wir unsere Dateien erstellen können. Nun, lasst uns testen, wie diese Welt für unseren Spieler funktioniert. Also, wenn wir zurück in unsere vorherige Szene in die Stadt eins oder die reguläre Stadt gehen, gehen
wir voran und das Prefab, unser Spieler. Also, jetzt haben wir einen Spieler als Prefab und wir gehen zurück in die Szene. Es runter, wir werden die Hauptkameras entfernen und wir werden unsere eigenen Kameras hinzufügen. Das sind also die virtuellen Kameras mit einer Follow-Dose und wir werden einen Spieler hinzufügen. Also, wenn wir jetzt sparen, laufen
wir das Spiel. Sie können sehen, dass wir mit unserem Spieler bewegen können und wir haben ein Herbstlager. Großartig. Natürlich werden wir unser Spiel später erweitern oder die Karte erweitern, um es besser zu machen. Aber jetzt müssen wir etwas sehr Wichtiges tun. Und das ist sicher, dass unser Spieler
mit diesen Taschen interagiert und sich nicht nur durch sie bewegt. Und wir können weiterhin Kollider hinzufügen. Wir haben einen viel besseren Weg. Also, wie sollen wir das machen? Nun, ich werde Ihnen eine Herausforderung stellen. So fügen Sie Kollider zu festen Fliesen hinzu. Fügen Sie also einen Kachel-Map-Collider hinzu, zwei Volumenkörper. Also die Objekte kacheln Karte,
die wir hier haben müssen Sie einen Collider hinzufügen. Dann müssen Sie einen zusammengesetzten Collider hinzufügen. Ich erkläre später, was das ist. Sie müssen einen Rigid Body 2D hinzufügen und
das Spiel ausführen und feststellen, wie alles perfekt funktioniert. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also lasst uns zu den Objekten gehen. Und Sie werden feststellen, dass dies die Objekte hier sind. Wir werden eine Komponente hinzufügen und es wird ein Kachel-Map-Collider 2D jetzt sehen kann, da gehen Sie. Sie können sehen, dass die Taschen hier einen Collider auf sie haben. Und zum Beispiel, sagen wir, wir wollen hier etwas Wasser hinzufügen. Und es wird unter Gegenständen sein, weil wir uns nicht durch das Wasser bewegen wollen. Also füge ich einfach ein bisschen Wasser hinzu, und da gehst du. Also jetzt, wenn wir unser Spiel laufen, können
Sie sehen, dass wir nicht mehr auf das Wasser zu bewegen noch Wochenende gehen auf den Rücken. Ok, großartig. Also, jetzt funktioniert das perfekt, aber es gibt ein leichtes Problem. Wie Sie hier sehen können, haben
wir medizinische Logger auf diesem Gewässer. Und das nimmt viel Speicher und unseren Gewinn in Anspruch. Was wir also tun können, ist ein hinzuzufügen, wo ist es der Composite-Collider? Und Sie werden sehen, was passiert, wenn wir einen Composite-Collider 2D hinzufügen. Sie können jetzt sehen, dass ein starrer Körper 2D hinzugefügt wurde und ganze Karte, wenn wir auf die von Composite verwendet klicken, beachten Sie, was mit den Dateien oder den Kollidern auf all diesen Stilen passiert. Da gehen wir. Also jetzt, anstatt 40 Kollider zu haben, haben
wir einen einzigen Collider, der
über alle Taschen zusammengesetzt ist , oder ich meine den ganzen Körper des Wassers. Also nochmal, wenn wir den Code ausführen, werden
Sie feststellen, dass, weil wir einen starren Körper hinzugefügt haben und das meinte ich, als ich Ihnen sagte, dass alles nicht perfekt funktionieren sollte. Dies funktioniert nicht, weil der Körper fällt, weil seine Dynamik oder lassen Sie uns es kinematisch ändern. Führen Sie das Spiel aus. Und jetzt sollte alles völlig gut funktionieren. So sehr nett. Wie ich schon sagte, es ist nicht sehr kompliziert. Es ist einfacher, als Sie denken, wann immer Sie Ihre Kacheln zeichnen möchten, werden
Sie sich daran gewöhnen. Stellen Sie sicher, dass Sie immer auf der richtigen aktiven Karte sind. Stellen Sie also sicher, dass Sie Ihre Änderungen festschreiben. Erstellen Sie eine Karte, die Sie jemals gemappt sehen möchten, mit den Kacheln
, die ich Ihnen zur Verfügung gestellt habe, oder alle Versuche, die Sie auf offenen Spielekunst oder anderen Websites gefunden haben. Will das sagte im nächsten Video, Ich werde eine vorbereitet haben, die wir verwenden können und ich werde Sie dann sehen.
27. Spieler in der Karte halten: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir zunächst unsere Kameras gebunden. Wie Sie sehen können, geht die Kamera nicht mehr aus der Spielszene. Und nicht nur das, wir haben auch die Position des Spielers festgeklemmt. Wie Sie sehen können, kann
er nicht mehr außerhalb der Karte gehen, die wir erstellt haben. Also lasst uns keine Zeit mehr verschwenden und loslegen. O k. So können wir uns derzeit bewegen und unsere neue erstellen eine Kachel-Karte. Aber das Problem ist, dass der Spieler aus der Karte geht und die Kamera ihm dorthin folgt. Wie Sie sehen können, können wir außerhalb der Karte gehen und
den blauen Hintergrund hier drin sehen und das wollen wir nicht. Bevor wir das tun, wollte ich dir nur etwas zeigen, was ich getan habe. Ich habe hier einen zusätzlichen Kachelsatz hinzugefügt, der der Hintergrund für Objekte ist. Und Sie können sehen, dass es sich auf dem Hintergrund der Sortierebene befindet und Layer 2 ohne Kollider anordnen kann. Und das ist für Objekte im Hintergrund. Also meine ich Hintergrund auf dem Objekt. So zum Beispiel wollte ich ein wenig Holz auf Wasser und Schrauben auf Wasser zeichnen. Also habe ich diese Hintergrundobjekte nur dafür
oder Hintergrund auf Objekten hinzugefügt . Ich habe auch dafür gesorgt, dass ich hier auf dem Pad laufen kann. Okay, also machen wir weiter. Wie sollen wir zuerst
sicherstellen, dass die Kamera nicht außerhalb der Grenzen geht. Nun, Sie wissen bereits, dass wir einen Polygon-Collider hinzufügen müssen. So werden wir dem Hintergrund Polygon Collider 2D hinzufügen. Lassen Sie mich das einfach ganz schnell reparieren. Also werden wir das Polygon bearbeiten. Da gehst du. Setzen Sie die Kante hier hinein, und die Kante wird angezeigt. Ein Edge-Peer. Und eine Kante hier unten. Wir speichern, dass die virtuelle Kamera geöffnet wird. Und wo ist das Gesperrte? Es gibt hier eine Gefangenschaft. Ziehen wir es, speichern Sie das, und los gehst du. Jetzt haben wir einen Kombinierer. Also, wenn unser Spieler Reifen, so haben wir vergessen, sicherzustellen, dass diese Polygon-Ebene auf der Hintergrundebene ist und es nicht mit dem Player interagiert. Wieder führen wir den Code aus und wir können sehen, dass die Kamera nicht mehr außerhalb der Grenzen geht, aber der Spieler kann immer noch weg von unserer Szene. Also, wie sollen wir das beheben? Nun, wir müssen einen Weg für den Spieler zu schaffen um zu wissen, wo die Grenzen, über die er gehen kann r. So öffnen wir das Skript und das Player-Skript wird ein paar Variablen benötigen. Also brauchen wir einen privaten Vektor 3, weil wir
die Position der unteren linken Kante des Bildschirms benötigen . Und wir brauchen auch eine obere rechte Kante. Also oben rechts. Okay, jetzt haben wir beide Kanten der Karte für den Spieler zur Verfügung. Wie sollen wir die wirklich bekommen? Wir müssen also Zugriff auf die Kachelkarte erhalten, in der wir arbeiten. Um also auf die Kachelkarte zugreifen zu können, müssen
wir die Unity-Engine verwenden. Punkt-Kachel-Karten. Da gehen wir. Lasst uns das retten. Jetzt. Als nächstes müssen wir hier eine Variable erstellen,
die ein serialisiertes Feld sein wird, um die Kachelkarte zu referenzieren. Und wir nennen es einfach die Kachelkarte. Um alles sehr einfach zu halten. Vielleicht lassen Sie uns einfach die Kachelkarte so behalten, speichern Sie das. Und jetzt müssen wir sicherstellen, dass wir die richtige Kachelkarte zuweisen. Also brauchen wir den Hintergrund für unseren Spieler. Also zurück in Unity, warten Sie auf diese Krypto-Kompilierung. Geh zum Spieler. Und wo ist das Drehbuch? Da gehst du. Wir haben eine Kachel-Karte. Ziehen Sie den Hintergrund, und
speichern Sie ihn hier wieder in unserem Skript. Also, was werden wir tun? Nun, zuerst brauchen wir die Kanten. Wie kriegen wir die Ränder? Nachdem wir unseren Spieler hier initialisiert
haben, gehen wir voran und rufen die untere linke Kante an. Und es wird die Kachel-Karte Punkt lokale Grenzen, dass Männer sein. Also lassen Sie mich einfach zurückgehen und versuchen Sie
es noch einmal, damit wir den minimalen Punkt der Box lesen können. Dies ist immer gleich der Mitte erweitert. Das wird uns also die unteren Grenzen geben. Es ist unten links. Jetzt werden wir versuchen, die obere rechte Kante, und es wird die Kachel-Karte Punkt lokale Grenzen sein. Sie haben es am Maximum erraten, und das ist der maximale Punkt der Box. Okay, jetzt haben wir die obere Kante, die untere Kante, und wir können diese verwenden, um zu bestimmen, wo der Spieler gehen kann. Das machen wir im Update gleich hier. Also gehen wir in erster Linie auf den Transport der Position des Spielers zugreifen. Und wir werden eine Methode verwenden, die heißt, lassen Sie mich einfach den neuen Vektor 3 erstellen. Dies ist, wo der Spieler in der Lage zu gehen. Aber wie werden wir sicherstellen, dass die Position des Spielers nie außerhalb der Grenzen geht. Im Update behalten
wir also die Position des Spielers im Auge. Also, als er herumläuft, sagen wir, und wir haben bemerkt, dass seine Position am Rande von wo wir gehen können. Wir wollen sicherstellen, dass er diesen Punkt hier,
oder diesen Punkt genau hier oder da oben, niemals überschreiten kann . Also, wie sollen wir das machen? Es gibt eine sehr raffinierte Methode, die die Math Punktklemme genannt wird. Und Sie können sehen, was es tut. Es gibt einen Gleitkommawert zurück. Und ein Float ist das Ergebnis zwischen dem Minimal- und dem Maximalwert. So Klemme gibt einen Wert zwischen dem gegebenen Minimum und dem gegebenen Maximum. Also, was wir tun können, ist sicherzustellen, dass die Position des Spielers nie eine bestimmte geklemmte Variable überschreitet, die vom Minimum bis zum Maximum sein wird. Und Sie können mehr über Klemme und wie es funktioniert lesen. Das ist also der Wert, den wir zur Verfügung gestellt haben. Es wird die Position des Spielers sein. Das Minimum ist die untere linke Kante, und das Maximum ist die obere rechte Kante. Lassen Sie uns also voran gehen und versuchen, dies in unserem Spiel zu implementieren. Also zuerst, weil dies sehr lange Zeilen sein wird, drücken
wir die Eingabetaste und beginnen hier zu schreiben. Da wir also unsere Spieler transformieren Position einnehmen, ist
es ein Vektor drei, wie wir gelernt haben, weil wir an der X-, Y- und Z-Achse arbeiten. Das erste, was wir tun müssen, ist, dass wir die Transformationsposition des Spielers
festklemmen müssen . Und mal sehen, wie wir eigentlich Mathematik nach der Klemme schreiben können. Sie können sehen, dass wir zuerst f Punkt Klammer schreiben müssen und dann die Werte hinzufügen. Also werden wir mathematische F-Punktklammer schreiben, und wir werden die Klammern öffnen. Was ist der Wert, den wir bieten wollen? Es wird die Transformationsposition Punkt x sein. Und was ist, was ist der Minimalwert wird der untere linke Rand Punkt x sein. Und was ist der Maximalwert wird die obere rechte Kante sein, die x. Dort gehen wir und wir müssen hinzufügen Ein Komma hier drin. Nun ist das nächste, was zu tun ist, mit der y und der z-Position fortzufahren. Und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht also darin, den Rest der Klemmen zu beenden. Klemmen Sie die Position des Spielers auf dem y und auch auf dem Reißverschluss. Das ist also eine ziemlich einfache Herausforderung. Pausieren Sie das Video jetzt. Wenn Sie möchten, können Sie mehr über Klemmen und Einheit Hunde lesen und zur Herausforderung gehen. Okay, willkommen zurück. Also werde ich das zwei Mal duplizieren. Ich werde das letzte Komma entfernen. Und anstelle von Position Punkt x werde
ich die Position Punkt Y und anstelle von Position x in der Nähe von Punkt z verwenden. Und natürlich müssen wir dies auch hier ändern. Also dot y. Aber y und das z, oder z oder wie auch immer Sie es nennen, stellen Sie sicher, all das zu retten. Und wenn, lassen Sie mich das hier wieder hineinlegen, ist
die Art und Weise, wie ich dies getan habe, indem ich Tab-Shift zum Enttappen benutzte, aber das sieht organisierter aus als wenn wir alles auf eine einzige Zeile setzen und eine wirklich lange Linie hätten. Okay, also, wenn das erledigt ist, lass uns weitermachen und unser Spiel laufen und sehen, ob das funktioniert. Also werden wir das alles retten, das Spiel laufen lassen. Und jetzt, wenn unser Spieler geht, werden
Sie sehen, dass, wenn er an den Rand kommt, da Sie gehen. Er kann dort nicht mehr durchlaufen, aber es gibt immer noch ein kleines Problem, das wir verwenden. Wie Sie sehen können, kann der Spieler ein wenig außerhalb der Grenzen gehen. Und das ist nicht sehr schön, besonders wenn er unten unten ist. Wir wollen einen Weg, um sicherzustellen, dass unser Spieler immer noch in unserem Spielfenster angezeigt wird. So wie wir das tun, kann
ich einfach unser Spiel wieder in unserem Code hier drin stoppen und anfangen, wo wir gesagt haben, die untere linke Kante und die untere rechte Kante. Wir werden etwas dazu hinzufügen. Es wird also nicht nur die obere Grenze sein, ich meine, 40 untere linke Kante oder die untere Grenze. Wir werden es nur um ein kleines bisschen erhöhen. Also werde ich einen neuen Vektor 3 erstellen, und wir werden nur 0.50.5 f und 0 F auf dem Set hinzufügen. Und wir werden das Gleiche tun. Lassen Sie mich das kopieren und hier reinlegen. Also, da gehst du hin. Wir werden das retten. Also, was jetzt passiert,
um die obere rechte Kante zuzuweisen, wird die Kachel-Map zu lokalen gebundenen max. Wir bekommen die Obergrenze und wir reduzieren sie nur ein wenig. Und das hier drin sollte Minus und Minus sein. So reduzieren wir es nur ein wenig, damit der Spieler nicht die eigentliche Kante trifft. Er trifft hier oben eine Kante, die nur ein bisschen unten ist. Okay, jetzt können wir fortfahren und unseren Code ausführen und sehen, was passiert. Also, wenn unser Spieler geht, sollte er anfangen. Oh, da gehst du. So können Sie sehen, dass der Spieler stoppt, bevor er tatsächlich durchgeht. Und warum hat er sich durchgemacht? Sie können sehen, dass es daran liegt, dass die Position hier drin ist. Das ist also der Mittelpunkt der Position. Also, jetzt ist dieser kleine Abstand hier die 0,5, die wir mit dem Vektor hinzugefügt haben. Schlagen Sie das auf die untere Kante. Und da gehst du. Lassen Sie mich einfach zurück zum Spieler gegen Spieler, Spieler und die Position. Da gehst du. So können Sie sehen, dass der Spieler immer noch zeigt. Wir müssen hier vielleicht noch ein bisschen mehr hinzufügen. Lassen Sie uns die Spitze versuchen. Und wenn wir nach oben gehen, ja, da gehst du. Ich denke, wir müssen nur ein wenig oben und unten hinzufügen. Versuchen Sie also, das zu beheben. Vielleicht machen Sie das 0,8 mal hier 0,8. Lasst uns das retten. Versuchen Sie es noch einmal bei R1, bewegen Sie unseren Spieler an den Rand. Sie können sehen, es ist das Gleiche nach unten. Es braucht ein bisschen mehr nach oben. Ja, ja. Die Spitze, die ich denke, ist gut genug. Vielleicht machen wir das hier. Ich werde das Video jetzt stoppen. Und ich hoffe, dass Sie versuchen, Ihre eigenen Kanten im nächsten Video hinzuzufügen, wir werden einen Level-Manager erstellen und lernen, über Methoden in Unity. Also sehe ich dich dort. Stellen Sie sicher, dass Sie Ihre Änderungen festschreiben.
28. Ein zweites Niveau erstellen: Willkommen zurück, meine Mitspielentwickler. In diesem Video werden wir eine zweite Dateizuordnung erstellen. Wie Sie hier sehen können, haben
wir diese Karte erstellt, wir haben das Raster hinzugefügt, wir haben einen Bereich hinzugefügt, verlassen und so weiter und so weiter. Nun, ich werde nicht alles vor Ihnen tun, weil die Schritte, die wir
tun werden , extrem einfach sind und es gibt nichts Neues zu lernen. Was Sie tun müssen, sind zunächst, müssen
Sie das Mountain Sprite hinzufügen, das ich Ihnen zur Verfügung gestellt habe. Sie müssen es auf 32 einstellen, oder es hängt von Ihren Sprites ab. Sie müssen sicherstellen, dass der Sprite-Modus mehrfach ist. Sie müssen das anwenden und sicherstellen, dass der Filtermodus Punkt mehr Filter ist. Und dann müssen Sie in den Sprite Editor gehen. Sie müssen all diese aufschneiden. Und wenn Sie die gleiche Kachelkarte wie ich verwenden, müssen
Sie verwenden. Ich denke, 32 mal 32 ist die Art, wie du sie schneidest. Wenn Sie also alles in Scheiben geschnitten haben, müssen
Sie sie direkt hier zu Ihrer Kachelpalette hinzufügen. Sie müssen eine neue Kachelpalette erstellen und die gesamten Kacheln hinzufügen und hier. Also mit dem getan, das nächste, was Sie tun müssen, und das ist ein sehr wichtiger Schritt,
ist, dass Sie in den Besuch in der Stadt gehen müssen auch. Speichern Sie das. Ja, ja. Bewahren Sie sicher auf. Sie müssen das Raster vorfab. Und warum ist das so? Denn wenn Sie hier sehen, hat
das Raster den Hintergrund, die Objekte, den Hintergrund auf Objekten. Und wir haben die Polygon-Kollider und die Kachel-Map-Kollider und so weiter. Und das wollen wir nicht weiter machen. Aber der einzige Unterschied ist, dass Sie das Raster vollständig entpacken müssen. Also, was soll ich damit meine? Nehmen wir an, wir sind in den Bergen zwei, wir wollen unser Spiel beginnen. Aber wenn wir das Raster hinzufügen, zum Beispiel, wenn wir in die Prefabs gehen und wir unser Raster hinzufügen, werden
Sie feststellen, dass es das gleiche wie das vorherige ist. Und wann immer wir Änderungen daran vornehmen wollen, wird
es ein leichtes Problem geben. Das wollen wir nicht. Die Art, wie wir es auspacken, ist, dass wir mit der rechten Maustaste auf das Raster klicken, wir gehen in die Prefabs und wir wählen vollständig auspacken. So können wir jetzt Änderungen an diesem Raster vornehmen, ohne irgendwelche Arten von Fehlern zu haben. Und das ist ein sehr wichtiger Schritt. Stellen Sie sicher, dass Sie mit der rechten Maustaste klicken. Also, jetzt ist es nicht mehr. Also klicken Sie mit der rechten Maustaste, gehen Sie zum Prefab und entpacken Sie das Raster
vollständig und dann können Sie weiter arbeiten. Wieder. Eine andere Sache, die wir sicherstellen müssen, ist die, wenn Sie auf den Hintergrund klicken, werden
Sie feststellen, dass die Kanten hier irgendwie überall sein werden. Sie müssen also in den Kachel-Map-Renderer gehen, ich meine die Kachel-Map und Sie müssen die
Kachel-Map-Bounce komprimieren , nachdem Sie alle Ihre Stapel ausgeblendet haben. Also, das ist es im Grunde. Sie müssen auch den Polygon-Collider ändern, stellen Sie sicher, dass er richtig eingerichtet ist. Sie müssen das Eingeschränkte direkt hier hinzufügen. Ziehen Sie also und der Hintergrund wird später einen Weg finden, dies einfacher zu tun. Speichern Sie das. Und das ist es im Grunde. Das ist alles, was Sie tun müssen, um
eine zweite Stapelkarte im Raster auf Paket vollständig zu erstellen und mit dem Malen zu beginnen. Also mit all dem gesagt, werde
ich Ihnen eine Herausforderung stellen, denn das ist, eine
zweite oder eine zweite Szene zu schaffen , oder was auch immer Sie nennen wollen. Erstellen Sie also die Kachel-Assets aus den Sprites, stellen Sie das Raster vor, erstellen Sie eine neue Szene im Raster in der Hierarchie und entpacken Sie das Raster vollständig, damit Ihr Level nicht erstellt wird. Also pausieren Sie das Video jetzt, gehen Sie erstellen Ihr Level. Und ich sehe dich im nächsten Video, wo wir einen Level-Manager erstellen werden.
29. Levelmanager: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir die Schaffung eines Level-Manager
lernen, was es bedeutet, wenn wir Skripte delegieren wollen, wo wir verschiedene Skripte für verschiedene Dinge zu tun erstellen wollen. Wir werden auch über Methoden und öffentliche Methoden lernen und wie Skripte miteinander kommunizieren können, obwohl sie private Variablen haben. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay. So können wir derzeit sehen, dass, wenn wir unser Spiel laufen, alles gut funktioniert und wir können von einer Ebene zur nächsten bewegen. Jetzt haben wir ein kleines Problem, dass die Kamera dem Spieler nicht folgt, wenn er zum nächsten Level geht. Aber wir werden das später beheben, wenn wir While-Schleifen lernen. Moment konzentrieren wir uns auf die Erstellung eines Level-Managers. Warum brauchen wir einen Level-Manager? Nun, wenn es darum geht, Spiele zu programmieren und zu erstellen , müssen Sie immer einen Weg finden, Ihren Code zu delegieren. Wir wollen also nicht, dass unser Spieler immer alles im Auge behält. Wir wollen, dass sich unser Spieler damit befassen muss, die Grenzen unseres Levels zu finden. Wir werden also einen Level-Manager erstellen, der das für den Spieler tut und dann die Informationen der Kanten mit Methoden an den Spieler sendet. Lassen Sie uns zunächst einen Level-Manager erstellen. Also in der Hierarchie wird ein leeres Spielobjekt erstellen. Wir nennen es den Level-Manager, und wir werden seine Position 2 000
000 auf allen Seiten zurücksetzen . Als nächstes werden wir ein Skript erstellen. Also in den Skripten wird mit der rechten Maustaste ein C-Skript erstellen. Es wird die Ebene genannt werden. Und ohne Leerzeichen drücken Sie die Eingabetaste. Warten Sie auf diese Krypto-Kompilierung. Wir werden es dem Level-Manager hinzufügen und lassen Sie uns voran gehen und bevorzugen. Aber bevor wir vergessen, denn wir werden den Level-Manager und alle unsere Skripte brauchen. Nun, öffnen wir das Skript und schauen wir mal, was wir hier tun werden. Das Skript wird also dafür verantwortlich sein, zu bestimmen, was die Kanten unseres Levels sind. Also zuerst, natürlich, müssen
wir eine Datei Maps hinzufügen. Dies wird uns die Möglichkeit geben, auf Kachelkarten zuzugreifen. Als nächstes brauchen wir ungefähr die gleichen Variablen, die wir haben und den Spieler. Also kopieren wir diese einfach und fügen sie hier in den Player ein. Und lass mich das hier raufschieben, Enter, und los gehst du. Jetzt haben wir also einen Verweis auf die Kachel-Map, die untere linke Kante und die obere rechte Kante. Aber du sagst mir jetzt vielleicht, wie sollen wir zwischen ihnen kommunizieren? Oder noch davor, lassen Sie mich einfach die Last vom Spieler entfernen. Und ich habe sie gerade mit Control X bekommen und ich werde sie hier und am Anfang einfügen. Also, wenn der Level-Manager beginnt, erhält
er die Kachelkarte, die wir hier drin haben, und es legt die Grenzen davon fest. Okay, toll, also jetzt, wo wir damit fertig sind, fragst du mich vielleicht, nun, Michael, fragst du mich vielleicht, nun, Michael,
wie wird Spieler wissen, was der untere linke Rand ist und was der obere rechte Rand ist. Also, obwohl wir dieses Privat haben und diese hier drin auch privat haben, wie sollen sie kommunizieren? Nun, sie werden mit etwas kommunizieren, das als Methode bezeichnet wird. Lassen Sie mich erklären, welche Methoden sind. So wie eine Variable haben
Methoden auch eine ähnliche Struktur. Zuallererst haben wir den Zugriffstyp. Es ist die Art und Weise Zugänglichkeit unserer Methode. Können wir also nur vom selben Skript aus darauf zugreifen? Das heißt, es ist ein Privates. Wenn wir von mehreren Skripten darauf zugreifen können, bedeutet
das, dass es eine Öffentlichkeit sein wird. Als nächstes haben wir einen Rückgabetyp. So wie wir einen Variablentyp haben, haben
wir auch für eine Methode,
einen Rückgabetyp, und es kann eine Zeichenfolge und eine Ganzzahl, einen Float, zurückgeben. Wenn wir also fertig sind, die Dinge in unserer Methode zu berechnen, können
wir sie zurückgeben. Als nächstes haben wir den Namen unserer Methode. Und genau wie wir unsere Variablen nennen, haben
wir auch eine Möglichkeit, unsere Methoden zu benennen, indem wir immer jedes einzelne Wort der Methode Großbuchstaben machen. Durch Hinzufügen von Geschwindigkeit werden die a und die v großgeschrieben und wir benennen
auch immer unsere Methoden nach dem, was sie tun. So Hinzufügen von Geschwindigkeit bei Geschwindigkeit. Und schließlich ist ein sehr leistungsfähiges Werkzeug von Methoden, dass wir Parameter und an sie senden können. Wenn wir zum Beispiel zwei Dinge haben
müssen, die berechnet werden müssen, können
wir sie in den Parametern und in dem anderen Skript senden, können
wir sie berechnen. Wir werden sehen, wie das alles funktioniert, wenn wir ein Beispiel machen. Also zurück in unserem Skript hier drin, können
wir tatsächlich die Kachelkarte entfernen, weil wir sie nicht im Player benötigen. Und die using-Bibliothek, um ein wenig Speicher zu sparen. Also werden wir eine Methode und den Spieler erstellen, dass wir in der Lage sein, die untere linke Kante und die obere rechte Kante zu akzeptieren und sie zu setzen. Also werden wir eine Öffentlichkeit erstellen, weil wir es vom Level-Manager anrufen wollen. Wir werden es für nichtig machen. Und dann nennen wir es das festgelegte Limit. Und diese festgelegte Grenze wird zwei Argumente nehmen. Der erste wird ein Vektor drei sein, und es wird die untere linke oder die untere Kante zu setzen sein. Und noch eine, die die obere Kante sein wird, die gesetzt werden soll. Nun, da wir diese Variablen übergeben haben, können
wir den unteren linken Rand unseres Spielers
oder die Variable auf dem Spieler hier oben zugreifen , dieser. Und wir werden es als die untere Kante festlegen, die gesetzt werden soll. Wir machen dasselbe mit der oberen Kante. Die obere rechte Kante ist gleich der oberen Kante, die festgelegt werden soll. Großartig. Wie Sie sehen können, haben
wir eine öffentliche Methode, die keine Rückkehr hat und es heißt set limit. Beachten Sie, wie eingestellt, wie sowohl S als auch V in Großbuchstaben sind. Wir haben zwei Argumente, die hier eingesandt werden. Und wir setzen unsere Variablen basierend auf den Argumenten oder den Parametern, die an sie gesendet werden. Jetzt ist der nächste Schritt, diese Methode tatsächlich im Level-Manager aufzurufen. Und ich werde Ihnen eine Herausforderung stellen, das zu tun. Sie müssen also die Methodensatzlimits aufrufen. Gehen Sie zunächst zum Level-Manager-Skript, greifen Sie vom Player-Skript auf die Instanz zu, greifen Sie auf die Methode zu, legen Sie Grenzen fest und geben Sie ihr die Parameter. Wenn wir also endlich unsere Kanten
einstellen, muss der Level-Manager
den Methodenplayer aufrufen und ihm mitteilen, dass dies Kanten sind. Hier gehen Sie mit den Parametern. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Wie bist du damit weitergekommen? Also zuallererst werden wir auf die Instanz des Spielers zugreifen. Dann werden wir das eingestellte Limit nennen. Und hier drin müssen wir die beiden Parameter übergeben. Der erste Parameter wird also die untere linke Kante sein. Der zweite Parameter wird die obere rechte Kante sein, und wir werden das speichern. Also, was passiert, ist, wenn wir das Spiel laufen und der Level-Manager beginnt, es nimmt die untere Kante oder es berechnet die untere Kante. Es berechnet die obere Kante, es ruft den Player auf, es greift auf die Instanz zu, es setzt die Grenze, die die Methode hier ist. Es ruft also die Methode hier auf und legt beide Parameter fest. Was passiert dann, wenn wir diese Methode aufrufen, springen
wir in das Player-Skript. Wir setzen die untere linke Kante, die obere rechte Kante, und jetzt können wir sie hier verwenden. Und das ist nur eine kleine Zeile, die verwendet wird um sicherzustellen, dass alles richtig funktioniert, wird all das speichern. Und nun lasst uns in unser Spiel gehen und sehen, ob das wirklich funktioniert. Level-Manager sollte also einen Platz für uns haben, um den Hintergrund hinzuzufügen. Wir legen es hier rein, wir speichern es. Mal sehen, ob das funktioniert. Also laufen wir das Spiel und los gehst du. Ja, da gehst du. Wir können hier runter laufen. Jetzt gehen wir in die zweite Szene, die Berge. Lassen Sie uns hier auch einen Level-Manager hinzufügen. Und lassen Sie uns den Hintergrund geben. Ich sagte, das retten Sie das. Wenn wir das Spiel laufen. Mal sehen, ob wir rausgehen können. Nein, da gehst du. Wir gehen nicht durch alles. Wie cool ist das? Und eine, eine andere sehr wichtige Sache zu wissen ist, dass, wenn wir diese Variablen auf dem Spieler
speichern und der Spieler nicht zerstört wird, die Werte der Karte nicht geändert werden. Daher ist es sehr wichtig, einen Level-Manager vom Spieler getrennt zu haben. Nun, das letzte, was wir testen müssen, ist, wenn wir von der Stadt
zu, in die Berge gehen , mal sehen. Wenn wir gehen. Ja, wir können sehen, dass wir nicht die Kamera haben, die dem Spieler folgt. Wir werden das beheben, wie ich bereits sagte, mit der while-Schleife, wenn wir sie lernen. Aber wie Sie sehen können, können
wir die Kanten nicht überqueren, weder auf der oberen Kante, noch auf der linken Seite und weder unten auf dem Boden. Also, wenn das erledigt ist, hoffe
ich, Sie haben genossen. Im nächsten Video werden wir etwas über Canvas in Unity lernen. Dann sehen wir uns. Stellen Sie sicher, dass Sie Ihre Änderungen festschreiben.
30. Leinwand: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir ein verblassendes Bild erstellen. Wie Sie jetzt sehen können, haben
wir etwas, das eine Leinwand genannt wird, mit einem Bild darin. Und wenn wir spielen, werden
Sie feststellen, dass wir langsam verblassen und jetzt ist es nicht perfekt, aber zumindest funktioniert es irgendwie. Mach dir keine Sorgen darüber. Wir werden das alles in Ordnung bringen. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, jetzt, wenn wir unser Spiel laufen, wenn wir zum nächsten Level gehen, können
Sie sehen, dass es sofort ist und es sehr schnell ist. Und ehrlich gesagt wollen wir nicht, dass es so ist. Wir wollen nicht, dass es so schnell geht. Was wir wollen, ist eine Art von Ein- und Ausblenden zu haben. Und die Art und Weise, wie wir das tun, ist
ein Bild zu schaffen, ein großes schwarzes Bild hier,
das den gesamten Raum unserer Ebene oder den gesamten Raum der Kamera abdeckt . Und wenn wir auf die nächste Ebene übergehen, wollen
wir, dass dieses Bild erscheint und dann verschwindet. Also lasst uns anfangen. Zuallererst müssen wir ein Bild erstellen. Wenn wir also mit der rechten Maustaste in die Hierarchie hier klicken, gehen Sie zur Benutzeroberfläche. Wir können voran gehen und ein Bild erstellen, drücken Sie die Eingabetaste. Wie Sie sehen können, haben
wir etwas geschaffen, das eine Leinwand und ein Bild genannt wird. Und Sie werden feststellen, dass dieses Bild ein riesiges ist. Und wenn wir auf die Leinwand doppelklicken, werden
Sie feststellen, dass die Leinwand noch größer ist. Also denkst du vielleicht, warum sind sie so groß? Aber lassen Sie sich nicht irreführen. Sie sind eigentlich extrem klein. Denn wenn wir auf das Bild klicken und wir es bewegen, werden
Sie sehen, dass es im Vergleich zu unserem Spieler sehr klein ist. Während der Spieler und wir schauen in der Szene ist extrem klein im Vergleich zu dem Bild. Also was gibt, warum haben wir diese seltsame Skalierung zwischen der Leinwand und dem Spiel? Dies ist ein Weg für die Einheit, um zu wissen, wie die Dinge funktionieren. Sie zogen es vor, alles in der Benutzeroberfläche groß zu halten, damit wir es leicht kontrollieren können. Und in der Zwischenzeit wirkt
es nur auf die Kamera und alles, was davor liegt. Also mach dir keine Sorgen darüber. Nun, was wir tun werden, ist, dass wir dieses Bild verwenden und es so
ausstrecken, dass es die gesamte Leinwand bedeckt. Sie können sehen, dass je größer wir es machen, desto größer und mehr Platz füllt es. Jetzt können wir das an die Ränder bringen, aber lassen Sie mich Ihnen einen sehr coolen Weg beibringen. Wenn wir hier rechts schauen,
gibt es etwas, das als Ankerpunkt bezeichnet wird. Wenn wir also hier einklicken, können
Sie sehen, dass die Art und Weise, wie wir es verankern können, Sie diese weißen dünnen Linien bemerken. Und ich werde nicht zu tief darauf hineingehen, denn wenn ich alles in der Benutzeroberfläche erklären möchte, kann
es einen Kurs für sich selbst nehmen, aber wir werden nur die Grundlagen lernen, wenn wir Alt gedrückt halten. Und wir können sehen, dass sich alles ändert, wenn wir Alt gedrückt halten, wir klicken auf den unteren rechten Rand. Sie werden sehen, dass es sofort über alles geht. Das ist also eine sehr coole und raffinierte Art, Dinge zu tun. Im nächsten Schritt klicken wir auf das Bild und ändern die Farbe. So hier können Sie sehen, dass wir Bildfarbe haben. Wir klicken auf die Farbe und machen sie komplett schwarz. Okay, gut. Jetzt haben wir also ein schwarzes Bild vor unserem Bildschirm, das nicht verschwindet und das
natürlich ändern muss . Wie sollen wir das machen? Als erstes müssen wir eine Animation erstellen, die dies von komplett schwarz bis vollständig transparent
nimmt. Also, wie sollen wir das machen? Wenn wir in das Bild gehen, fügen Sie eine Komponente hinzu. Wir können eine Canvas-Gruppe hinzufügen. Und was diese Canvas-Gruppe tut, ist, dass Sie bemerken, dass sie ein Alpha hat. Und hier, jetzt müssen wir den Block ausschalten, neu ausschalten und das interaktionsfähige ausschalten. Und Sie können sehen, dass das Alpha auf eins ist. Aber wenn wir es nach unten ziehen, können
Sie sehen, dass es bei 0 vollständig transparent ist und dass es völlig nicht transparent ist. Ich schätze, so nennst du es. Also werden wir dies mit
Animationen manipulieren , um es einblenden und dann ausblenden. Also lasst uns anfangen. Wir werden eine Animation erstellen. Also werden wir mit der rechten Maustaste auf das Bild oder wird tatsächlich während der Animation, wir haben es verloren. Keine Sorge. Wir gehen zur Animation auf der Registerkarte „Animation“. Und lassen Sie uns einfach, lassen Sie mich das einfach bewegen, aber setzen Sie es hier neben zu gewinnen, wählen Sie das Bild, erstellen Sie eine Animation. Und wohin sollten wir mit diesem gehen in die Animationen, Bild Fading und Seite OVA-Datei gehen. Und wir werden das den Fade-Unterstrich nennen. Und so endet das Verblassen. Und wir werden eine weitere Animation erstellen. Also gehen wir hier rein und erstellen einen neuen Clip. Und das ist der Fade-Unterstrich gestoppt. Wir werden das retten. Also jetzt haben wir zwei Animationen. Wie funktioniert der Fade-Start und wie können wir ihn hier aufnehmen? Also zuerst beginnt das Fade, geht von eins zu 0. Also fangen wir bei einem an. Wenn wir zur 1 Sekunde Marke kommen, wollten
wir zu 0 gehen. Wenn wir also hier reinklicken, können
wir diesen kleinen roten Record-Button drücken. Wir können bis zum Ende gehen und wir können dies auf 0 setzen. Also, was passiert, wenn wir unser Spiel laufen? Sie können sehen, dass es von komplett schwarz bis vollständig transparent geht. Dann haben wir wieder auf diesen roten Knopf geklickt und es geht weg. Als nächstes werden wir in das Fade-Ende gehen und wir werden das komplette Gegenteil tun. Also beginnen wir bei 0, wir müssen den Aufnahme-Button drücken. Wir gehen zur 1 Sekunde Marke und wir werden es auf eins setzen. Speichern Sie das, entfernen Sie die Datensatzschaltfläche. Und jetzt, wenn wir spielen, werden
Sie feststellen, dass es von komplett transparent zu komplett schwarz geht. Ok, großartig. Nun, da wir unsere Animationen eingerichtet haben, das nächste offensichtliche, was zu tun ist, den Animator richtig einzurichten. Und dafür werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung wird es sein, das Bild zum Glauben zu bringen. Also gehen Sie in den Animator und sagte The Fate Start als Standardzustand, dann erstellen Sie einen Übergang zum Fade und es sollte
keine Exit-Zeit und eine Übergangsdauer von 0 haben . Erstellen Sie einen Triggerparameter namens Fade-Start und legen Sie ihn als Bedingung für den Übergang fest. Also pausieren Sie das Video jetzt und richten Sie den Animator ein. Okay, willkommen zurück. Wie hast du das alles bekommen? Zunächst müssen
wir den Glaubensstart festlegen, da die Standardebene oder der Standardstatus dann einen Übergang zum Fade erstellt. Und wir werden jede Beendigungszeit entfernen und wir werden die Dauer auf 0 setzen. Wir werden das retten. Dann müssen wir einen Parameter erstellen und es wird ein Trigger sein. Und das wird als Start Fading bezeichnet werden, drücken Sie Enter. Und unter der Bedingung, dass wir anfangen zu verblassen, wenn wir es tun, gehen
wir zum nächsten Level. Nun, da wir alles eingerichtet haben, der nächste Schritt darin, diesen Parameter tatsächlich auszulösen, und wir werden das im nächsten Video mit etwas sehr,
sehr Wichtigem tun , genannt Coroutinen. Dann sehen wir uns.
31. Coroutines 101: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir die Zeit ausgesetzt, bis wir die nächste Szene laden. Wie Sie sehen können, haben wir keine blinkenden schwarzen Bilder mehr, nur ein schwarzes Bild, das verblasst. Dann, wenn wir auf die nächste Ebene gehen, verblasst
es und verblasst dann zurück zu transparent. Wie cool ist das? Lassen Sie mich Ihnen zeigen, wie das tatsächlich passiert, wenn Sie die Szene betrachten. Da gehst du. Sie können sehen, wenn wir auf die nächste Ebene gehen hier, dass es nur ein wenig Zeit in Anspruch nimmt. Da gehst du. Es ist nicht mehr sofort. Es wartet 1 Sekunde. Es ist eine sehr coole Art, Dinge zu tun, also lasst uns keine Zeit mehr verschwenden. Lasst uns anfangen. Oh, okay, was wir tun werden, ist, dass wir auf
den Animator auf dem Bild zugreifen und wir werden die Animationen von dort aus starten. Aber wir wollen ein Drehbuch. Welche Skripte sollten all das kontrollieren? Ich denke, es sollte das Skript auf einer Leinwand sein, weil wir diese Canvas für viele Dinge verwenden werden. Und bevor ich es vergesse,
etwas, das wir tun müssen, und das ist hier im Canvas-Scaler. Wir müssen mit der Bildschirmgröße skalieren. Und wir werden es auf 1920 um 1080 setzen. Das ist also die ATP und diese regulären Bildschirme verwenden normalerweise um genau zu uns hier zu passen, so dass es keine Formen ändert, während wir weitermachen. Lasst uns weitermachen. Jetzt werden wir hier ein neues Skript erstellen. Ein neues C-Sharp-Skript wird also der Menü-Manager sein. Lassen Sie uns warten, bis es kompiliert und wir werden es der Leinwand geben. Also, jetzt in der Leinwand, Lassen Sie uns all das schließen. Wir haben den Menü-Manager, nicht Level-Manager. Gehen wir weiter und öffnen das. Jetzt. Das erste, was wir brauchen, ist ein Verweis auf das Bild. Also werden wir ein serialisiertes Feld vom Typ Bild erstellen. Aber leider können wir das Bild nicht verwenden, es sei denn, wir sagten die Unity Engine Dot UI. Also jetzt werden wir die Möglichkeit haben, eine Bildvariable zu erstellen. Ich hoffe, das war nicht zu schnell. Das nächste, was wir tun werden, ist, dass wir dieses Bild von D dem Schicksal hier drinnen nennen. Nun, was wir tun werden, ist, dass wir tatsächlich auf die Komponente
zugreifen, die sich auf dem Bild befindet. Und dafür werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung besteht darin, die Animator-Komponente zu erhalten. So erstellen Sie eine Methode Fade-Bild fungiert als Animator-Komponente auf diesem Bild. Stellen Sie den Trigger so ein, dass er mit dem Und ich gebe dir ein paar Hände, wenn du
die Herausforderung alleine erledigen willst und du keine Hilfe brauchst. Pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Wenn nicht. Okay, Willkommen zurück. Also lassen Sie uns voran und erstellen Sie die Methode hier. Ich glaube nicht, dass wir den Start und das Update für den Moment brauchen, nur für den Moment, wenn wir sie jemals brauchen, werden
wir sie erstellen. Also werden wir ein öffentliches Void Fade Bild erstellen. Und hier drin haben wir bereits den Zugang zum Bild Schicksal. Wir werden die Komponente erhalten, die der Animator ist. Und das ist die Komponente auf dem Bild zu verblassen. Und dann werden wir den Auslöser setzen. Jetzt. Wir werden einen kleinen Punkt hier hinzufügen und wir werden Trigger setzen. Und weil wir eine String-Referenz benötigen, müssen
wir sie immer kopieren. Wählen Sie also das Bild, gehen Sie zum Animator, beginnen Sie zu verblassen. Kopieren Sie das. Zurück hier, haben wir eingefügt und wir speichern es. Nun ist die nächste Herausforderung, wo sollten wir dieses Glaubensbild nennen? Nun, wo wollen wir es nennen? Ich denke, der beste Ort, um es zu nennen, ist in der Gegend Ausfahrt gut, ist der Ort, den wir brauchen, um es zu nennen. Also im Bereich Ausgang, wenn der Spieler eintritt, sagten
wir den Übergang, wir beginnen, die nächste Szene zu laden. Aber bevor wir das tun, gehen
wir voran und rufen die Menü-Manager-Punkt-Instanz. Okay, wir haben keine Instanz, also lassen Sie uns eine Instanz erstellen. So wie Sie ein öffentlicher Static sein werden, wenn Sie sich immer noch daran erinnern, wie wir Instanzen erstellen. Also öffentlicher statischer Typ Menü-Manager, und es wird die Instanz, Instanz sein. So schreiben Sie Instanz. Und weil wir den Start gelöscht haben. Wir erstellen den Start wieder. Sehen Sie, wie einfach das war. Instanz ist gleich diesem. Und ich glaube nicht, dass wir es vorerst zu einem Singleton-Muster machen müssen. Später müssen wir es vielleicht tun. Also jetzt zurück in der Gegend, Ausfahrt wird die Instanz, dass Schicksal MH gesetzt. Also jetzt, wenn unser Spieler in den Collider eintritt und wir stellen sicher, dass es ein Spieler ist. Wir fügen den Übergangnamen hinzu. Wir fangen an, das Bild zu verblassen und dann die nächste Szene neu zu laden. Wir werden das in unserem Spiel speichern. Lassen Sie uns laufen und es gibt ein leichtes Problem, dass Sie
feststellen , dass unser Bild verblasst, aber es scheitert weiter und Sie können es direkt hier sehen. Was ist das Problem? Wenn wir darauf klicken? Wenn wir auf die eigentliche Animation gehen hier auf die Schicksale Gedanken, Sie werden feststellen, dass es eine Schleifenzeit hat. Also werden wir einfach dieses Kontrollkästchen deaktivieren, klicken Sie auf Standard und deaktivieren Sie dieses Kontrollkästchen auch. So speichern wir das jetzt. Wir führen unser Spiel und wir verblassen nur einmal. Großartig. Wenn wir jetzt laufen, gibt es ein Problem, das ist, dass wir es nicht haben. Wenn wir hier doppelklicken und wir müssen anfangen zu verblassen, aber wir haben keinen Verweis auf das Bild. Das liegt daran, dass in der Ebene, wo ist es in der Leinwand? Okay, in der Leinwand, da gehst du. Wir haben nicht das richtige Bild zugewiesen. Jetzt, wenn wir es speichern,
jetzt, wenn wir laufen, sollte
alles gut funktionieren. Also verblassen wir uns. Wir gingen auf die nächste Ebene, und da gehst du. Wir springen sofort auf die nächste Ebene. Was ist das Problem hier? Nun, wieder, wir haben die Leinwand nicht vorgefärbt. Also führe ich dich Schritt für Schritt sehr hart durch, aber keine Sorge. Es ist gut, aus unseren Fehlern hier zu lernen. Während unser Prefab, unsere Leinwand, Da gehen wir, speichern wir das. Versuchen wir es noch einmal. Und sie sind immer noch ein kleiner Trick, der nicht funktioniert. Aber jetzt verblassen wir uns. Wir gehen, und da gehst du. Wir verblassen in die nächste Ebene. Aber es gibt immer noch ein kleines Problem, wenn Sie
bemerkt haben , dass wir sofort auf die nächste Ebene zu bewegen, wir sehen sogar das Ausblenden und unseren Gewinn. Also, wenn wir können, was ich meine ist, wir verblassen. Wir wollen nur eine Sekunde haben, damit alles wieder schwarz verblasst. Und das passiert nicht, weil wir sofort schnappen. Wie können wir das beheben? Wir wollen eine Möglichkeit, nur ein paar Sekunden zu warten, vielleicht 1 Sekunde, nur zu verblassen und dann in der nächsten Ebene verblassen, wie Magie. Die Art und Weise, wie wir das tun, ist kalte Dinge. Was ist also eine Qualität? Es ist eine Methode, die die Ausführung von
Anweisungen unterbrechen kann , bis eine bestimmte Bedingung erfüllt ist. Diese Suspensionen werden als Ertrag bezeichnet. Und unser Beispiel wird die Zeit suspendieren, bis wir die nächste Szene laden, um zu sehen, unsere, dies sollte unser Bild zu verblassen. Koroutinen. Nehmen Sie sich einen Moment Zeit, um über sie zu lesen. Sie können sie durchsuchen. Die Einheit Hunde, Ich empfehle, sie sind ein bisschen kompliziert, wenn Sie zuerst anfangen, sie zu tun, aber ich werde versuchen, Sie Schritt für Schritt zu nehmen und machen alles einfacher. Also reden wir nicht über Koroutinen. Lass uns weitermachen und sie erschaffen. Wo sollen wir sie erschaffen? Es sollte sein, wo ist es? In der Gegend, verlassen Sie. Bereich, Ausgang. Anstatt sofort die Szene zu laden, wenn der Spieler trifft, werden
wir einen Goldie verwenden. Eine Koroutine ist also vom Typ Augenzähler. Also ich Enumerator, wir werden die Ladeszene Goldstein nennen. Und hier drin werden wir ein paar Dinge tun. Sobald wir also eingeben, was Sie sehen können, haben wir eine zerquetschige Linie, weil wir einen Rückgabewert darauf haben müssen. Also, was wir tun werden, ist, dass wir nachgeben, wie ich Ihnen gesagt habe, wir müssen nachgeben, müssen neu zurückgeben. Und wir haben ein paar Bedingungen, die wir verwenden können. Einer von ihnen ist warten vier Sekunden. Und jetzt können wir ihm eine gewisse Zeit geben, die es
warten muss , bevor es alles unter tut und was will es tun? Nun, es will voran gehen und den Szenen-Manager verwenden, um die Szene zu laden. Und um diese Co-Routine zu nennen, werden
wir sagen, starten Sie Coroutine, laden, gesehen Co-Routine. Also, was passiert jetzt? Wir fangen an, unser Spieler tritt ein, wir stellen sicher, dass es ein Spieler ist. Wir setzen den Übergang, wir verblassen das Bild, wir beginnen eine Erkältung. All dies geschieht fast zur gleichen Zeit. Aber wenn wir mit einem Werben beginnen, geschieht hier die Magie. Wir geben die Methode ein. Es ist ein Augenzähler. Es erwartet eine Rendite. Also beginnt es mit dieser Zeile. Es liest die Ertragsrückgabe, neu, warten Sie vier Sekunden. Es weiß also, dass es 1 Sekunde warten muss, bevor alles andere ausgeführt wird. Lassen Sie uns sehen, dass in Aktion, wenn Sie ein wenig verwirrt sind, das Video
anhalten, schauen Sie sich das an, stellen Sie sicher, dass Sie vollständig verstehen, was los ist. Und lasst uns das testen. Also führen wir unser Spiel. Schauen wir uns den Animator an. Wir gehen, wir verblassen. Wir verblassen in der nächsten Ebene. Wie cool ist das? Also ich hoffe, Sie genossen, wenn Sie immer noch über Co-Routine verwirrt sind, empfehle
ich den Schuh wieder. Werfen Sie einen Blick auf den Code für Sie, dann atmen Sie aus. Denk darüber nach, was passiert. Verstehen Sie,
wie der Ertrag funktioniert, wie wir eine Sekunde warten, bevor wir
die Szene laden und wie das Bild ausgeblendet und eingeblendet wird. Von hier aus mit unserer Kälte, ich hoffe, Sie genießen es. Und es ist, das ist ein 10 Heck eines langen Videos, aber es ist sehr wichtig. Wir sehen uns im nächsten.
32. Abschnitt 5: Dialog UI erstellen: Willkommen zurück meine Spiele-Entwickler in diesem langen, langen Video. Aber sehr wichtig, wie Sie sehen können, haben
wir einige UI-Elemente erstellt. Wir haben hier ein Textfeld hinzugefügt, dem es sich um ein Panel handelt. Wir haben hier ein kleines Namensfeld hinzugefügt, und wir haben auch eine kleine Figur hinzugefügt, die ein Heiler ist, der in der Lage sein wird, mit uns zu reden. Also hey, Hitler, was hast du für uns? Vergeuden wir also keine Zeit mehr. Dieses Video ist sehr lang, und wir haben auch unsere eigene Schriftart erstellt, wenn Sie bemerkt haben, und lasst uns anfangen. Oh, okay, also einen Dialog zu schaffen, das erste, was wir tun müssen, da wir eigentlich einen MPC haben müssen, mit dem wir reden können. Also werden wir eine der MPC's hinzufügen, die ich Ihnen zur Verfügung gestellt habe. Und wieder, alle diese sind auf
offene Spielkunst verfügbar , so dass Sie sich selbst sehen, wann immer Sie wollen. Das ist also der RPGs Stolz Schwan. Ich habe es auf gefunden. Vielleicht können Sie es suchen und es selbst finden. Und lassen Sie uns voran und verwenden Sie die, Sie können verwenden, was Sie wollen. Lasst uns den Heiler benutzen. In diesen Primaten ist
das also eine Veränderung in der Umwelt. Also Umwelt, und wir werden diese beiden in die Umgebung hinzufügen. Und wir erstellen eine weitere Datei für die Charaktere und fügen den wandelnden Dämon und den Heiler hinzu. Lasst uns den Heiler holen. Also hier, lassen Sie uns auf den Heiler doppelklicken. Da gehst du. Er ist keine ausgezeichnete Qualität, aber er wird es vorerst tun. Wir werden es mehrfach einstellen, wird es keinen Filter machen. Hoffentlich macht das die Butt Butter. Wie Sie sehen können, lassen Sie uns voran und schneiden Sie es nach Zellengröße. Nein, das ist zu groß. Also machen wir es 32, schneiden Sie es auf. Vielleicht müssen wir es 32 an beiden Enden machen. Und nein, mal sehen, wie groß es eigentlich sein muss. Es muss also 32 mal 37 sein. Also lasst uns das versuchen. 32 mit einer Breite von 32, einer Höhe von 37. Schneide es in Scheiben. Und ich denke, wir müssen ein bisschen haben, sagen
wir einfach so, oder wissen Sie was, Wir können einfach diesen Stolz schneiden, den wir brauchen. Also brauchen wir nur diesen. Also lassen Sie mich einfach das bestehende löschen. Und ich schneide dieses einzige Sprite ein, das wir brauchen. Und da gehst du, bewerbe dich und brauchst nur dieses eine Sprite. Wir werden den Spieler nicht herumlaufen lassen. Und lasst uns bekommen, während der Heiler, der gerade da steht, Sie gehen, Hier ist er. Also ziehen wir ihn hierher in unser Spiel, das die Sortierebene als Spieler festlegt. Und wir werden es als eins sagen. Also funktioniert nicht. Warum ist das so? Oh, es funktioniert, aber er ist so verdammt winzig. Also machen wir es vier mal vier. Und ich denke, das ist eine gute Größe. Jetzt steht der Heiler hier. Und das nächste, was wir tun werden, ist, dass wir das in den Laden ändern, oder wie sollten wir ihn hier nennen. Okay, hier sind wir. Dann, da gehst du. Das ist unser Heiler. mir nicht sicher, wer ich es kapitalisiert habe. Da gehst du, Heiler. Jetzt, wenn wir unser Spiel laufen, gehen
wir zu unserem Heiler. Hey, da Heiler. Und wir müssen sicherstellen, dass wir tatsächlich rendern können. Keine Sorge darüber. Was ist das? Die 0, der Spieler ist die 0. Also lasst uns es minus eins machen. Okay, toll, lass uns das retten. Das nächste, was wir tun werden, ist, dass wir in die Leinwand gehen. Doppelklick auf die Leinwand öffnet die Leinwand, den Schwan. Also sehen wir einfach, was passiert, die Campus-Komponente auf der Leinwand. Und wir gehen weiter und klicken Sie mit der rechten Maustaste und erstellen UI-Panel. Also, wo ist es, die Tafel? Da gehst du. Also in diesem Panel werden wir
unser UI-Element setzen und es ist, wo wir all unseren Dialog haben. Jetzt werden Sie feststellen, dass es transparent ist. Wenn wir also auf die Farbe klicken und die Transparenz in vollem Umfang erhöhen, dann werden wir dieses Panel wählen, D oder das rec-Tool hier oben
drücken und wir werden es ein bisschen kleiner machen. Es geht also darum, wo unser Dialog stattfinden wird, vielleicht sogar ein bisschen kleiner. Also, da gehst du hin. Wir wollen nicht, dass es ganz weiß ist. Wir wollen einige Elemente darin haben. Gehen wir also zu der Datei, in der ich Ihnen einige UI-Elemente zur Verfügung gestellt habe. Und lassen Sie uns in die gehen, wo sollten wir sie in den Sprites erstellen Ordner setzen. Du bist es. Elemente. Und ziehen wir einfach das Panel für jetzt. Und vielleicht denke ich, ich werde einfach, ziehen
wir einfach die Schriftart jetzt auch. Ziehen wir also die Schriftart in das UI-Element, und vielleicht auch dieses. Behalten Sie es einfach hier drin. Wir werden es später benutzen. Also sehen Sie, wir haben dieses Bild und das wird unser Panel sein. Und ich werde weitermachen. Wenn wir auf das Panel klicken, werden
Sie sehen, dass wir ein Quellbild haben, wird es einfach mit diesem Banner ersetzen. Also, da gehst du hin. Hier ist unser Panel. Es sieht viel schöner aus. Wir können es auf seine native Größe einstellen. Sie können sehen, wie es aussehen sollte, aber wir werden es auf unsere Inhalte ausdehnen. Wir können eine Menge Dinge hier drinnen tun, um es ein bisschen zu ändern. Vielleicht können wir das Re-Cast-Ziel drehen, weil wir das nicht brauchen. Die Re-Cast bedeutet, dass, wenn wir können oder nicht darauf klicken. Okay, mit dem keine. Jetzt ist der nächste Schritt, um ein Textfeld in es hinzuzufügen, so wo wir einen Text können. Zunächst werden wir dieses De-Dialog-Panel nennen. Dialog-Panel. Und wir werden mit der rechten Maustaste klicken. Gehen Sie zur Benutzeroberfläche und verwenden Sie den Text, aber nicht nur den regulären, den Text Mesh Pro. Und es wird Sie bitten, Zentrale zu importieren, hatte Import Essentials. Und du wirst in nur einer Minute sehen, warum. Wir verwenden den Text Mesh Pro. Wir verwenden es, weil es uns erlaubt, unsere eigene Schriftart hinzuzufügen. Und wenn wir hier in die Schrift schauen, ist
dies die mittelalterliche Schrift und wir hätten sie wahrscheinlich extrahieren sollen. Also lasst uns das machen. Lassen Sie es uns von hier entfernen. Und im Inneren der mittelalterlichen Party, lasst uns den Ordner extrahieren. Ok. Da gehst du. Und wo wir unsere Telefone haben, ist von einer Website namens duff font.com. Und Sie können gehen und überprüfen Sie viele, viele Schriftarten. Also, was ich tat, ist, dass ich gerade geschrieben mittelalterlich und bekam all diese Optionen und entschied sich für die mittelalterliche Partei zu verwenden. Mal sehen, ob das sogar gut aussieht. Also zurück in unserem Spiel, und hier haben wir unseren Text Mesh Pro. Lassen Sie uns voran und erweitern Sie es auf alle Seiten. Wir müssen dies manuell und 0 tun. Natürlich, wenn Sie es nicht so schrumpfen wollen, können
Sie tatsächlich Alt gedrückt halten, drücken Sie auf eine der Seiten. Und da gehst du. Sie können sehen, dass wir es größer und kleiner machen können. Halten Sie also Alt gedrückt und erweitert. Okay, also wie sollen wir unsere eigene Schrift erstellen? Wenn wir in das Fenster Text Mesh Pro Font Asset Creator gehen, gibt
es uns die Möglichkeit, eine Schriftart hinzuzufügen. Also gehen wir in die mittelalterliche Party, weniger ziehen Sie es in die Schriftarten in hier und UI-Elemente. Und jetzt ziehen wir es hier in diese Quellschriftdatei, die von Atlas generiert wurde. Speichern Sie das. Es wird uns fragen, wo wir es retten wollen? Wir speichern es innerhalb der UI-Elemente Schriftart. Speichern Sie das. Jetzt können wir das Mittelalter hier reinziehen. Und wir können zum Beispiel schreiben,
Hey, hey da, wie geht's dir? Und wir ändern die Farbe in Schwarz. Und da siehst du, dass wir, hey, wie geht's dir? Lassen Sie es uns ein wenig optimieren, vielleicht machen Sie es fett. Wir können die Schriftgröße vergrößern, wenn sie nicht sehr gut aussieht. Und wir können sogar den Abstand zwischen jedem Buchstaben ändern. Also haben wir die Abstandsoption. Sehen Sie, dass wir sie trennen können oder wir können nur den Abstand zwischen den Wörtern trennen, was sehr cool ist und all dies, weil wir den Text Mesh Pro verwenden. Also vielleicht denke ich, ich mache es einfach ein bisschen oder wir machen es Auto Größe. Je mehr Wörter wir weniger Platz benötigen, können
wir vom Überlauf zu allen verschiedenen Dingen wechseln. Wir können sie in die Mitte setzen und sicherstellen, dass es in der Mitte, vertikal und horizontal und so weiter ist. Wir können sogar einige Beleuchtung hinzufügen und die Gloat Breite sind alle, all dies sind Optionen, die Sie versuchen können, herauszufinden, sehen, was passiert. Wenn wir also eine Unterlage hinzufügen, können
Sie sehen, dass wir ein bisschen eine Füllung haben. Wir können die Unterlagen erhöhen. Da gehst du. Sie können sehen, dass es viel, viel klarer ist, oder wir können es in Rot ändern, aber das wollen wir nicht. Lass es uns schwarz halten, komplett schwarz. Ok, großartig. War das fertig? Lassen Sie mich das einfach zurücksetzen und vielleicht nur vielleicht 0 oder behalten Sie die automatische Größe. Vergrößern wir es. Sie können sehen, dass wir das Minimum und Maximum einstellen können. Dies ist also nur ein kurzer Überblick darüber, wie Text Mesh Pro funktioniert und so weiter. Ok, großartig. Das nächste, was wir jetzt tun müssen, nachdem wir
unser Dialogpanel eingerichtet haben , ist, dass wir weitergehen und einen Namen setzen wollen. Wenn wir also mit jemandem reden, wissen
wir, dass er einen bestimmten Namen hat. Und das wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht darin, ein Namensfeld zu erstellen. Erstellen Sie also ein kleineres Feld oder ein kleineres Namensfeld direkt über das große Dialogfeld. Ich gebe Ihnen einen kleinen Hinweis, wie Sie das schnell machen können. Einfach duplizieren und den Textnamen richtig einstellen. Sie müssen also das Panel duplizieren es nur ein wenig kleiner über der Rückseite
machen. Und das war's. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also lasst uns in den Text kommen und hier ist eine kleine Einführung oder eine kleine Lektion darüber, wie Anker funktionieren. Ich zeige es dir, weil ich nicht sicher bin, wie ich es in Worten erklären soll. Also, wenn wir den Dialog Panel wählen, können
Sie sehen, dass, wenn wir es kleiner machen, Das erkennt geht nach draußen. Das liegt daran, dass der Anker des Textes in der Mitte ist. Wenn wir oben rechts verankert sind, werden
Sie feststellen, dass jetzt, wenn wir unser Dialogfeld verkleinern, die Wörter im Inneren bleiben. Dies ist also einer der wichtigsten Aspekte der Verwendung von Ankern und es ist sehr wichtig zu verstehen, wie sie funktionieren. Lassen Sie uns das auf der Seite und auf der Seite etwas größer machen. Und wir können auch voran gehen und erweitern den Text, so dass er das gesamte Quadrat füllt. Aber wie Sie sehen können, sehen wir nicht mehr die Seite. Also denke ich, es hier zu behalten, wird gut genug für uns sein. Also füllen wir den Leerraum mit unserem Text. Und da gehst du. Ich denke, das ist gut genug. Also, jetzt, um das Namensfeld zu erstellen, wird das Panel duplizieren. Wir nennen es das Namensfeld, Hauptfeld. Und wir werden es viel kleiner machen. Also lassen Sie mich das etwas nach oben bewegen, damit Sie sehen können der Text auf dem Namensfeld auch kleiner sein sollte. Und lasst es uns einfach hier aufstellen. Machen wir es viel, viel kleiner. Das ist also die Größe, die es sein sollte. Und der Text sollte auch viel, viel kleiner sein. Dies ist also der Vorteil der Verwendung von Autopilot, aber eindeutig ist der Text nicht mehr lesbar. Also lassen Sie mich
einfach, nur ein wenig und wir werden von der
16 durch 9 Aspekt auf die 1920 mal 1080 ändern . Und wenn Sie es nicht haben, können Sie es mit diesem Plus hinzufügen. Also 1080. Lasst uns das treffen. Und jetzt können Sie sehen, dass unsere Steuer nur ein bisschen klarer ist. Also lassen Sie mich verkleinern und alles anpassen. Und es wird Ihre Herausforderung sein, es so zu gestalten, wie Sie es wollen. Also lassen Sie mich jetzt einfach die Position anpassen und los gehst du. Das ist alles, was wir tun müssen. Wie Sie sehen können, haben wir ein Namensfeld, ein Dialogfenster erstellt. Sie passen die Größe der besteuerten entsprechend an. Wir haben auch unsere eigene Schrift erstellt. Alles, was wir jetzt tun müssen, ist, unsere Änderungen zu begehen. Also, denn ich zeige das gerne von Zeit zu Zeit. Also werden wir alles inszenieren. Wir werden dies aufrufen, ein Dialogfeld
hinzugefügt, die Änderungen festschreiben. Schauen wir uns unseren Master-Zweig an, und da gehst du. Wie erstaunlich ist das? Schließlich sehen wir, wie unser Spiel vor unseren Augen gebaut wird. Sieh mal, wie viel wir schon abgedeckt haben. Also im nächsten Video werden
wir tatsächlich kontrollieren, was in diesen beiden Boxen passiert. Dann sehen wir uns.
33. Dialog: Willkommen zurück meine Kameraden Game-Entwickler. Und in diesem Video erfahren wir mehr über Arrays. Wir werden über die Verwendung von Text Mesh Pro lernen. Und ich mache auch einen großen Fehler. Bevor wir fortfahren, ist dies der Code. Stellen Sie sicher, dass, wenn ich Ihnen sage, dass es nur Text Mesh pro, dass Sie Text viel pro UI GUI verwenden. Also mit dem alles gesagt, das ist keine Verschwendung mehr Zeit. Und lasst uns anfangen. Oh, okay, was wir wollen ist, dass wir einen Weg schaffen wollen, unseren Dialog zu kontrollieren. Dafür denke ich, dass es nur passend ist, wenn wir einen Dialog-Controller erstellen. Fügen wir einfach das Namensfeld zum Dialogfenster hinzu. Wir haben also nur ein Dialogpanel. Und lassen Sie uns in das gehen, wo es ist, wo r, das ist nah alles, weil es beginnt verwirrend
zu werden und das gleiche, aber größer zu machen. Und das etwas kleiner, einfach alles richtig aufstellen. Da gehen wir. Lassen Sie uns mit der rechten Maustaste und gehen Sie voran und erstellen Sie ein C-Skript namens Dialog-Controller. Und ich denke, wir müssen anfangen zu kreieren, okay, was ist passiert? Beginnen Sie mit dem Erstellen von Ordnern hier. So werden wir eine Ordnerspalte erstellen, die Level-Verwaltung, und lassen Sie uns gehen und den Bereich verlassen, Bereich, eingeben. Bitte hören Sie auf, das Gebiet zu machen. Geben Sie den Level-Manager ein. Komm schon. Visual Studio. Öffnen Sie sich. Ja, ja. Jetzt kenne ich deine Taktik und was sollen wir sonst noch wählen? Vielleicht der Kamera-Controller. Ich bin mir nicht sicher, was auch hinzufügen, aber jetzt lassen Sie es uns einfach behalten, damit wir weiterhin unsere Dateien organisieren. Ziehen wir den Dialog-Controller auf die Leinwand. So haben wir jetzt einen Menü-Manager und einen Dialog Controller. Und lassen Sie uns dieses Skript öffnen. Zunächst einmal, weil wir UI-Elemente manipulieren und steuern werden, benötigen
wir die Unity-Engine wi, und jetzt brauchen wir ein paar Referenzen. Die erste Referenz wird also ein serialisiertes Feld sein, wird ein Text Mesh Pro sein. Aber leider können wir Texte nicht viel Pro verwenden, es sei denn, wir verwenden Unity Engine dot text, die BI Pro. Und jetzt können wir anfangen, Textnetz pro Zeile zu verwenden. Und es wird zuerst den Dialogtext und
den Namenstext geben. Also, weil wir zwei Texte haben, wenn Sie sich an den Dialogtext erinnern, der hier drin ist, und den Namentext hier oben. Als nächstes müssen wir
ein serialisiertes Feld erstellen, das auf das Dialogfeld und
das Namensfeld verweist , damit wir sie ein- und ausschalten können. Sie sind Spielobjekte. Also das Dialogfeld und das Namensfeld. Und schließlich müssen wir ein serialisiertes Feld erstellen,
das eine Zeichenfolge sein wird, und es werden die Dialogzeilen sein. Jetzt denken Sie vielleicht, nun, in der Regel sind Dialoglinien, wie der Name schon sagt, viele Zeilen, es ist keine Dialoglinie. Sie sind viele Zeilen. Also, was können wir tun? Lass uns voran gehen und duplizieren, dass 15 davon gemacht werden. Wir müssen sie auch in 1, 2, 3 usw. umbenennen. Aber was, wenn Sie ein anderes hinzufügen möchten? Also kommen wir in den Dialog-Controller, dann noch einen. Aber Sie können jetzt sehen, wie umständlich das sein wird und überhaupt nicht angenehm ist. Aber zum Glück hat C-Sharp etwas für uns, und es sind die Arrays. Also, was sind Arrays? Arrays können Sie mehrere Objekte desselben Typs in einer einzelnen Variablen speichern. Was meine ich damit? Es ist technisch nicht eine einzelne Variable, sondern eine Liste von Variablen, die ein Array genannt wird. Also erstellen wir eine ganze Zahl, die heißt, wir haben bereits abgedeckt. Es ist eine Art von Variable, aber anstatt sie nur Ganzzahl zu benennen, fügen
wir diese beiden Klammern hier hinzu. Dies sagt C Sharp, dass wir dies als ein Array von Ganzzahlen verwenden. Wir haben den Namen, wir haben die gleiche Namenskonvention wie Variablen, und wir können innerhalb von ihnen diese Werte hinzufügen. Wie funktioniert das? Zuallererst haben wir den Typ, wir haben den Namen, und wir haben die Werte, die wir diesem Array geben. Und eine Sache zu beachten, wie wir diese Arrays indizieren, wir gehen von 0 zu 1, zu 2
zu 3, 0 ist immer der erste Index und es ist sehr wichtig, dass Sie sich an diesen genauen Schritt erinnern. Der erste Wert im Array ist immer, immer 0. Also sind die vier in der 0, Position 6 in der ersten oder der einen. 112713 und so weiter und so weiter. Wir können Arrays so groß wie wir wollen, natürlich bis zu einigen Grenzen erstellen. Wie werden wir Arrays in unserem Code implementieren? Anstatt 17 Dialoglinien Wertsachen zu schaffen, werden
wir eine einzige erstellen, die ein Array sein wird. So haben wir jetzt eine Reihe von Dialogen, die wir nutzen, um unser Dialogsystem zu schaffen. Und wir müssen auch den aktuellen Satz verfolgen. Also werden wir ein, ein weiteres serialisiertes Feld erstellen. Wir müssen dies nicht als serialisiertes Feld erstellen, aber wir wollen nur sicherstellen, dass alles funktioniert. Es wird also der aktuelle Satz in den USA sein. Hoffe, das ist, wie Sie Satz schreiben. Okay, gut. Also, jetzt haben wir alles eingerichtet. Der nächste Schritt ist, in den Dialogtext im Startpunkt txt zu gehen. Und es wird gleich dem Dialog sein, den LOC-Linien. Und eigentlich lassen Sie uns das von Biolab-Linien zu Dialogsätzen ändern. Doppelklicken Sie hier, Control R und K Dialogsätze. Ich denke, es passt klein, weil wir den aktuellen Satz verwenden. So aktueller Satz, da gehst du. Wenn wir also beginnen, wird der aktuelle Satz, den wir gesendet haben,
der Dialog oder die Texte sein , die auf dem Dialogtext erscheinen. So großartig, lassen Sie uns das testen indem wir Ihnen eine Herausforderung in ein paar Zeilen ausstellen. Sie also bei einigen Dialogzeilen zum Dialog-Controller SpielenSie also bei einigen Dialogzeilen zum Dialog-Controllermit dem aktuellen Satz herum und stellen Sie sicher, dass die Zeilen im Dialog angezeigt werden. Also gebe ich Ihnen die Möglichkeit, selbst zu erkunden, wie Arrays im Inspektor aussehen. Das ist sehr lustig und aufregend und vielleicht ein bisschen beängstigend für einige von euch. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Ich hoffe, Sie haben die Herausforderung gemacht und ich hoffe, Sie erkennen, dass Sie die Texte hier hinzufügen mussten. Also, als erstes gehen
wir auf die Leinwand. Klicken wir einfach auf dieses kleine Schloss hier. Und dies ermöglicht es uns, das Objekt
zu wählen , das wir wollen, ohne den Inspektor zu ändern. Ein sehr praktisches Werkzeug, dem ich dir erzählen sollte, bevor wir die Herausforderung gemacht haben. Ich hoffe, du bist nicht sauer. Wie auch immer, Dialog Text, ziehen wir den Text unter den Dialog. Da gehst du. Es erlaubt mir nicht, weil wir also nannten? Dialogfenster? Vielleicht sollte es der Text Mesh pro GUI sein. Ja, ich denke, so hätte es von Anfang an sein sollen. Nun, als wir das nicht beweisen wollten, entschuldigen Sie, lassen Sie mich meine Fehler schnell beheben. Und jetzt, da gehst du. Wir können das Dialogfeld hinzufügen. Mir ist klar, wie das gewesen sein muss. Du musst sehr wütend auf mich gewesen sein. Das tut mir so leid. Wieder fügen wir den Namen hinzu. Ich schwitze. So Dialogfenster und das Namensfeld. Großartig. Jetzt gehen wir weiter und fügen ein paar Sätze hinzu. So können Sie jetzt sehen, dass wir mit 0 Sätzen beginnen. Lasst uns eins hinzufügen. Hey, da. Ich bin Jimmy. Ich komme aus der Unterwelt. Früher habe ich viele Bauern getötet, wie Sie in meiner Zeit. Aber jetzt bin ich ein guter Dämon, wenn das überhaupt existiert. Wählen wir also den aktuellen Satz und wie Sie sehen können, beginnen
die Elemente bei 0. Also werden wir Element zu eins wählen. Speichern Sie das. Lasst uns unser Spiel laufen. Und du siehst, dass ich Jimmy bin. Sehr nett. Versuchen wir den aktuellen Satz, um ihn zu ändern. Lassen Sie uns versuchen, das Element 3 zu verwenden. Speichern Sie das, führen Sie unser Spiel. Und ich habe früher viele Bauern wie dich getötet. Das sieht also gut genug aus. Wenn Sie das Gefühl haben, dass die Schriftart vielleicht ein bisschen abgeschaltet ist, empfehle
ich Ihnen, eine andere Schriftart zu finden, oder Sie können mit dem Text Mesh Requisite herumspielen. Also wieder, wenn Sie den richtigen Variablennamen hier nicht verwenden, sollte
es Backslash pro GUI gewesen sein. Wenn Ihnen das begegnet ist und Sie es selbst geändert haben, dann möchte ich Ihnen nur einen Applaus geben. Sie sind erstaunlich, also hoffe ich, Sie genießen es. Im nächsten Video werden
wir mehrere Zeilen lesen. Dann sehe ich dich und werde meine Änderungen begehen.
34. Array-Eigenschaften: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir
unseren Textdialog mit unserer ganz linken Taste steuern . Also bin ich Jimmy, komm aus der Unterwelt werden verwendet, um viele Bauern wie dich zu töten, damals in meinen Tagen. Aber jetzt bin ich eine gute Art Dämonen. Und wenn wir den letzten Satz getroffen haben, geht es los. Sie können sehen, dass der Text-Dialog und verschwindet auf eigene Faust. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, Fall. Jetzt brauchen wir eine Möglichkeit, unseren Dialog zu kontrollieren und
von Satz zu Satz zu gehen ,
ohne sie jedes Mal manuell hier einzufügen zu müssen. Aber wenn wir eine bestimmte Taste drücken, entweder auf dem Bildschirm oder eine Art von Taste, die wir hier erstellen. Also lasst uns anfangen. Lassen Sie uns zunächst in unseren Dialog-Controller gehen. Und hier im Update, werden
wir sicherstellen, dass wir dies jeden Frame aktualisieren. Bevor wir also etwas tun, müssen
wir sicherstellen, dass das Dialogfeld in der Hierarchie geöffnet
ist und wie wir es überprüfen, und hier geht's. Sie können sehen,
dass es in der Hierarchie aktiv ist, d.h. definiert, ob das Spielobjekt aktiv ist und Täuschung. Und wenn Sie vergessen haben, was die Hierarchie da ist, ist
es, der Name ist hier oben. Also, wenn aktiv oder aktiv und Hierarchie, dann werden wir sehen, was wir tun wollen. Was wollen wir tun? Wir wollen einen bestimmten Input nehmen. Wie ich bereits sagte, können
wir entweder das verwenden oder wir können hier
einen Button erstellen , wenn Sie nicht wollen, einfach weiter. Also, wenn wir eine bestimmte Taste drücken, so werden wir Eingabepunkt-get Taste nach oben verwenden. Und wenn wir genau betrachten Rücksendungen true, der erste Frame der Benutzer gibt die virtuelle Schaltfläche frei. Warum benutzen wir das hier? Wenn wir hier in der Unity-Dokumentation zurückblicken, können
Sie sehen, dass es wahr ist und die virtuelle Schaltfläche ist aktiviert. Wir wollen nicht, dass der Spieler anfängt, auf etwas zu klicken. Und wenn wir zum Beispiel den Get-Button nach unten verwenden , wird das nicht funktionieren. Die Verwendung des Get-Buttons ist ein viel besserer Weg,
vor allem, wenn es um den Umgang mit dem Dialog geht, weil es manchmal vermeidet, dass der Spieler durch sie springt oder zu viel schlägt. Wie auch immer, lassen Sie uns weitermachen. Welchen Button sollten wir verwenden? Nun, wir können direkt hier in die Eingabe gehen. Also in den Projekteinstellungen bearbeiten, Input-Manager, aber haben wir Optionen? Optionen, wir haben das Feuer. Also Feuer eins ist mit der Maus 0, und ich denke, es ist die linke Maustaste, die ich glaube, ist die beste Option zu verwenden. Also lasst uns eins kopieren, feuern, schließen Sie das hier rein, fügen Sie es hier ein. Und was wollen wir jetzt tun? Das erste, was wir tun wollen, ist, dass wir
unsere jetzige Strafe nehmen und sie um eins erhöhen wollen. Wie machen wir das? Wir können sagen, dass der aktuelle Satz zum aktuellen Satz plus eins wird. Also, was passiert ist, sagen wir, wir sind, aktuelle Satz ist 0. Wir nehmen 0, wir haben zu einem hinzugefügt, und dann geben wir diesen gesamten Wert und setzen ihn innerhalb des aktuellen Satzes. Das wird also eins. Dann wieder, wenn wir wieder drücken, wird der aktuelle Satz ist eins. 12, wir geben es dem aktuellen Satz. Und als nächstes nehmen wir den Dialog Text dot txt. Und es wird das gleiche sein wie hier, was den Dialogesätzen im aktuellen Satz entspricht. Aber bevor wir weitermachen, ist
das ein bisschen umständlich zu schreiben und nicht sehr professionell. Und eine andere Möglichkeit, dies zu schreiben, besteht darin,
diese ganze Zeile zu entfernen und dann einfach das Plus dahinter hinzuzufügen. Das wird also auf die gleiche Weise funktionieren. Aber selbst es gibt einen viel besseren Weg, dies zu tun. Und wann immer wir eine 1, 2, eine beliebige Ganzzahl hinzufügen möchten, können
wir einfach den aktuellen Satz plus schreiben. Und dies wird einen zu dem aktuellen Satz hinzufügen, wenn wir feuern oder auf den Button klicken, feuern Sie einen. Und wenn das Dialogfeld in der Hierarchie aktiv ist. Und lassen Sie uns das retten. Gehen wir weiter und testen Sie das in Unity. Wenn wir also den aktuellen Satz auf 0 setzen, drücken wir die Eingabetaste. Mal sehen, was passiert. Also hey, da. Ich bin Jimmy. Ich komme aus der Unterwelt. Früher habe ich viele Bauern wie dich getötet. Ich bin ein guter Dämon. Sehr nett. Aber was passiert hier drin? Es gibt eine Art von Fehler. Und Sie bemerken, dass es jedes Mal erhöht, wenn wir auf die linke Maustaste oder die Maus 0
klicken. Und es sagt uns, dass der Index außerhalb des Bereichs liegt. Index lag außerhalb der Grenzen des Arrays. Hmm. Interessant, Lassen Sie uns doppelklicken und sehen, wo das Problem ist. Also, da gehst du hin. Das Problem ist hier drin. Wir versuchen, den aktuellen Satz hinzuzufügen. Wenn wir hier hineinschauen, ist der aktuelle Satz 20, während wir nur ein bis fünf Elemente haben, also sind wir außerhalb der Grenzen unseres Arrays. Und das ist ein sehr häufiger Fehler,
vor allem, wenn wir Array verwenden. Wir müssen also immer einen Weg finden, um sicherzustellen, dass wir nie die Grenzen des Arrays überschreiten. Wie sollen wir das machen? Nun, ich werde Ihnen eine Herausforderung stellen und Sie werden es beheben, weil ich zu müde bin. Erstellen Sie also eine if-Anweisung, um zu überprüfen, ob
der aktuelle Satz oder die aktuelle Zahl die Länge des Arrays überschritten hat .
Wenn dies der Fall ist, deaktivieren Sie das Dialogfeld, ich gebe Ihnen einen kleinen Hinweis. Verwenden Sie die Dialogsätze Punktlänge, um die gesamte Länge
unserer Dialogsätze zu erhalten und verwenden Sie den Dialogfeld-Punkt aktiv auf false gesetzt. Also, mit all diesen Hinweisen, pausieren Sie das Video jetzt. Dies ist vielleicht nur ein bisschen eine schwierigere Herausforderung für Sie, weil Sie die Größe der Dialogesätze Länge mit dem aktuellen Satz
vergleichen müssen . Wir können diese kleineren und größeren Größen verwenden. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also hier drinnen erhöhen wir die Größe oder die Anzahl unseres aktuellen Satzes. Also, bevor wir es tatsächlich hier reingeben, müssen
wir die if-Anweisung erstellen. Und zu wissen, wo die if-Anweisung gesetzt werden soll, war auch Teil der Herausforderung. Also, wenn der aktuelle Satz größer oder gleich dem Dialog Sätze Punktlänge ist. Dann gehen wir einfach in das Dialogfeld und wir setzen es auf false. Oder tut mir leid, ich meinte das Dialogfenster Lot aktiv auf false gesetzt. Also, was passiert hier drin? Nehmen wir an, wir kommen zur aktuellen Satznummer 5 oder je nachdem, welcher Satz vorher. Sagen wir, wir kommen zu vier. Und die Länge des Dialogsatzes beträgt fünf, weil wir 01234 haben. Wenn dann der aktuelle Satz größer oder gleich der Länge des Dialogsatzes ist, werden
wir den Dialog aktiv auf false setzen. Und wie hilft das? Nun, wenn es auf false gesetzt ist, dann ein Update, können
wir nicht mehr eingeben, wenn Bedingung, weil es nicht mehr aktiv ist und die Hierarchie, Lassen Sie uns dies testen und sehen, ob es funktioniert. Aber bevor wir das tun, müssen
wir auch eine else-Anweisung hinzufügen, um den Fehler zu vermeiden. Also werden wir das einfach nach oben bewegen, indem wir Alt gedrückt halten und die Pfeiltasten verwenden und Tab drücken. Also ist es auf der gleichen Einrückung. Wir werden das alles retten. Wir gehen zurück in die Unity. Wir werden den Code ausführen. Also, hey da
, der aktuelle Satz ist auf eins. Sie können es genau hier im Inspektor verfolgen. Ich bin Jimmy. Ich komme aus der Unterwelt. Früher habe ich viele Bauern getötet, aber jetzt bin ich eine gute Art Dämonen. Also, jetzt, wenn wir zum fünften gehen oder der aktuelle Satz wird fünf. Da gehst du. Wir haben vor allem keinen Fehler. Und zweitens verschwindet das Dialogfeld einfach. Und selbst wenn wir weiter drücken, ist der aktuelle Satz immer fünf. Also haben wir einen großen,
großen Fehler mit nur ein paar Zeilen Code vermieden . Ich hoffe, Sie haben die Herausforderung genossen. Ich hoffe, es war nicht zu schwer. Und wir sehen uns im nächsten Video.
35. Dialog im Bereich aktivieren: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir unser System tatsächlich verbessert, so dass wir nicht mehr nur überall treffen und alles sollte funktionieren. Wir wollen nur, dass der Dialog aktiviert wird, wenn wir uns in der Nähe unseres NPC oder der MPC befinden, die tatsächlich mit uns sprechen können. Also, jetzt, wenn wir in der Nähe der MPC und wir hatten den Feuerknopf, wir können sehen, dass hey, wir können das Dialogfeld aktivieren. Wir haben es mehrmals getroffen. Da gehst du. Sie können sehen, dass wir aktiviert haben. Aber wenn wir draußen stehen, können
Sie sehen, dass das Dialogfeld nicht gedruckt wird. Wir können es nicht öffnen. Wieder. Da können Sie innerhalb der Auslöser sehen, können wir, draußen, können wir. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, also haben wir bereits eine Art Dialogsystem geschaffen,
aber wir wollen nicht, dass es immer hier drin ist und immer überall kontrolliert wird,
wo auch immer unser Fitnessstudio Ödem und Spaziergänge. Wir wollen es nur auslösen, wenn wir uns in
der Nähe eines der MPC befinden , mit dem wir eigentlich reden können. Also, dafür werden wir in den Heiler gehen, werden es zu Heiler NPC ändern. Wir werden das speichern und wir werden Toolbox Collider hinzufügen. Also wird der erste Box-Collider wie die Größe unseres MPC hier drin sein. Das ist 40 Spieler stoßen in ihn und nicht über ihn gehen. Und wir schaffen einen zweiten Box-Collider. Und dieser Box-Collider wird die Zone darstellen, in der wir mit unserem MPC sprechen können. Also schaffen wir hier eine Art große Zone, in die unser Dämon passt. So, jetzt können Sie sehen, dass in diesem Lied, wann immer wir es betreten, wir in der Lage sein, einen Dialog zu initiieren und wir müssen sicherstellen , dass es ein Auslöser ist, so dass wir den Unternehmer verwenden können, und die Ihr Spieler, die Sie verwenden können tatsächlich in die Zone eintreten. Also habe ich das in MPC geändert. Okay, danke. Das nächste, was wir tun möchten, ist, dass wir einen Skript-Handler oder einen Dialog-Handler erstellen wollen, um ihn zu unserem MPC hinzuzufügen , der den gesamten Dialog zu diesem spezifischen NPC behandelt. Um das zu tun, werden wir mit der rechten Maustaste klicken und hier erstellen wir einen Ordner. Es wird für den Dialog sein. Wir werden das Dialog-Controller-Skript hinzufügen. Und wir werden weitermachen und ein neues C-Sharp-Skript erstellen. Der Dialog-Handler. Warten Sie, bis das kompiliert ist. Und okay, also fügen wir es dem Heiler MPC hinzu. Da gehst du. Sie können sehen, dass wir die Box Collider Sprite-Renderer, der zweite Box-Collider und der Dialog-Handler haben. Lasst uns das aufmachen. Jetzt. Was machen wir hier drin? Dies ist, wo wir alle
unsere Dialoge verfolgen und dann werden wir den Dialog Controller kontaktieren, wo z also öffnen wir das Skript. Wir werden uns mit dem Dialog-Controller in Verbindung setzen und
ihm mitteilen , welche Dialogsätze wir verwenden müssen. Dafür brauchen wir Zugriff auf den Dialog-Controller. Und dafür brauchen wir eine Instanz. Also werde ich Ihnen eine Herausforderung stellen. Und diese Herausforderung besteht darin, eine Instanz zu erstellen. Erstellen Sie also eine Instanz des Klassendialog-Controllers. Wenn Sie bereits wissen, wie Sie das tun, pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Wenn nicht, gebe ich Ihnen ein paar Hinweise. Sie müssen eine öffentliche statische Variable
vom Typ und Dialog-Controller namens Instanzerstellen vom Typ und Dialog-Controller namens Instanz und dann die Instanz auf diese festlegen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also haben wir das schon mal gemacht. Es ist ziemlich einfach und einfach. Es ist ein öffentlicher statischer Dialog-Controller, der in der Haltung benannt wird. Und dann fangen wir an, wir werden die Instanz auf wahr setzen. Da gehst du. Also meine ich, ich meine, wahr, ich wollte das sagen. Ok, großartig. nächste Schritt ist, dass wir in den Handler gehen und zwei Variablen hier erstellen. Die erste Variable wird also eine öffentliche Zeichenfolge sein, und es werden die Sätze sein. Und der zweite ist ein privater Boolean, der Box aktivieren kann. Warum erstellen wir also die Dosenaktivierungsbox? Was ich mit dieser Variablen meine, diese boolesche Variable ist, dass, wenn wir innerhalb
der Triggerzone auf dem MPC sind , wo Z uns gesagt hat. Immer wenn wir uns innerhalb der Triggerzone befinden, können
wir die Box aktivieren. Wenn wir außerhalb der Box sind, können
wir die Box aktivieren. Also werden wir hier zwei Methoden erstellen, die sind der On Trigger, Enter 2D. Und der Arm löst Ausgang 2D aus. Wie funktionieren diese beiden Methoden? Der Trigger Enter, wir haben es bereits auf dem Area Exit verwendet, aber Sie haben den Trigger Exit noch nicht verwendet. So wissen Sie bereits, wenn wir den bestimmten Bereich betreten, der On Trigger tritt ein, wird aktiviert. Aber wenn wir diesen Triggerbereich verlassen, wird der On Trigger Exit aktiviert. Lassen Sie mich Ihnen zeigen, wie das funktioniert. Also im Inneren des Unternehmers Enter, werden
wir überprüfen, ob die Kollision mit der Schicht verglichen wird. Und obwohl dies eine String-Referenz ist, bin
ich mir ziemlich sicher, dass Sie so schreiben Player. Und hier werden wir sagen können aktivieren Box ist gleich wahr. Wenn wir uns also innerhalb des Triggerbereichs hier für den MPC befinden, dann können wir die Box öffnen. Aber wenn wir draußen sind, wir das einfach kopieren. Also, wenn wir den Triggerbereich verlassen, können
wir aktivieren Box wird falsch sein. Nur wenn wir uns innerhalb der Triggerzone befinden, können wir das Dialogfeld starten und aktivieren? Und schließlich wird ein Update eine Bedingung schaffen, wenn wir die Box aktivieren können. Und so denken Sie daran, dass dies das Zeichen dafür ist. Und so, wenn wir die Box und
den Eingabepunkt aktivieren können , bekommen Sie Taste nach unten auf dem Feuer ein. Dann gehen wir einfach voran und drucken das Debug-Punktprotokoll aus. Hey, wir können das Dialogfeld aktivieren. Also verwenden wir normalerweise den Druck, um Dinge zu debuggen, aber Print ist etwas, das tatsächlich auf die Konsole ausgedruckt während das Debug-Punktprotokoll nur für
die Entwicklung des Spiels ist und eigentlich nichts ausdruckt. Protokolle sind also besser für Entwickler und eine viel professionellere Art, Dinge zu tun. Also werden wir das retten. Wir gehen zurück in unser Spiel und dann werden wir unseren Code ausführen. So, jetzt können wir auf die Schaltfläche klicken,
sehen, dass wir nichts hier drin haben. Aber wenn wir die Zone betreten, können
Sie sehen, dass Feuer eins unbekannt ist. Warum ist das so? Bisher ist man unbekannt. Das Problem ist, den Schlüssel runter zu bekommen. Okay, also lasst uns den Knopf runter nehmen. Oh mein Gott, nimm den Knopf runter. Und das sollte jetzt funktionieren. Also wieder, wir laufen den Code, wir laufen unser Spiel. Und jetzt, wenn wir zu unserem MPC gehen, als wir das Feuer hatten, da gehst du. Hey, wir können das Dialogfeld aktivieren. Sie können sehen, wie oft es hier auf der rechten Seite genannt wird, weil der Zusammenbruch den Zusammenbruch entfernt hat. Sie werden sehen, dass sie jeweils auf einer einzigen Zeile mit ausgeblendetem gedruckt werden. Sie sind alle verkettet. Wenn ich ausziehe, werden
Sie feststellen, dass, wenn ich die Taste betätige, kein Ausdrucken des Verhaltens stattfindet. Kann die Schaltfläche aktivieren. Wenn wir drinnen sind. Da gehst du. Wir können den Button aktivieren. Jetzt im nächsten Video werden
wir das viel raffinierter machen und das
wirklich in unser Dialogsystem umsetzen. War das fertig? Ich hoffe, es gefällt dir und ich sehe dich im nächsten Video.
36. Dialog: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wie Sie sehen, wenn wir die Maustaste hatten, passiert nichts. Wenn wir zu unserem Heiler gehen und die Maustaste drücken, dann bin ich Heiler. Hey, ich bin ein Daemon namens Jimmy. Ich bin gekommen, um deine Seele zu holen. Warum bist du so gemein Jimmy? Du scheinst nett zu sein. Und das ist das ganze Gespräch. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, jetzt, da wir alles eingerichtet haben, ist
es an der Zeit,
das Dialogfeld zu aktivieren , basierend darauf, ob wir innerhalb oder außerhalb des Songs sind. Das erste, was wir tun müssen, ist, dass wir zum Dialog-Controller gehen und hier eine Methode erstellen müssen , die den Dialog aktiviert. Es wird also eine öffentliche Leere sein. Aktivieren Sie den Dialog. Das wird also den Dialog initiieren, und wir werden ihm ein Argument vorlegen. Und dieses Argument wird das String-Array der neuen Sätze sein, die verwendet werden sollen. Dies wird also offensichtlich im Dialog-Handler behandelt, aber wir werden uns später damit beschäftigen, es mehr erklären. Die Dialogsätze,
die sich auf dem Dialog-Controller befinden,sind also die sich auf dem Dialog-Controller befinden, gleich den neuen Sätzen, die verwendet
werden sollen. Und weil wir mit der Konversation beginnen, wird
der aktuelle Satz gleich 0 sein. Dies ist also die Variable, die verfolgt, auf welchem Satz wir sind. Es wird 0 sein. Und der Dialog Text Punkt Text wird gleich den Dialog Sätzen, die Sätze auf dem aktuellen Satz. Das ist also nur, um alles zu initiieren. Und schließlich müssen wir auch das Dialogfeld aktivieren. Also Dialog Punkt aktiv auf true gesetzt. Und wir werden natürlich hier auf unserem Spieler deaktivieren. Also, wo ist es? Wo befindet sich unser Canvas-Dialogfenster? Und wir werden das ausschalten. Und in Canvas ist dies das Dialogfenster. Es wird später eingeschaltet. Also sparen Sie das alles. Und jetzt werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung ist es, den Dialog zu aktivieren. Aktivieren Sie also den Dialog aus dem Dialoghandler-Skript. Verwenden Sie die Instanz des Dialog-Controllers und stellen Sie sicher, dass diese Sätze über den Parameter an die Methode übergeben werden. Und wir haben bereits festgestellt, wo Sie im Dialog-Handler Dialog-Controller-Methode aufrufen
sollten, um den Dialog zu aktivieren. Also mit dem gesagt, pausieren Sie das Video jetzt und gehen Sie die Herausforderung zu tun. Okay, willkommen zurück. Ich hoffe, Sie wussten, wie man das macht. Also im Dialog-Handler, wenn wir die Feuer eine Taste drücken und wir können die Box aktivieren, werden
wir den Dialog Controller Punkt Instanz Punkt aktivieren Dialog aufrufen. Und wir werden ihm die Sätze übergeben, die wir haben. Also speichern die Sätze das. Jetzt gehen wir zurück in Unity und sogar wir können zum Dialog-Controller gehen und diesen Brief auf privat setzen. Aber für jetzt, während es, werde
ich das auf privat setzen. Wir können den aktuellen Satz sogar privat gesagt haben, aber wir wollen nur sicherstellen, dass alles funktioniert. Auf dem NSC-Heiler haben
wir die Sätze, die wir hinzufügen möchten. Also, da gehst du hin. Wir können sagen, hey, ich meine Heiler. Also, das ist ein Gespräch, Hey, ich bin ein Daemon, der angerufen wurde oder weißt du was? Ich bin ein Daemon, der angerufen wird. Jimmy. Ich bin wegen deiner Seele gekommen. Warum bist du so gemein Jimmy? Du scheinst nett zu sein. Okay, das ist also ein kleines Gespräch zwischen Jimmy und dem Heiler. Was also jetzt passieren wird, ist, dass wir den Code ausführen werden. Dies ist also das Skript auf dem Dialog-Handler des NPC. Und auf der Leinwand sollten wir sehen, dass, hey Jimmy, wir, alles ist immer noch gleich. Aber wenn wir zum Heiler gehen, als wir den Feuerschlüssel hatten, gehen Sie hin. Hey, ich bin Heiler. Hey, ich bin ein Daemon. So können Sie sehen, dass es immer noch ein kleines Problem gibt. Wir ändern uns nicht. Wir gehen von Satz 0 zu Satz eins. Also, was ist das Problem hier drin? Nun, das Problem. Dass
wir im Dialog-Handler jeden Frame aktualisieren und
prüfen, ob die Box aktiviert werden kann und ob wir den Feuerknopf drücken. Was also passiert ist, ist, dass diese Methode jedes Mal aufgerufen wird. Und was das tut, ist es geht voran und aktiviert das Dialogfenster und setzt den aktuellen Satz wieder auf 0. Wir müssen also sicherstellen, dass wir sie nur einmal anrufen. Wie machen wir das? Wir werden hier eine weitere Bedingung hinzufügen. Also, wenn die Box aktiv ist und wir drücken die Taste Taste und den Dialog Handler. Sie werden also bemerken, dass ich ein Ausrufezeichen hinzugefügt habe. Ich sag dir, was das ist. Und der Dialog-Handler oder Dialog-Controller, Punkt-Instanz, Punkt-Dialog. Also Dialog ist, wo ist es? Das Dialogfeld ist ein serialisiertes Feld. Wir können nicht darauf zugreifen. Wir können zwei Dinge hier drinnen erledigen. Also können wir das entweder öffentlich machen und jedem Zugang dazu geben. Oder ein viel raffinierterer Weg ist, voranzugehen und einen öffentlichen booleschen Wert zu erstellen. Und ist der Dialog aktiv. Und was dies tut, ist es zurück,
Rückgabe-Dialogfeld-Punkt ist aktiv oder aktiv in der Hierarchie. Also, jetzt, wenn das Dialogfeld aktiv und Hierarchie ist, wird
dies gleich wahr sein und wir werden den Wert zurückgeben. Also, wenn Dialog Controller Punkt Instanz Punkt Dialog ist, ist Dialog. Dies hätte vielleicht Dialogfenster aktiv sein sollen. So Dialog, der den Namen Dialog aktiv ändern kann. Wenden Sie das an. Was ist das Problem? Ist der Dialog aktiv? Da gehst du. Aber was ist mit diesem kleinen Ausrufezeichen? Also, was ist der Sinn hier drin? Was machen wir eigentlich? Wir möchten sicherstellen, dass
wir den Aktivierungsdialog nicht weiter aufrufen möchten, wenn das Dialogfenster bereits geöffnet ist. Dieses kleine Ausrufezeichen sagt uns, dass, wenn das Dialogfeld aktiv ist, wahr ist, das Ausrufezeichen umkehrt. Das Dialogfeld ist aktiv. Also, wenn dieser ganze Satz wahr ist, ist
diese ganze Bedingung hier drin wahr, indem wir ein Ausrufezeichen hinzufügen, machen
wir dies in eine falsche. Also, was passiert hier drin? Wir aktivieren Kästchen aktiv. Wir hatten die Feuertaste, das Dialogfeld ist aktiv, aber aufgrund dieses Ausrufezeichens wird
diese ganze Bedingung falsch, so dass wir das Dialogfeld
nicht aktivieren. Wie cool ist das? Also nehmen Sie sich ein wenig Zeit, wenn Sie immer noch verwirrt sind, was passiert? Dieses Ausrufezeichen, invertiert dekonditioniert und mischen alles fällt oder macht alles wahr. Also mit dem gesagt, wir werden das speichern. Wir werden wieder in die Unity zurückkehren, und wir werden es noch einmal versuchen. Also werden wir den Code ausführen, wir gehen bis zum MPC, schlagen. Und da gehst du. Ich bin ein Daemon namens Jimmy. Ich bin gekommen, um deine Seele zu holen. Warum bist du so gemein Jimmy? Du scheinst nett zu sein und wir haben das Gespräch beendet. Ok, großartig. Aber wenn Sie bemerkt haben, dass etwas nicht stimmt. Also wieder, wenn ich in den Heiler gehe, traf den Schlüssel so hoch, dass ich ein Daemon bin. Also, wo ist die, hey, ich bin ein Heiler. Es zeigt sich nicht. Wenn wir hier wieder zu unserem Dialog-Controller gehen, können
wir sehen, dass wir sofort den aktuellen Satz hinzufügen, wenn
wir den Knopf drücken . Also, wie sollen wir das beheben? Nun, es ist ziemlich einfach. Wir werden nur eine Variable hier erstellen, die den Überblick behalten wird, wenn der Dialog gerade gelehrt wurde. So hat gerade ein privater boolescher Dialog begonnen. Und im Aktivierungsdialog. Und hier werden wir zum Dialog gerade begonnen gleich wahr, außer dass. Und wann immer wir auf den Feuerschlüssel stoßen, wollten
wir hier eine weitere Bedingung hinzufügen. Wenn also der Dialog gerade begonnen hat, oder was ich sagen wollte, ist, dass, wenn der Dialog nicht gerade begonnen hat, dann werden wir noch ein Plus zwei hinzufügen. Wir werden den gerade angefangenen Dialog einfach falsch machen. Okay, also lassen Sie uns das testen und ich erkläre Ihnen ein bisschen mehr. Also, jetzt laufen wir unser Spiel. Wir gehen zum Heiler, wir initiieren das Gespräch und wie Sie sehen können, haben
wir die erste Zeile nicht übersprungen und dann weiter mit unserem Gespräch. Was hier passiert ist, ist, dass wir eine Variable erstellt haben. Und wie Sie sehen können, habe ich ein Ausrufezeichen hinzugefügt. Wenn also der Dialog gerade begonnen hat, treten
wir nicht in diese Bedingung ein. Wir setzen es auf false, und wir initiieren tatsächlich die erste Codezeile hier drin, weil wir hinzugefügt haben. Was also geschah, ist, dass wir
die Dialogsteuer gesagt haben, um den aktuellen Satz zu haben, der 0 war. Aber sobald wir den Feuerknopf drücken, haben
wir wieder ein aktuelles Plus und wir ändern es. Dies wird es uns ermöglichen, zunächst einmal, wenn es nicht gerade begonnen hat, dann werden wir ein Plus hinzufügen, plus. Aber wenn es gerade erst begonnen hat, werden
wir die jetzige Strafe nicht erhöhen. Also hoffe ich, das war nicht zu verwirrend. Es ist nur eine Möglichkeit, Schaden zu mildern, wenn wir ein Gespräch beginnen. Aber es gibt immer noch zwei Probleme hier. Die erste ist, dass wir, wenn wir zu unserer Lady hier drinnen gehen, wenn wir mit ihr reden, immer noch weggehen können. Und wie Sie sehen können, reden
wir fast von einer anderen Karte mit ihr. Und das ist ein großes No-Nein. Wir müssen einen Weg finden, um unseren Dämon davon abzuhalten, sich zu bewegen. Der zweite ist, dass wir reden, aber wir wissen nicht, wer sagt: „
Hey, ich bin ein Dämon, kann eingefroren werden. Der Daemon hat das Fitnessstudio angerufen. Vielleicht hat sie das Fitnessstudio genannt. Wir wissen nicht, wer redet, also müssen wir hier einen Namen hinzufügen, aber das ist für ein anderes Video. Sie bis dahin sicher, dass Sie Ihre Änderungen festschreiben. Und wir sehen uns im nächsten Video.
37. Bewegung von Player halten: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video haben wir gedacht, oder Dämonen einige Manieren. Wenn wir jetzt mit der netten Heilerdame sprechen, können
wir nicht mehr vor ihr weglaufen und von der anderen Seite des Bildschirms schreien. Wenn wir das Gespräch nicht beendet haben, haben
wir keine Möglichkeit zu gehen. Wie Sie sehen können, können wir, wenn
wir das Gespräch beenden, gehen und schwimmen gehen und das Wasser. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, so wie wir in einem vorherigen Video behandelt haben, wollen
wir, dass unser Spieler aufhören, sich zu bewegen, wenn wir ein Gespräch mit
dem NPC führen, denn das sind gute Manieren und unser Timmy-Dämon muss gute Manieren haben. Er hat keine guten Gesprächsfähigkeiten, aber er hat Manieren. Also, wie sollen wir das machen? Wir werden einen Weg im Spieler finden müssen, um
die Bewegung zu aktivieren , wenn wir reden, und wir behandeln sie hier drin und die Geschwindigkeit. Die Art und Weise, wie wir dies stoppen, ist, indem wir Ihnen eine Herausforderung ausstellen, so dass Sie den Spieler davon abhalten, sich zu bewegen. Erstellen Sie also eine boolesche Variable und deklariert ein Skript, das die Aktivierungsbewegung sein wird, oder Sie können es nennen, welchen Namen Sie wollen. Ein Update. Überprüfen Sie, ob die Variable wahr ist, und wir werden es auf eine Geschwindigkeit von 0 setzen. Wenn also die Variable, die Aktivierungsbewegung wahr ist, sollte
die Geschwindigkeit des Spielers auf 0 gesetzt werden. Sonst wird einfach die Geschwindigkeit so halten, wie sie ist. Also pausieren Sie das Video jetzt. Nehmen Sie sich die Zeit, um diese Herausforderung zu meistern. Es ist sehr wichtig und ich sehe dich in nur ein bisschen. Oh, okay, willkommen zurück. Also das erste, was wir als
eine öffentliche boolesche Deaktivierungsbewegung tun müssen, ist gleich falsch. Wir stellen sicher, dass wir anfangen, indem wir die Aktivierungsbewegung falsch haben. Und hier, wenn wir die Schwimmer für die get Achsen horizontal und vertikal setzen, werden
wir überprüfen, ob die Deaktivierungsbewegung wahr ist. Dann gehen wir voran und greifen auf die Spieler starren Körper. Wir werden auf die Geschwindigkeit darauf zugreifen. Und um es auf wahr zu setzen, wir nicht nur sagen, dass es gleich 0 ist. Wir werden sicherstellen, dass wir es sagen, dass es ein Vektor zwei Punkt 0 ist. Warum verwenden wir das anstelle einer 0? Da Sie sehen können, dass die Geschwindigkeit hier drin ist, können
Sie lesen, dass es ein Vektor ist, zu starre Körpergeschwindigkeit. Und um es auf 0 zu setzen, müssen
wir den Faktor auf den 0 verwenden
, der anfänglich nur ein 0,
F 0, F Vektor ist . Also, was sollen wir als Nächstes tun? Nun, wir müssen einen anderen Fall hinzufügen und ihn dann genau hier einstellen. Wenn also die deaktivierte Spielerbewegung wahr ist, wird die Geschwindigkeit zu 0. Sonst stellen wir es einfach als normale Geschwindigkeit ein. Also lasst uns das testen und unseren Gewinn. Oh, wir haben das nicht aktiviert. Um sicherzustellen, dass wir das tun, müssen
wir in den Dialog Handler gehen. Ich meine, die, Entschuldigung, die Dialog-Controller. Also hier drin, der Dialog gerade aktiviert und wir müssen gehen
und zur Spielerpunktinstanz Punkt die Aktivierungsbewegung. Und wir werden es auf wahr setzen. Nun wäre es offensichtlich besser gewesen,
dies zu einer privaten Variablen zu machen und eine Methode zu erstellen, um darauf zuzugreifen. Aber um sich schneller zu bewegen, werden
wir die Instanz verwenden. Also sagen wir, dass
wir in unserem Spiel unser Spiel laufen. Jimmy geht zum NPC,
Hey, ich bin ein Heilerdämon. Und jetzt können wir uns nicht mehr bewegen. Auch wenn wir aufhören, muss
die Konversation die Deaktivierungsbewegungen deaktivieren. Also, jetzt können wir uns bewegen, aber sobald wir mit dem Gespräch beginnen, können
wir uns nicht bewegen. Aber es gibt ein kleines Problem, und das ist, dass wir uns immer noch umsehen können. Nun, wenn Sie wollen, ist dies eine coole Funktion. Wir können es behalten, aber wir wollen es jetzt nicht in unserem Fall. Also werde ich Ihnen eine Mini-Herausforderung für Sie zeigen, die Rotation des Spielers zu stoppen, während wir reden. Das ist also keine offizielle Herausforderung. Nehmen Sie sich einen Moment Zeit, pausieren Sie das Video. Tun Sie es selbst. Die Zeit ist um. Also lasst uns weitermachen. Wenn wir nicht die Aktivierung der Bewegung sind, dann können wir den Animator einstellen. Also, weil unser Drehen genau hier behandelt wird. Wenn also die Bewegung gleich eins ist und so weiter, greifen
wir auf den Animator zu. Wir setzen das letzte x, also haben wir die aktivierte Bewegung auf wahr gesetzt, dann wird diese Bedingung nicht funktionieren und wir werden nicht weniger Steuern setzen, aber das getan, gehen wir zurück in Unity. wir sicher, dass wir es retten. Nein, haben wir nicht. Also nochmal, wir müssen nur bemerken, dass ich etwas für den Asterix an der Spitze habe. Also gehen wir zum NPC, wir fangen an zu reden und los gehst du. Wir können uns nicht umdrehen. Also versuche ich, die WASD zu treffen und nichts funktioniert. Ok. Aber ein letztes Problem. Wie können wir Jimmy die Möglichkeit geben, wieder zu laufen? Nun, wir werden in den Dialog-Controller gehen. Und wenn wir prüfen, ob die aktuellen Sätze größer
sind als die Länge des Dialogs, werden
wir den Dialog aktiv auf false setzen. Und wir werden gehen und auf die Spielerpunktinstanz zugreifen, Bewegung
deaktivieren und auf false setzen. Also werden wir das retten. Wir sollten sehen, dass Jimmy
wieder laufen kann , nachdem er ein Gespräch mit der netten Dame beendet hat. Also hey, ich bin ein Heiler Dämon. Und da gehst du. Wir können wieder laufen, wenn wir versuchen, herumzulaufen, wenn wir reden. Ja, da gehen wir. So haben wir jetzt einen sehr gut erzogener Daemon. Stellen Sie also sicher, dass Sie Ihre Änderungen festschreiben. Und im nächsten Video werden
wir die Namen der Charaktere behandeln, die sprechen. Dann sehen wir uns.
38. Charakternamen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. Wenn wir jetzt zu unserem Heiler gehen, fangen wir an zu reden. Wir wissen, dass es ein Heiler ist. Also hey, ich bin Heiler. Jimmy. Hey, ich bin ein Dämon. Jimmy hat Jimmy angerufen. Jimmy redet also, er sagt, ich heiße Jimmy. Ich bin wegen deiner Seele gekommen. Warum bist du so gemein Jimmy? Wer redet? Oh, es ist der Heiler. Ok, großartig. Der Heiler sagt, du scheinst nett zu sein. Also hat Jimmy bewiesen, dass er außergewöhnliche Wege hat oder mit Heilern in der Stadt. Lassen Sie uns also keine Zeit mehr verschwenden und sicherstellen, dass wir wissen, wer die Dialogzentren sagt. Oh, okay, jetzt wollen wir den Namen jedes Charakters festlegen, der spricht. Es gibt also viele Möglichkeiten, dies zu tun, aber ich glaube, der einfachste Weg ist der folgende. Wir gehen zum Beispiel in den Heiler. Und hier drin sagen wir,
hey, ich bin ein Heiler, aber wir werden es tun, ist, dass wir einen bestimmten Charakter setzen, der alles sein kann. Es kann das Hashtag-Symbol sein. Also, während das Hashtag-Symbol, also zum Beispiel, das Hashtag-Symbol Heiler. Und was wir tun werden, ist, dass wir es irgendwo setzen. Also, jetzt spricht der Heiler. Wieder, wenn wir sicherstellen wollen, dass es der Dämon spricht, setzen
wir Jamie und hier, okay, und machen wir das nochmal. Also klicken wir hier. Und noch einen. Heiler. Warum bist du so gemein Jimmy? Du scheinst nett zu sein. Okay, jetzt kannst du sehen, dass wir Heiler haben, Jimmy, Heiler reden. Aber wie sollen wir sicherstellen, dass, wenn die Sätze rot sind, dass wir wissen, dass es ein Heiler ist. Nun, wir werden das Symbol benutzen, das wir dahinter gesagt haben. Und wir werden zwei Methoden in C-Sharp verwenden. Also der erste ist String Punkt beginnt mit, und dies erlaubt uns zu überprüfen, ob oder bestimmt, ob die String-Instanz mit einem bestimmten Zeichen beginnt. Dies ermöglicht es uns, nach dem Zeichen oder
Symbol zu suchen , das wir am Anfang des Satzes hatten. Und dann verwenden wir „Ersetzen“. Und damit ersetzen wir das Symbol durch eine Art vielleicht nur einen leeren Raum, also werden wir es loswerden, damit es nicht in unseren Namen erscheint. Lassen Sie uns voran gehen und dies umsetzen. Also eine Stunde, während es und unser Dialog-Controller eine Methode erstellen wird und hier das heißt void. Überprüfen Sie, ob Name oder Suche nach Namen. Nennen wir es den Scheck für Namen. Ich denke, es passt zu der Methode Butter und es muss nicht öffentlich sein, es kann privat sein. Ich glaube nicht, dass wir es außerhalb des Dialog-Controllers verwenden werden. So erstellen wir hier eine if Bedingung, die überprüft, ob die Dialogsätze am aktuellen Satzpunkt mit dem Hugo beginnt. Sobald wir schreiben. Ich bin mir nicht sicher, wie auch Visual Studio so schlau sein kann. Wenn es also mit dem Hashtag-Zeichen beginnt, dann werden wir Text benennen. Also haben wir schon den Namen gesagt, der dort oben besteuert wird. Der Punkttext entspricht den Dialogsätzen des aktuellen Satzes. Und wir werden den Hashtag durch ein, ein leeres Leerzeichen ersetzen. Ersetzen wir es einfach durch ein leeres Feld. Und dann werden wir den aktuellen Satz um eins erhöhen. Okay, also was machen wir hier drin? Zunächst prüfen wir, ob der Dialogsatz im aktuellen Satz mit
dem Hashtag oder dem Symbol beginnt, das Sie hinzufügen möchten. Wir werden auf den Namen Steuerpunkttext zugreifen und wir werden ihn als Dialogsatz am aktuellen
setzen. Aber wir werden den Hashtag durch ein leeres Leerzeichen ersetzen. Jetzt wissen wir, dass es der Name ist, aber weil wir nicht möchten, dass der Name im Dialogfeld angezeigt wird. Wir werden die aktuelle Strafe von
hier aus sofort erhöhen und das Gespräch fortsetzen. Der letzte Schritt besteht also darin, zu wissen, wo die Schecknummer aufgerufen werden soll. Und das wird Teil Ihrer Herausforderung sein. Und Ihre Herausforderung wird es sein, die Check for Name Methode aufzurufen. Also finden Sie die beiden. Es gibt also zwei Orte, an denen wir überprüfen sollten ob ein Satz ein Name oder eine Zeile des Dialogs ist, und wenden Sie sie an und führen Sie den Code aus, führen Sie das Spiel aus, stellen Sie sicher, dass es funktioniert. Also pausieren Sie das Video jetzt und gehen Sie fertig zum Ende des Dialogs Spiel System. Okay, willkommen zurück. Wie bist du damit weitergekommen? Dies war eine sehr wichtige Herausforderung, wenn Sie nicht versucht haben, es jetzt zu tun,
es wird Ihnen mehr Einblick geben, wie Spiele funktionieren und es ist wirklich eine lustige Herausforderung zu wissen, wo wir anrufen sollten. Also habe ich den Spoiler verschenkt. Wir müssen den Namen überprüfen, bevor wir den Dialog aktivieren. Das ist also der erste Ort. Und wir sollten immer überprüfen, ob wir den Dialog Text Punkt txt setzen. Also, wo sollten wir sonst nachsehen? Hier drin? Wir werden nach Namen suchen. Also sparen Sie das. Ich denke, das sind die beiden Orte, die wir überprüfen müssen. Lassen Sie uns das versuchen und sehen, ob ich Recht hatte. Also werden wir unser Spiel laufen. Wir gehen auf den Heiler zu gehen, wird Druck drücken. Da kannst du Heiler sehen, Hey, ich bin ein Heiler. Jimmy, hey, ich bin ein Daemon namens Jimmy, ich bin wegen deiner Seele gekommen, dem Heiler. Warum bist du so gemein Jimmy? Scheint nett zu sein, und da gehst du. Wir verlassen uns. Also, wie cool ist das? Jetzt wissen wir, wer wann und wo spricht. Der Dialog ist also abgeschlossen. Ich hoffe, es gefällt dir. Wir sehen uns im nächsten Video. Und vergessen Sie nicht, alle Ihre Änderungen zu übernehmen. Wir machen es erstaunlich. Sieh mal, wie viel wir schon getan haben. Wir sehen uns als Nächstes.
39. Abschnitt 6: Player: Willkommen zurück meine Kameraden Game-Entwickler. Und in diesem Video werden wir eine Spielerstatistik erstellen. Wenn wir jetzt auf den Spieler klicken, werden
Sie sehen, dass er ein paar Statistiken und die maximale HP hat, die aktuelle HP TEDx schmutzige Verteidigung
und natürlich den Namen Jimmy, der Dämon. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, also ist es Zeit, ein paar Statistiken für unseren Spieler zu erstellen. Und da wir bereits über Delegation gesprochen haben, wollen
wir nicht, dass unser Spielerskript die Spielerstatistiken behandelt. Wir werden eine andere Art von Skript erstellen, um damit umzugehen. Also werden wir hier einen Ordner erstellen. Wir nennen es die, sagen
wir, die vielleicht Zeichen werden das Player-Skript hinzufügen. Und wir werden weitermachen und ein Spielerstatistik-Skript erstellen. Und hier, so klicken Sie mit der rechten Maustaste, erstellen Sie C-Skript und wir rufen diese D-Ebene. Statistiken. Drücken Sie die Eingabetaste Was sollen wir hier drinnen machen? Nun, wir werden nur ein paar Statistiken für unseren Spieler aufstellen. Der erste Schritt wird also ein serialisiertes Feld sein. Es ist eine Schnur, und es wird der Name des Spielers sein. Das ist also der übliche erste Schritt, den wir für jede Art von Regisseur in einem RPG haben. Und dann wird die zweite Variable die Spieler-Ebene sein. Denn wie wir wissen, hat
jeder Spieler in einem RPG Art von Level und wir werden es standardmäßig auf einem setzen, wird in der Lage sein, alle diese
im Inspektor zu ändern , weil wir sie IS-serialisierte Felder einstellen. Wir werden den Überblick über die aktuelle EP behalten. Also die aktuelle XP, und lassen Sie uns einfach die Gleichen hier entfernen. Also aktuelle Erfahrung, was haben wir sonst noch? Nun, wir haben die maximale HP, also die maximale Gesundheit, und wir werden standardmäßig auf 100 setzen. Wir haben die aktuelle HP, die wir verfolgen wollen. Also aktuelle HP, lasst uns diese Kluft entfernen. Wir wollen Magie zu unserem Spieler hinzufügen. Wir werden auch eine max Mano haben. Wenn ihr also nicht wisst, welches Mana die Quelle der Magie eines Charakters ist, bestimmt, wie viel Mana ihr habt, wie viele Zauber ihr erraten könnt. Und wir werden all diese mit einem Raum trennen, um alles ordentlich zu halten. Und natürlich haben wir auch die aktuelle Art und Weise. Also aktueller Mano, was sollte ein Charakter noch haben? Ein RPG? Ich denke, Geschicklichkeit und Verteidigung sind ein guter Wert. So Geschicklichkeit und Unterschied. Und wenn Sie nicht wissen, was, ich bin sicher, dass Sie wissen, welche Verteidigung, aber wenn Sie nicht sicher sind, was Geschicklichkeit ist, ist Geschicklichkeit Ihre Fähigkeit, mit einer Waffe umzugehen. Je mehr Geschicklichkeit Sie haben, desto mehr können Sie mit einer Waffe umgehen. Electron wird hier vielleicht noch ein paar Dinge hinzufügen, wie die ausgerüstete Waffe und die ausgerüstete Rüstung. Aber für jetzt denke ich, dass dies die Grundlagen sind, die funktionieren werden. Und wenn wir mehr hinzufügen müssen, kommen
wir einfach zurück und fügen mehr hinzu. Also lasst uns das alles retten. Jetzt gehen wir zurück in Unity und wo ist unser Spieler? Ziehen wir die Spielerstatistiken auf den Spieler. Lassen Sie uns den Animator minimieren. Und da du gehst, kannst du die Spielerstatistiken sehen. Also, was sollen wir hier tun? Wie heißt unser Spieler, wie wir es gesagt haben, Jimmy? Und was ist die aktuelle Erfahrung? Sagen wir, wir geben ihm vielleicht 200 oder nicht Hunderten zu viel. Geben wir ihm 36. Mit dem Max HP ist 100. Wir werden ihm eine Geschicklichkeit von 10 und eine Verteidigung von geben, sagen wir 30. Okay, das sind also nur willkürliche Zahlen. Sie können später hinzufügen, was Sie wollen, wir werden tiefer eintauchen, aber im Moment wollen
wir nur den Boden für alles setzen und dann anfangen zu arbeiten. Jetzt ist es an der Zeit, dir eine Herausforderung zu stellen. Und Ihre Herausforderung wird es sein, Statistiken zu erstellen. Fügen Sie also Ihre eigenen Spielerstatistiken hinzu, die Sie gerne haben möchten. Wie Sie gesehen haben, sind diese sehr einfach, einfach, einfach. Sie können noch viel mehr hinzufügen. Also, wenn Sie ein Spiel wie gespielt haben, sagen
wir Followup New Vegas, es hat Intelligenz, Glück und so weiter. Dunkle Seelen, Zum Beispiel, hat
auch eine Menge von, Das ist da. Das ist, wo ich Geschicklichkeit bekam. Und wir werden verschiedene RPGs verwenden, um daraus
ein Nivelliersystem zu erstellen und wie wir mit diesen Systemen angreifen. Hier sind also ein paar Beispiele. Geschwindigkeit, Vitalität, Ausdauer, Intelligenz, Sperre usw. So gibt es eine Menge Fähigkeiten. Wie ich schon sagte, ist dieses Spiel Ihr Spiel, das Sie erstellt haben, wie Sie möchten. keine Angst, ein paar Statistiken hinzuzufügen, um zu experimentieren, um dann den Code anzupassen, während wir durch unser Spiel weitergehen, um Ihre Statistiken zu entsprechen, um Ihren eigenen Bedürfnissen gerecht zu werden. Und das ist der Prozess des Lernens. Hier zu sitzen und mir dabei zuzusehen, wie ich kalt mache und nichts tue, wird dir nicht so sehr helfen. Also mit dem besagten, pausieren Sie das Video jetzt bei ein paar Ihrer eigenen Statistiken, wenn Sie wollen. Und wir sehen uns in der nächsten. Und auch wenn Sie den Kurs so weit genießen, würde
es mir sehr helfen, wenn Sie mir einen positiven Rückblick auf den Kurs hinterlassen. Und danke, ich sehe dich im nächsten Video.
40. für Loops in Einheit: Willkommen zurück, Meine Lieblings-Spiele-Entwickler in diesem Video, wie Sie wissen, jedes Spiel von RPG, jeder Spieler in Ihrem Spiel erfordert Nivellierung. Also haben wir für jedes Level ein Erlebnis geschaffen. Also die Menge an Erfahrung für jedes Level, und es ist dynamisch getan. Sobald wir das Spiel laufen, wirst
du sehen, dass du ab Level 0 hier bist. Um auf die Ebene zwei zu gelangen, benötigen
Sie 100 erfahrene zwei, Ebene drei, 200, 300, 400, 56, bis Sie 49 Tausend oder 4.900 erhalten. So können Sie sehen, dass all dies automatisch mit Schleifen durchgeführt wurde. Vergeuden wir also keine Zeit mehr. Und lasst uns anfangen. Oh, okay, also ist es Zeit, unseren Spieler auszugleichen. Um das zu tun, werden
wir in die Spielerstatistiken
gehen und wir werden hier zwei neue Variablen hinzufügen. Also fügen wir zuerst ein serialisiertes Feld hinzu. Also serialisiertes Feld, es wird eine ganze Zahl sein und es wird die maximale Ebene sein, und wir werden es auf 50 setzen. Ich glaube nicht, dass wir mehr als 50 Maximalstufen brauchen. Sie können dies basierend auf dem Zeichen ändern, das Sie haben. Du wirst sehen, dass wir die Statistik dieses Spielers jedem Charakter hinzufügen
und sie zu einem Spieler oder einem spielbaren Charakter machen können. Und die andere Variable, die wir hinzufügen möchten, ist ein serialisiertes Feld, das eine ganze Zahl oder ein Array von Ganzzahlen sein wird. Und es wird die Erfahrung sein, die wir brauchen, um jedes Level aufzusteigen. Es wird also die XP sein. Für jede Ebene. Da gehst du. So haben wir jetzt die maximale Stufe, die unser Spieler bekommen
kann und die Erfahrung, um zu jedem dieser Level zu kommen. Als Nächstes wollen
wir diese Erfahrungen für jedes Level festlegen. Also, wie machen wir das? Zunächst einmal, und beginnen, werden
wir das Array von XP für jede Ebene erstellen, und so erstellen Sie es. Die XP für jede Ebene ist also gleich einem neuen Array von Ganzzahlen. Und wir müssen bestimmen, welche Größe es
sein wird und die Größe wird die maximale Ebene sein. So wird jetzt die Anzahl der Erfahrungen für jedes Level die maximale Stufe sein. Wie viele Levels haben wir? Nun, wir haben, zum Beispiel hier 50. Die Größe des Arrays XP für jede Ebene beträgt also 50. Als Nächstes wollen wir in der Lage sein, diese Erfahrungen aufzubauen. Um dies zu tun, brauchen wir eine andere Variable und ich bin mir nicht sicher, wo wir die Klasse hinzufügen werden. Behalte einfach alles, was mit Erfahrung in Zusammenhang steht, im selben Block hier drin. Und es wird eine ganze Zahl sein. Und wir werden eine tiefe Basis-Level-XP nennen. Das wird also gleich 100 sein. Also die erste Stufe ist 100, und wir werden das auch hier drinnen einstellen. So wird die Erfahrung für jedes Level auf der Ebene eins gleich der Basisstufe XP sein. Ok, großartig. Jetzt eine Bestellung, um den Rest zu füllen, werden
wir eine Schleife verwenden, weil wir nicht gehen wollen. Und zum Beispiel, für jede und die beiden, die einer Art von Zahl entsprechen, wollen
wir dies dynamisch tun. Und zum Glück gibt es ein erstaunliches Werkzeug, um das zu tun, was Schleifen genannt wird. Lassen Sie mich erklären, was Schleifen sind. Also, um spezifisch zu sein, was ist eine for-Schleife? So können Schleifen einen Codeblock mehrmals ausführen. Loops sind praktisch, wenn Sie denselben Code
immer und immer wieder mit einem anderen Wert ausführen möchten. Dies ist also die Struktur der Schleife. Wir beginnen mit dem Schreiben für, und dies ist eine for-Schleife wird später im Kurs eine andere Art von Schleife sehen. So schreiben wir zum Beispiel vier, wir öffnen diese beiden Klammern. Wir beginnen mit der Initialisierung der ersten Bedingung. Also int I gleich 0. Während ich weniger als eine bestimmte Grenze ist, werden
wir I plus erhöhen, plus. Und jedes Mal werden wir den Code ausführen, der zwischen diesen beiden geschweiften Klammern ist. Also führen wir diesen Code nach innen aus, bis ich ein bestimmtes Limit erreicht habe. Wir beginnen bei 0. Nehmen wir an, die bestimmte Grenze ist drei. Wir fangen bei 0 an, okay? Wir können den Code ausführen. Wir erhöhen i um eins ist ich, das ist jetzt eins, weniger als drei. Nein. Also wieder, wir führen den Code aus, wir erhöhen um eins. Ich bin auch wird ich weniger als die bestimmte Grenze? Ja, das ist es. Habe ich vorher nein gesagt? Also gleich zwei ist kleiner als die bestimmte Grenze, die drei ist. Wieder hinrichten wir. Endlich kommen wir zu 3. Also bin ich gleich drei. Ist es weniger als die bestimmte Grenze mit nur drei Knoten nicht so verlassen wir die Schleife und wir beenden. Fügen wir dies unserem Code hinzu und sehen Sie, was passiert. Also am Anfang werden
wir eine for-Schleife erstellen. Also für wird die Klammern öffnen. Wir werden int I gleich schreiben. Und warum fangen wir nicht bei 0 an? Denken Sie ein bisschen darüber nach. Warum fangen wir nicht mit I gleich 0 an? Nun, weil wir bereits festgestellt haben, dass das I gleich eins ist
und hier, und das I gleich 0 wird, natürlich 0 sein. Das ist die Basisebene. Das ist es, was du anfängst. Um zum ersten Level zu gelangen, verwenden
Sie die Basisebene und dann werden wir den Rest von I gleich 2 setzen. Was ist die Grenze, die wir nicht überschreiten wollen, seine Größe des Arrays, das ist die XP für jede Ebene. So bekommen wir die Größe mit der Länge und erhöhen mich jedes Mal um eins. Also, was werden wir jetzt tun und hier? Nun, wir werden Ihnen eine Herausforderung stellen. Eigentlich werde ich Ihnen eine Herausforderung zeigen und
Ihre Herausforderung ist es, die Nummer zu drucken, an der wir sind. Verwenden Sie also die Druckmethode, um I
oder die Nummer auszudrucken , an der wir uns gerade in der Iteration befinden. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Willkommen zurück. Es ist also sehr einfach. Einfach schreiben, drucken, Klammern öffnen. Lasst uns weitermachen. Wir sind an und wir verketten eine Zeichenfolge,
das heißt, wir hätten einfach I schreiben können, aber das ist nur für ästhetischere Zwecke. Wir werden das wieder in Unity speichern. Und wir, wir, wir haben alles hinzugefügt. Sehen wir uns nun die Konsole an. Wir haben dafür gesorgt, dass die maximale Stufe 50 ist. Sie können hier sehen, dass jede XP als 0, aber es ist ein Array. Also, wenn wir den Code ausführen, aber da gehst du. Sie können sehen, dass wir jetzt von 0 bis 49 haben, also 50 Ebenen, die erste ist 0, die zweite ist bei 100 initialisiert. Und Sie können die Zahlen hier in der Konsole sehen, beginnend von 2, 3, 4, 7, 8, 9, 10, 11, 14. Und sie machen weiter, bis sie 49 sind. Ok, großartig. Als nächstes müssen
wir hier drin etwas Reales tun, nicht nur drucken. Also werden wir das auskommentieren. Und wir werden voran gehen und sagen, dass die XP für jede Ebene an der Position I,
weil denken Sie daran, dass ich mit jeder Iteration zunimmt. Also gehen wir durch jedes Element im Array der XP für jede Ebene, und es wird gleich der Basisebene XP sein. Und wir werden es einfach mit mir
multiplizieren . Gehen wir zurück in die Einheit. Lassen Sie uns warten, bis dies kompiliert und halten Sie Ihre Augen auf die XP für jedes Level, wir werden unser Spiel laufen und dort gehen Sie. Sie können sehen, dass wir beginnen, um zum nächsten Level zu kommen, wir brauchen 100 XP, um zum nächsten, nächsten Level zu gelangen, 200 auf die dritte Ebene, 300, 400, 56, und so weiter und so weiter, bis wir 4.900 brauchen. Also, wenn das erledigt ist, hoffe
ich, dass dir das gefallen hat. Nur vielleicht noch ein Mal. Erklären Sie, was in der Steigung passiert, denn wenn Sie nicht mit Schleifen vertraut sind und dies Ihr erstes Mal ist, lohnt
es sich, es noch einmal anzuhören. Wir fangen an. Unsere Anfangsbedingung ist zwei. Wir haben eine bestimmte Grenze, die die Länge des für jedes Level-Array ist, das wir hier erstellt haben. Und jede Iteration erhöhen wir i um eins. Wir haben gesehen, wie das aussieht, als wir das I auf jeder Zeile ausgedruckt haben. Dann nehmen wir diesen Kerl, der jedes einzelne Mal zunimmt und wir benutzen ihn, um durch das Array zu gehen und auf jedem, und sagen wir, Element des Arrays, wir setzen die Basis-Level-Geschwindigkeit mal die Zahl I. und das ist wie wir jedes Mal, das allen Geschwindigkeiten für jede Ebene und das Array zugewiesen ist, inkrementieren. Also hoffe ich, Sie genießen es. Und im nächsten Video wird
die Geschwindigkeit auf das nächste Level erhöhen und nicht so stabil wie jetzt. Also wollen wir nicht, dass nur 100 Punkte zwischen jedem unterscheiden. Wie Sie wissen, die RPG-Spiele, erfordert
jedes Level mehr als die vorherige zu erhöhen. Nehmen wir also an, die erste Ebene nahm uns 100 Erfahrung, die zweite sollte mehr als 100 dauern, um darüber zu kommen. Also sehe ich dich in der nächsten.
41. Experience: Willkommen zurück, meine Mitspielentwickler. In diesem Video werden wir
eine andere Gleichung implementieren, um die Erfahrung zu bekommen, die wir brauchen, um auf jede Ebene zu kommen. Wenn wir den Code ausführen, werden
Sie sehen, dass wir nicht mehr jedes Mal eine 100 haben, aber wir haben eine sehr gut verteilte Ebene, um zum nächsten Level zu gelangen. So können Sie sehen, zum Beispiel, es dauert 223, um auf Ebene zwei zu kommen. Aber wenn wir von sieben auf acht gehen wollen, erfordert
das ein bisschen mehr und unten auf der Linie, werden
Sie feststellen, dass es sich auch ändert, wenn wir Fortschritte machen. Also lassen Sie uns nicht mehr Zeit verschwenden und mal sehen, wie wir diese Distribution 0 implementieren. Wie werden wir also die Erfahrung, die wir haben, verteilen? Denn wie wir bereits gesagt haben, wollen
wir nicht nur um 100 jedes Level erhöhen. Wir wollen etwas mehr haben, sagen wir dynamisch. Also wollen wir jedes Mal ein bisschen härter sein. Also, was ich gefunden habe, ist diese wirklich schöne Seite, und das ist aus dem Dark Souls Wiki. Wenn Sie mit Dark Souls nicht vertraut sind, empfehle
ich Ihnen, es zu spielen. Es ist ein erstaunliches Spiel und wirklich ein großartiger Ort, um zu lernen, wie RPGs funktionieren. Sie können eine Menge Informationen erhalten. So zum Beispiel, welche Arten von Spielerstatistiken Sie wollen. Und in dieser speziellen Seite ist die
Menge an Erfahrung erforderlich, um von einer Ebene zur nächsten zu gehen. Wie Sie sehen können, erhöhen
sich die Zahlen nicht normal. Sie können sehen, zum Beispiel hier sind sie um 13 erhöht und dann eine Art von Zahl. Ich werde nicht die Mathematik hier zu tun, aber jeder, zum Beispiel, Ebene, können
Sie sehen, dass es einen Unterschied zu den vorherigen beiden Ebenen. Um zum Beispiel
von dieser Ebene auf diese Ebene zu kommen, von dieser Ebene auf diese Ebene zu kommen, können
Sie sehen, dass es etwa 300 Seelen benötigt, um von 690 zu 707 zu kommen. Sie können sehen, dass es viel weniger als eine 100 ist. Das ist es, was wir in unser Spiel umsetzen wollen. Und zum Glück haben wir hier eine kleine Gleichung. Wie Sie sehen können, entspricht
y 0,2 x der Macht 3, und x ist die Anzahl der Male. Also, wie soll ich es sagen? So zum Beispiel, jedes Mal, wenn dies das x ist, beginnen
wir als Basisebene und dann erhöhen wir x und eins und so weiter. Also in unserem Code wird
das X das Ich sein, und wir werden versuchen, dies anzuwenden. Gehen wir also zurück in unser Skript und schauen wir uns an, wie wir das tun können. Also lassen Sie uns das hier gedruckte entfernen und beginnen wir wieder. Also habe ich die Formel vor mir und ich empfehle, dass Sie auch die Formel irgendwo neben Ihnen bekommen. Also werden wir die Klammern öffnen und wir werden
0 zu F schreiben . Es wird mal ich sein, mal ich, mal ich. Und warum füge ich so oft hinzu, denn wenn wir hier zurückblicken, wirst
du bemerken dass es 0,02 mal x auf die Macht drei ist. Und wir können Macht in Unity finden. Hoppla, wir können die Macht und Einheit finden, aber ich denke, dass die Verwendung nur
mal mal, Zeiten ist viel weniger kompliziert und einfacher und vermeidet viele Fehler. Die nächste Sache ist 3.06 F mal ich, und das war's. Also lass uns mal sehen, da gehst du. Mal 2, 3.06. Dann haben wir 105,6 mal x also wird es 1.605 F mal I. Und da gehst du. Lasst uns retten. Das wird nicht das Minus 895 verwenden. Ich glaube nicht, dass es so obligatorisch ist. Lassen Sie es uns einfach bei dem behalten, was es ist. Aber wenn Sie die Gleichung geschrieben haben, werden
Sie feststellen, dass es ein kleines Problem gibt. Es gibt eine rote quiggly Linie. Wenn wir also den Mauszeiger darüber bewegen, können
Sie diesen Float-Operator sehen, Float auf der linken Seite Fehler kann nicht implizit float in eine ganze Zahl konvertieren. Eine explizite Konvertierung ist vorhanden. Also, was ist das eingängige, was ist los? Also Erfahrung für jede Ebene ist ein Array von ganzen Zahlen o, k. aber was wir füttern es ist ein Wert, der ein Float ist. So können Sie sehen, wenn wir einen Float schreiben, also zum Beispiel, 0 bis F, Das bedeutet, dies ist ein Float und 3.016 oder 3.06 F als Float. Wie werden wir also in der Lage sein, eine Gleitkommazahl in eine ganzzahlige Variable zu füttern? Nun, ich bin zu müde, um das zu tun, also werde ich es dir als Herausforderung geben. Konvertieren Sie einen Gleitkommawert in eine ganze Zahl. Nehmen wir an, Sie sind ein Spieleentwickler und Sie kommen zu dem Punkt, wo Sie auf ein Problem wie dieses stoßen, es ist Zeit, Ihre unglaubliche Fähigkeit zur Problemlösung zu nutzen. Also recherchiere ein bisschen und schaue nach, wie man einen Float und in eine ganze Zahl konvertiert. Es gibt zwei Methoden, dies zu tun. Du kannst alleine nach diesen beiden Methoden suchen, oder ich gebe dir eine davon. Ich gebe Ihnen die harte und es ist Mathe Boden, und ich werde nicht mehr als das sagen. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also, was hast du gefunden, wie man es macht? Also, wenn wir hier reingehen, können
Sie sehen, dass wir uns kennengelernt
haben, haben Boden zu HNO. Und Sie können es verwenden, um zu konvertieren gibt die größte ganze Zahl, kleiner oder gleich f zurück. Dies ist, wie Sie es verwenden, Math.Floor und Sie setzen den Schwimmer und zitieren Sie dies zum Beispiel, wir drucken 10 aus. Sie können die Beispiele daneben sehen. Aber wir werden Butterwerkzeug verwenden. Und dieses Werkzeug ist durch einfaches Schreiben und davor. So können Sie alles mit dieser Methode direkt hier konvertieren, obwohl ich denke, dass es mehr Speicher vom Computer benötigt, aber wir werden uns darüber keine Sorgen machen. Ich bin sicher, dass Sie genug Speicher in Ihrem Computer haben, damit getan, Ich hoffe, Sie genossen und ich hoffe, Sie begehen die Änderungen, die Sie machen. Und damit sehe
ich dich im nächsten Video, wo wir unser Nivelliersystem testen werden. So sehen wir uns dann.
42. Testebenen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video haben wir eine Möglichkeit geschaffen,
unsere EP für die nächste Stufe zu erhöhen oder zu testen , indem wir die Menge an Erfahrung erhöhen. Wie Sie jetzt sehen können, sind
wir auf Ebene eins. Um zu Level 2 zu gelangen, brauchen
wir 100, also drücken wir die L-Taste. Sie können sehen, dass wir spielen oder Level 2. Jetzt müssen wir zu einem 123. Also, da gehst du hin. Um zu Level 4 zu gelangen, brauchen wir 344, also steigen wir weiter, bis wir Level 4 erreichen. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, jetzt wollen wir unser Nivelliersystem testen. Und gehen wir in unser Drehbuch und die Spielerstatistiken. Und wir werden eine neue Methode erstellen. Also diese Methode wird eine öffentliche Leere sein, fügen Sie XP hinzu. Und hier drin werden wir ihm die n-te Menge an EP erzählen. Sie können die Menge an XP hinzufügen, aber im Moment lassen Sie es uns einfach weitermachen. Das nächste, was wir tun werden, ist, wenn wir diese Methode nennen, werden
wir unsere aktuelle XP bekommen und wir werden hinzufügen, um es die Menge der erwarten hinzuzufügen. Also erinnern wir uns daran, dass dieses Plus gleich von vorher ist. Dies ist das gleiche wie zu sagen, dass das aktuelle x b gleich
der aktuellen Geschwindigkeit plus der Menge an XP ist . Ok, großartig. Das nächste, was wir tun wollen, ist, nachdem wir die Menge an XP hinzugefügt haben, wollen
wir überprüfen, ob der Strom größer ist als die XP für jedes Level auf der Ebene des Spielers. Dann wollen wir voran gehen und vor allem, entfernen Sie aus der aktuellen XP minus gleich der XP für jede Ebene auf der Ebene des Spielers. Und dann wollen wir die Spielerebene um eins erhöhen. Also, da gehst du hin. Warum entfernen wir und hier die EXP? Denn wie Sie wissen, zum Beispiel, wir an, Sie haben 480 XP gesammelt und Sie wollen zum nächsten Level gehen. Sie halten nicht nur alles mit Ihnen gehen Sie nicht auf die nächste Ebene, die möglicherweise 600 erfordern wird. Sie halten also nicht die 480 bei sich und brauchen dann nur 200. Sie müssen zurückgehen und den bereits vorhandenen Betrag entfernen. Und wir wollen es nicht auf 0 setzen. Denn sagen wir zum Beispiel, wir wollen dem Spieler die Wahl geben, aufzusteigen oder nicht, genau wie ein Dark Souls. Vielleicht wollen wir es nicht obligatorisch machen, also wollen wir es nicht auf 0 zurücksetzen. Wir entfernen einfach die Menge an Erfahrung braucht, um auf die nächste Ebene zu gehen. Das ist also unsere Methode, das ist alles, was wir tun müssen. Und ich werde eine Herausforderung stellen, diese Methode aufzurufen und zu aktualisieren. Verwenden Sie also die Eingabe eines Schlüssels und aktualisieren Sie, um Ihrem Player XP hinzuzufügen. Ich empfehle Ihnen, das Video jetzt zu pausieren und gehen Sie die Herausforderung zu tun. Oder Sie sehen die Hand, die ich Ihnen zur Verfügung stellen werde. Wir haben das schon getan. Pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Oder verwenden Sie den Eingabepunkt, rufen Sie den Keydown-Keycode ab und verwenden Sie einen der Tasten. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also ein Update. Wir werden prüfen, ob der Eingabepunkt Taste nach unten bekommen. Und mit einem Schlüsselcode von, lasst uns L benutzen, weil es die Nivellierung ist. Und was wir tun werden, ist XP hinzuzufügen und wir werden 100 hinzufügen. Also denke ich, ich 100 ist eine gute Menge hinzuzufügen. Bevor wir weitermachen, gibt es etwas, das mich belästigt. Der Name XP für jede Stufe. Ist das nicht gut von einer Repräsentation? Es sollte die exp E für die nächste Stufe sein. Also XP für die nächste Ebene, es stellt Kampf, was wir mit diesem Array meinen. Also die XP, um zum nächsten Level zu kommen, ist dies. Okay, also zurück in Unity und lass uns weitermachen und den Code ausführen. So können Sie sehen, dass der Strom 36 ist und wir 100 brauchen. Wenn wir also das Alken hatten, werden
Sie feststellen, dass wir jetzt auf Ebene zwei und hier sind, und die XP ist immer noch 36. Warum ist das so? Nun, weil wir von Level 0 zu Level 1 gegangen sind und wir die 100 entfernen. Also, wenn wir das LD noch einmal hatten, dann gehst du. Wir sind immer noch auf Ebene 2, weil wir benötigen, um eine 123. Jetzt sollten wir auf Level 3 gehen. Ja, da gehen wir. Ebene drei und ich glaube, dass wir 223 von der Zahl abgezogen haben, die wir bekommen haben. Deshalb sind wir wieder mit 13 übrig. Also brauchen wir 344, um zum nächsten Level zu gehen. Jetzt gehen wir zu für und mit einem 69 aktuellen XP. Sehr nett. Versuchen wir erneut, bis zu Level 5 zu nivellieren, was 470 bis 469 erfordert. Wir brauchen nur ein bisschen mehr, also fügen wir ein bisschen XP hinzu. Da gehst du. Wir sind auf Level 5 mit einer aktuellen XP von 1970. Wie Sie sehen können, funktioniert
unsere Nivellierungsmethode völlig einwandfrei. Also ich hoffe, Sie genießen es und ich werde Sie im nächsten Video sehen, wo wir tatsächlich Auswirkungen
auf die Statistiken, die wir auf den Spieler nach jedem Level haben.
43. Die Staten aufbauen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir nicht nur unser Niveau für den Spaß davon erhöhen, wir werden auch unsere Statistiken erhöhen, wenn wir in Ebenen zu erhöhen. Also jetzt, werden Sie sehen, dass wir auf Stufe 1 Stunde max, HP ist 100, maxmin von 30, Geschicklichkeit 10 Verteidigung 30. Und jetzt werde ich L drücken und du behältst deine Augen auf die Statistiken unseres Dämons oder Spielers. So wie Sie sehen können, wie wir unsere Geschicklichkeit, Verteidigung und Max HP erhöhen auf unterschiedliche Weise. Lassen Sie uns also keine Zeit mehr verschwenden und lassen Sie uns diese Änderungen in unser Spiel umsetzen. Oh, so wie wir wissen, ein RPG-Spiele, wenn unser Level steigt, müssen
wir mehr Kraft haben,
mehr Möglichkeiten, um uns zu verteidigen, mehr HP und mehr Mana oder die Kraft der Magie. Also werden wir dies hinzufügen oder dies in unsere Leveling-up integrieren. Also gehen wir in unser Drehbuch und öffnen uns hier. Wo sind wir? Okay, jedes Mal, wenn wir das Niveau erhöhen, werden
wir etwas anderes tun. Wir wollen die Geschicklichkeit und die Verteidigung erhöhen, aber nicht jedes Mal. Wir wollen überprüfen, ob die Spielerebene, auf der wir derzeit sind, durch zwei teilbar ist. Und was bedeutet das? Kennen Sie das Schild für Modulo? Modulo dies dividiert die Spielerebene durch 2 und sieht, ob es irgendwelche Reste. Gibt es einen anderen Begriff? Zum Beispiel, wenn Spieler Level 3 geteilt durch 2 bei verlässt eine, so gibt es eine andere Zahl. Und wenn wir zum Beispiel
eine gerade Zahl durch 2 teilen , haben wir 0. Wenn also ein gleichmäßiges Niveau auftaucht, werden
wir die Geschicklichkeit um eins erhöhen. Sonst. Wenn es eine seltsame Ebene ist, dann werden wir die Differenz um eins erhöhen. Also jedes Level haben wir entweder die Geschicklichkeit oder die Verteidigung immer um eins erhöht. Und was können wir noch hinzufügen? Lassen Sie uns zuerst voran gehen und das testen. Wir retten es. Stellen wir sicher, dass wir es wieder in Unity gespeichert haben. Lassen Sie uns unser Spiel laufen, so wie Sie sehen können, unsere Geschicklichkeit und Verteidigung oder 30, Lassen Sie uns dies kleiner machen. Mal sehen, wenn wir zum ersten Mal aufsteigen. Also zehn mal 30, da gehst du, Weil wir auf Stufe 2 sind, sind Geschicklichkeitssteigerungen. Dann unser Unterschied, dann unsere Geschicklichkeit als unsere Verteidigung, Geschicklichkeit, Verteidigung, Geschicklichkeit, Verteidigung, und so weiter und so weiter. Wie Sie sehen können, erhöhen
wir langsam unsere Spielerstatistiken. Nun, die andere Sache, die wir erhöhen können, ist die max, HP und TMax Mano, die unser Spieler haben kann. Also werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung wird es sein, die HP und Mono zu erhöhen. So erhöhen Sie die maximale HP mit jedem einzelnen Level nach oben. Multiplizieren Sie die maximale HP mit Nullpunkt. Ich werde einfach eine beliebige Zahl oder ein anderes Verhältnis setzen, das Sie für passend halten, und stellen Sie sicher, dass Sie es in eine ganze Zahl konvertieren. Tun Sie dasselbe für die Mönche Art und Weise. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also, nachdem wir die Geschicklichkeit und die Verteidigung erhöht
haben, werden wir die maximale HP bekommen. Und es wird gleich Math dot floor to int sein. Weil wir die maximale HP verwenden, die wir zuvor hatten. Und wir multiplizieren es mit wie viel habe ich gesagt, ist 1,06? Jep. Das war's. 0.6 F. Ja, da gehen wir. Und wie wir wissen, wir
jedes Mal, wenn
wir aufsteigen wollenwir
jedes Mal, wenn
wir aufsteigen, die aktuelle HP auf die maximale HP setzen. Also nicht alle Spiele tun dies, aber einige, oder die meisten Spiele tatsächlich jedes Mal, wenn Sie Ihre max HP als kleines Geschenk, die aktuelle HP, die Ihre Anzeige geht auf die maximale HP, um Ihre neue Max HP. Und wir werden dasselbe für die Manieren tun. Also werde ich das duplizieren, hat ein paar Staubbeutel und das Max Manna wird ein anderes Verhältnis haben. Also vielleicht, machen wir das vielleicht ein bisschen klein. Wissen Sie was, machen wir diesen Punkt 18 und diesen 1.06. Also wollen wir nicht viel extra Mono. Und die aktuelle Mano, aktuelle Mano wird die max. Da gehen wir. Speichern Sie das. Zurück in Unity. Warten Sie, bis diese Krypto-Kompilierung, führen Sie den Code aus und führen Sie das Spiel aus. Und mal sehen, wenn wir L schlagen, da gehst du. Die maximale HP ist jetzt 117, der Strom ist 117 und die Maxima erhöht, aber auch. Also gehen wir, da gehst du. Sie können sehen, dass wir langsam erhöhen das Mana, aber irgendwann werden wir bewegen nicht nur 1, Wir werden mehrere Punkte bewegen. Da gehst du. Jetzt gehen wir um zwei hoch und jetzt sind wir noch bei zwei. Noch bis zu einem gewissen Punkt? Jep. Da gehen wir. Ok. Zuerst noch um zwei und irgendwann, glaube
ich, dass wir drei Ebenen gehen werden. Nein. Komm schon, komm schon,
komm schon, komm schon. Ok. Ich glaube, das waren drei. Nun, das ist erledigt. Ich hoffe, Sie haben genossen, stellen Sie sicher, dass Sie Ihre Änderungen zu übernehmen. Und wir sehen uns im nächsten Video.
44. Game: Oh, okay, also wollen wir mehrere Ebenen mit
ihren eigenen Statistiken verfolgen , denn später wirst du in
unserem Kampfsystem sehen , dass wir mehrere Spieler haben, mehrere Feinde einander angreifen, damit wir sie auf unserer Hauptspieler, der Jimmy der Dämon ist. Wir wollen sie auf einem separaten Spielobjekt, einer Entität oder einem Skript verfolgen, das unser Spiele-Manager sein wird. Das erste, was wir tun werden, ist, dass wir
ein leeres Spielobjekt namens The Game Manager erstellen , und wir werden seine Position zurücksetzen. Dies ist nicht obligatorisch, aber ich mag es, damit wir immer wissen, wo es ist. Also ist es nicht irgendwo in der Ferne weg. Und wir gehen voran und R-Skripte oder klicken Sie mit der rechten Maustaste erstellen Sie ein C-Sharp-Skript namens Game Manager. Bei der Eingabetaste. Warten Sie, bis es kompiliert ist, und Sie können sehen, dass es ein anderes Symbol darauf hat. Und das ist einzigartig für Game-Manager. Unity weiß also, dass dies ein sehr wichtiges Skript ist, das fast jedes einzelne Spiel sein wird. Also, da du gehst, kannst du es hier sehen. Lassen Sie uns doppelklicken. Und was werden wir hier drinnen machen? Zuallererst wollen wir
dies zu einer öffentlichen statischen Instanz machen , weil wir es sehr viel aufrufen werden. Also öffentliche Statik, Spiele-Manager und Instanz. Großartig. Und als nächstes werden wir
ein serialisiertes Feld erstellen , das alle Spieler im Auge behalten wird. Also Spielerstatistiken, es wird natürlich ein Array sein, und wir werden es die Spielerstatistiken nennen. Ok, großartig. Jetzt und fangen Sie an, wir werden sicherstellen, dass die Instanz gleich ist. Wir wollen Onload nicht zerstören. Also haben wir das schon getan, wenn wir in eine andere Szene gehen wollen. Wir wollen das nicht zerstören. Und wir werden es auch zu einem während unser Spieler machen, also werden wir es zu einem Singleton-Muster machen. Also lasst uns den Spieler öffnen. Und wo greifen die Spieler? Da gehen wir. Öffnen Sie das Skript und lassen Sie uns das kopieren. Paste. Genau das Gleiche. Und der Spiele-Manager, Da gehst du. Und das war's. Das ist alles, wofür wir tun müssen. Jetzt. Von hier aus gibt es zwei Möglichkeiten, wie Sie gehen können. Der erste Weg ist, wenn wir auf
eine bestimmte Karte oder später auf eine bestimmte Höhle zu bekommen und Neustart gegenüber Feinden. Sie können voran gehen und sagen wir, Wie kann ich sagen, rufen Sie alle Spieler mit einem Spieler stat zur Verfügung, um mit Ihnen zu kämpfen. Nehmen wir zum Beispiel an, wir haben den Heiler hier. Wir können einen Spieler hinzufügen, der zu ihm oder zu ihr. Und wir können einen weiteren Charakter hinzufügen, sagen
wir, der Krieger. Und wir fügen ihm auch eine Statistik hinzu. Und sagen wir, wir begegnen einer Art Monster und unserer Welt, als wir gingen, dann müssen wir gegen ihn kämpfen. Also werden alle Spieler, die in dieser Szene sind, unserem Jimmy-Dämon zu Hilfe kommen. Dies ist der erste Mechaniker, der dies tut. Also die Art und Weise, wie wir dies tun, ist wir gehen voran, füllen die Spielerstatistiken
wird gleich sein, um Objekte des Typs zu finden und seine Objekte nicht finden Objekt, finden Objekte des Typs. Während es, so wie Sie sehen können, ist
es Objekte vom Typ. Und dies gibt ein, alle Objekte, die wir finden können, die unter den Spielerstatistiken sind. So finden wir alle Objekte vom Typ Spielerstatistiken und fügen sie dem Spielerstatistik-Array hinzu. Jetzt ist das ein Weg. Der andere Weg, wie wir tatsächlich voran gehen und füllen dieses serialisierte Feld manuell. Nehmen wir zum Beispiel an, wir wollen den Heiler nicht hinzufügen. So zum Beispiel hier werden wir hinzufügen, der erste wird der Spieler sein, und der zweite wird zum Beispiel, sagen
wir, geben wir Spielerstatistiken an den Heiler und BC. So können Sie sehen, dass es Spielerstatistiken hat. Wir können sie ändern. Nehmen wir an, wir machen Geschicklichkeit zur Verteidigung sieben und maximal 200 und hinter den Kulissen 30, und so weiter und so weiter. Also ändern wir das in den Namen von Hillary? Sarah. So einige der Heiler. Und sagen wir, wenn wir das Spiel laufen, können
wir alle Spielobjekte finden. Und wir kriegen Sarah und Jimmy, oder wir können es anders machen und Indie Game Manager, wir fügen einfach den Heiler hier hinzu. Und wir können den Spieler unter dem
Game-Manager und den Heiler unter dem Game-Manager anbringen und sie mit
uns durch jedes C nehmen . Das hängt also davon ab, wie Sie wollen, dass Ihr Spiel funktioniert. Ich gebe Ihnen die volle Fähigkeit, aber stellen Sie sicher, dass Sie mindestens einen von ihnen verwenden. Ich ziehe es vor, jemanden zu finden, der in der Nähe ist, und sie hinzuzufügen. Aber dies erfordert ein wenig den Überblick darüber, wie viele Spieler es gibt. Sie wollen nicht hinzufügen, sagen wir 500 Spieler zu Ihrem Spiel. Also, mit dem gesagt, werde
ich dir die Wahl überlassen. Es gibt keine Herausforderung in diesem Video, nur das. Und mal sehen, im Game Manager werde
ich diesen und diesen entfernen. Und jetzt, wenn wir unser Spiel laufen, werden
Sie sehen, dass wir den Heiler finden sollten und der Spieler beide hier sind, weil wir eine Spielerstatistik auf jedem von ihnen haben. Ich hoffe, Sie haben genossen, wenn Sie die Partituren genießen und Sie mich als
Lehrer mögen , um sich die Zeit zu nehmen, eine Rezension zu hinterlassen, hilft
es mir sehr. Das heißt, ich sehe dich im nächsten Video.
45. Abschnitt 7: Menu: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir ein Menü erstellen. Wie Sie sehen können, haben
wir ein Menü erstellt. Wir haben mehrere Schaltflächen erstellt und wir haben sie alle unter dem Objekt mit einer einzigen Schaltfläche platziert. Ich habe versucht, sie so weit wie möglich einzuräumen. Und jetzt, wenn wir auf Maximize on Play klicken, nur damit wir es sehen können, viel besser. Ram, und da gehst du. Sie können sehen, dass wir Elemente haben, Statistiken, Speichern, Schließen und Beenden Schaltfläche. Wir haben immer noch nichts dafür zu zeigen, aber vorerst reicht das. So. Vergeuden wir keine Zeit mehr und fangen wir an. Oh, okay, also Zeit, ein Menü zu erstellen. Bis jetzt hatten wir nur das Dialog-Panel wird das aus dem Weg halten. Jetzt ist es Zeit, ein Menü zu erstellen. Und ein Menü wird viele Dinge darin haben. Wir haben das Inventar, einen Speichern-Button, einen Button und so weiter. Also lasst uns anfangen. Das erste, was wir tun müssen, ist hier mit der rechten Maustaste und lassen Sie uns zu Ihnen gehen i, und wir werden eine erstellen, Wo ist es ein Panel? Also, jetzt haben wir ein Panel. Wir werden voran gehen und es in vollen Zügen erhöhen. Und wir werden ihm den Hintergrund geben, den wir haben. Also fügen wir den Hintergrund hinzu und da gehst du. Das wird also unsere Speisekarte sein. Wenn du willst, kannst du nur ein bisschen kleiner machen, nur ein bisschen, damit wir vielleicht die Ränder unseres Gewinns sehen können. Und da gehst du. Also vielleicht einen Zentimeter, da gehst du. Das wird also der Hintergrund unseres Spiels sein. Und stellen Sie sicher, dass die Auflösung 1920 x 1080 ist, genau wie die Skala unserer Leinwand. Das nächste, was wir tun werden, ist, dass wir eine Schaltfläche zu diesem Panel hinzufügen. Und bevor wir das tun, lasst uns dies in das Menü ändern. Jetzt haben wir ein Menü und lassen Sie uns voran und fügen Sie hier eine Schaltfläche hinzu. Also Schaltfläche „Suchen“. Also haben wir einen Knopf und was wir tun
werden, ist, dass wir diesen Knopf bekommen, ihn hier nach oben verschieben und wir müssen eine Art
Hintergrund hinzufügen , damit er ein bisschen besser aussieht. Und als Schaltflächenhintergrund werden
wir eine der Ressourcen verwenden, die ich uns zur Verfügung gestellt habe. Ziehen Sie das hier rein, und jetzt können wir es über das Bild der Schaltfläche ziehen. Und da du gehst, wir haben einen sehr cool aussehenden Knopf. Nun, was ist gegen den Text zu tun? Löschen Sie einfach den Text, klicken Sie mit der rechten Maustaste auf den Boden. Und wir werden unseren eigenen Text Mesh Pro hinzufügen. Wir werden es zu unserer nicht verankern, Lassen Sie uns nicht genau. Wir werden die Schriftart hinzufügen. So fügt das Textwerkzeug die Schriftart hinzu. Wir werden es komplett dunkel machen. Also, da gehst du, es ist komplett schwarz. Wir werden diese Gegenstände nennen. Also Gegenstände. Und lassen Sie uns weitermachen und den Text an die richtige Stelle passen. Und wir werden tatsächlich auch die Tastengröße ändern. Also lasst uns sie einfach setzen, diese Gegenstände. Mach es so. Und wir werden, lasst uns den Knopf holen, ihn ein bisschen größer
machen. Und weil wir wie viele Knöpfe haben werden? 12345 Tasten Stellen Sie also sicher, dass Sie genügend Platz für fünf Tasten sparen. Ich werde es versuchen, so gut ich kann. Dies ist also der erste Knopf, die Elemente. Da gehen wir. Und jetzt ist es Zeit für eine kleine Herausforderung für dich. Und Ihre Herausforderung ist es, das Handbuch zu beenden. Erstellen Sie also den Rest der Schaltflächen. Sie können die Schaltfläche duplizieren, nachdem Sie alles konfiguriert haben. Meines ist noch nicht perfekt. Ich kann ein paar Dinge ändern und ich gebe Ihnen einen kleinen Hinweis. Du brauchst die Statistiken,
die Save, die Kleidung und die Küvette. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also ein paar Dinge, die ich hier ändern werde, werde
ich entweder der zugrunde liegende ist bereits vorhanden. Mal sehen, mal sehen, wie es aus der Ferne aussieht. Wenn ich also den Offset auf dem X,
Offset auf dem y, nope,erhöhe Offset auf dem y, nope, hilft
das nicht, dies bei 0 Tonnen Archytas zu behalten. Also experimentiere ich nur, um zu sehen, was funktioniert, und sehe, was nicht. Und wenn Sie bereits getan haben, was Sie tun mussten, können
Sie überspringen und beenden. Ich werde nur weitermachen und vielleicht ein Glühen hinzufügen. Was würde passieren, wenn ich den Globus hinzufüge? Nein, ich glaube nicht, dass das Hinzufügen eines Klebers eine gute Idee ist. Lassen Sie mich das einfach ein bisschen größer machen. Also werde ich die Größe erhöhen. Vielleicht machen Sie es mutig. Und die Schriftgröße wird größer sein. Also, da gehst du hin. Artikel sehen gut aus. Und wir werden dies richtig einrichten, so dass die Elemente zu bewegen. Also, da gehst du, Gegenstände, ich glaube, das wird gut genug sein. Vielleicht schrumpfen Sie es runter. Da gehst du. Ich will nur, dass der Schädel immer noch schön aussieht. Also lasst uns das so gut ausprobieren. Das hat den Buttonnamen, das Werkzeug, die Elemente, die
Schaltfläche oder den Element-Button geändert oder wir können es Elemente nennen. Keine Sorge darüber. Also lassen Sie uns das duplizieren, fügen Sie es hinzu, duplizieren Sie es erneut, und duplizieren Sie es erneut. Und wie viele Knöpfe gibt es? Fünf. Also dupliziere das nochmal, und da gehst du. Dies ist der letzte Knopf, und offensichtlich sind sie nicht passend. Also werde ich dich nicht mit all dem langweilen. Ich werde das Video jetzt stoppen. Und das nächste, werden
wir weiterhin unser Menü erstellen. Also sehe ich dich dort.
46. Character: Willkommen zurück meine Spiele-Entwickler. Und in diesem Video aktualisieren wir unser Menü, indem wir Charakter-Info erstellen. Also, wenn wir unser Spiel laufen, werden
Sie sehen, dass wir ein sehr schönes Layout des Charakters und der Formation haben. Wir haben die HP, Mana und aktuelle XP war die Erfahrung, die wir auf
die nächste Ebene mit dem Bild des Spielers mit
seinem Namen darunter und eine sehr genaue Zahl brauchen die nächste Ebene mit dem Bild des Spielers mit . Also werden wir viel in diesem Video lernen. Es ist ein bisschen lang. Und das Erstellen von UI ist immer ein langer Prozess. Du musst dir noch mehr Zeit nehmen, damit alles in deinem Spiel besser aussieht. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, was wir in diesem Video machen wollen ist ein paar Panels zu erstellen und hier vielleicht zwei, vielleicht drei. Ich bin mir nicht sicher, ob wir alle Charaktere sehen und hinzufügen und darin fallen. Und nicht nur irgendein Charakter. Und für den Charakter und Fall der Spielerstatistiken auf die Spieler, die Spielerstatistiken haben. Also das erste, was wir tun werden, und ich habe es bereits getan. Ich habe ein Spielobjekt erstellt, das Buttons genannt wird. Ich habe alle Schaltflächen darunter hinzugefügt,
also stellen Sie sicher, dass Sie das tun. Das nächste, was wir tun werden, ist, dass wir ein, ein
weiteres Panel im Menü erstellen . Und das wird den Hintergrund für die Charakterinfo darstellen. Also gehen wir in dich ein. Ich werde nach dem Panel suchen. Wie immer nennen wir dies den Charakter NFO. Nfo. Und wir werden den Hintergrund ändern, um das Element zu verwenden, das wir haben. Da gehst du. Wir werden das Alpha erhöhen. Es ist also völlig untransparent und wir werden es sehr klein machen. Hier drin wird es deine Wahl sein. Wenn Sie wollen, sagen wir drei, Sie müssen es ein bisschen kleiner machen, so wie Sie sehen können,
aber stellen Sie auch sicher, dass es ein bisschen größer zu machen, damit wir alles hier passen können. Löschen, Hoppla, das war nicht geplant. Also lasst uns diese löschen, den Charakter
bekommen und wieder folgen. Mal sehen, ob drei so passen. Ok? Vielleicht muss es etwas kleiner machen. Okay, lass mich die noch einmal löschen. Ich werde das hier einfach benutzen. Und wir richten es hier ein, machen es nur ein bisschen kleiner. Okay, also was hat das getan? Das nächste, was wir tun werden, ist, dass wir voran gehen und versuchen, alle Informationen des Spielers hier darzustellen. Was wollen wir also repräsentieren? Wir wollen die HP repräsentieren, das Mana, die aktuelle Ebene, die Erfahrung, die wir brauchen, um auf die nächste Ebene zu gehen. Und ich denke, das ist alles, was wir brauchen. Wenn wir etwas anderes brauchen, wird es später hinzufügen. Also lasst uns anfangen. Oder wir brauchen auch diesen Stolz des Charakters hier mit dem Namen. Fangen wir damit an. Wir werden weitermachen. Lassen Sie uns dies in Zeichen NFO umbenennen. Also ist es nur Charakter NFO. Und wir werden hier ein Bild hinzufügen, also klicken wir mit der rechten Maustaste, gehen Sie zu Ihnen. Ich gehe zum Bild. Da gehst du. Und lasst uns gehen und das Bild unseres Charakters bekommen. Also benutzen wir einfach eins von denen. Lassen Sie uns das Bild sehen, während das Bild, und wir werden es hier ziehen. Wir werden auf das Seitenverhältnis beibehalten klicken, und ich werde es auf die native setzen und dann kleiner machen. Wie Sie sehen können, wenn wir den Aspekt oder die Schleife beibehalten, setzen
wir ihn auf native. Setzen Sie jetzt bewahren Aspekt, und jetzt sollten wir in der Lage sein, es ein bisschen kleiner zu machen. Wie Sie sehen können, behält
es die Größe und wir werden einfach angepasst, machen es so groß. Ich schätze. Also werde ich nicht versuchen, das perfekt zu machen. Es wird dein Job sein. Vielleicht mache ich es später, weil ich nicht möchte, dass sich das Video zu lange zieht. Nun, das nächste ist, dass wir den Namen hinzufügen. Also klicken wir hier mit der rechten Maustaste, gehen Sie zu Ihnen. Ich füge einen Text Nash Pro hinzu. Und lass uns voran gehen und die mittelalterliche Farbe verwenden. Der mittelalterliche Font. Das Mittelalter nennen
wir das den Autonamen. Und lasst uns einfach hier schreiben Spielernamen. Und fügen wir es unter dem Spieler Sprite hier hinzu. Stellen Sie sicher, dass es klein genug ist, um zu passen und dass es komplett schwarz ist. Ja, da gehen wir. Und wir machen es mutig. Und zoomen Sie hinein. Mal sehen, wie das aussieht und das ist unter dem Spieler. Ok, großartig. Was müssen wir sonst noch tun? Wir müssen die HP hinzufügen. Lassen Sie uns das duplizieren und den Charakter hier verschieben. Das wird also der Charakter HP sein, und das wird das Charakterbild sein. Und mal sehen, was wir hier drin haben. Also der Charakter HP, den wir machen werden. Und was haben wir sonst noch? Mal sehen, Lassen Sie uns das kleiner
machen, stellen Sie sicher, dass diese ausgerichtet sind. Okay, hier drin werden wir HP zwei Punkte eingeben. Und ich denke, das ist nicht die beste Schriftart, die dafür verwendet werden soll. Wenn Sie die Schriftart ändern möchten, empfehle
ich, dass, wenn Sie feststellen, dass diese Schriftart
nicht gut genug ist oder nicht scharf genug aus der Ferne aussieht. Und was haben wir sonst noch? Nun, wir brauchen das Mono, also duplizieren wir das. Wir haben das Mana und hier, also der Charakter Mano. Und wir werden hier Mono schreiben. Und lassen Sie uns einfach etwas hinzufügen, um sicherzustellen, dass alles passt, wird 100 über 100 hinzufügen. Jetzt können wir sehen, dass es ein bisschen größer dargestellt werden muss. Und die HP muss sich auch ändern. Also werden wir es 100 mal 100 machen. Und Sie können sehen, dass die aktuelle Schriftart
keine Sonderzeichen für die Zahlen hat. Also, wenn Sie eine weitere hinzufügen möchten, empfehle
ich, dass, wenn Sie einen Kühler suchen Zahlen wollen, aber ich denke, die sind gut genug für jetzt. Also müssen wir auch die aktuelle XP haben, also duplizieren wir den Charakter Manon auch. Da gehen wir. Wir werden es bewegen erscheinen. Und wir werden das als Charakter, aktuelles Thema nennen. Und wir werden hier aktuelle XP schreiben. Und lasst uns das einfach größer machen. Da gehen wir. Wir werden die Größe erhöhen, stellen sicher, dass sie alle passen. Wir werden es hier oben rechts aufstellen, der Mann in der Mitte. Okay, das bewegt sich nicht. Wir müssen das gesamte Objekt bewegen. Und da gehen wir. Jetzt haben wir also die HP, das Mana, und der Strom wird dies in eine Nope ändern, meinte
ich auf der aktuellen EP. Okay, da gehen wir. Und schließlich wollen wir die Erfahrung sehen, die wir für die nächste Ebene brauchen. Also werden wir etwas Besonderes daran tun. Zuerst werden wir das duplizieren. Wir nennen es die XP zum nächsten Level. Oh, geh Charakter. Xp zum nächsten Level, und XP zum nächsten Level. Und anstatt es in einer normalen Zahlenweise darzustellen, werden
wir das mit einem Schieberegler darstellen. Bevor wir das tun, lassen Sie mich das einfach ein bisschen kleiner machen und
die Leerzeichen zwischen den Buchstaben reduzieren , nur um es auffindbar zu machen. Ändern Sie es einfach um das herum. Und vielleicht sind sie etwas Abstand zwischen den Wörtern. Okay, das ist gut genug, jetzt ist es Zeit, einen Schieberegler hinzuzufügen. Also werden wir mit der rechten Maustaste auf den Charakter NFO, gehen Sie zu Ihrem Auge. Und Sie können hier sehen, dass wir die Möglichkeit haben, einen Schieberegler hinzuzufügen, sammeln Sie auf, dass. Also jetzt haben wir einen Schieberegler hier, um die XP zu repräsentieren. Und jetzt, wie werden wir das ändern? Lassen Sie mich einfach auf das Zeichen zum nächsten Level klicken, ein wenig nach unten
gehen, und nehmen Sie den Schieberegler, legen Sie es auf die gleiche Ebene, und lassen Sie es ein bisschen größer. Also, da gehst du. Aber dieser Schieberegler ist sehr langweilig. Wir wollen es spannender machen. Öffnen wir also den Schieberegler und wir werden den Schieberegler hier löschen. Also lasst uns das löschen. Das Hintergrundbild wird sich ändern und die Füllung auch. Aber lassen Sie uns gehen und unsere eigene Benutzeroberfläche hinzufügen. Also habe ich Ihnen diese zur Verfügung gestellt. Es ist eine sehr schöne Benutzeroberfläche. Sie sind die gleichen wie diese aus demselben Ordner. Also fügen wir den blauen Füllstoff hinzu, um darzustellen oder Sie können die Orange hinzufügen. Ich denke, ich werde die Orange und den Hintergrund hinzufügen. Also lassen Sie uns in die Sprites gehen, UI-Elemente, und ziehen Sie den Schieberegler Hintergrund für die Orange und das Gelb. Und lassen Sie uns einfach ziehen die blauen und roten werden sie später verwenden. Also, jetzt haben wir diese. Gehen wir zurück in unseren Schieberegler, in den Hintergrund. Fügen wir das Hintergrundbild zum Hintergrund des Schiebereglers hinzu. Und in dem Film können
Sie sehen, dass wir auch ein UI-Sprite haben. Fügen wir die orangefarbene Füllung hinzu. So jetzt können Sie sehen, ob wir auf den Schieberegler klicken, werden
Sie feststellen, wenn wir im Inspektor nach unten scrollen, haben
wir den Wert. Wenn wir den Wert erhöhen, gehen wir. Wir können sehen, dass wir diese orangefarbene Linie bewegen können, um bis zum Ende zu kommen. Aber wir haben noch ein paar Änderungen vor uns. Also lasst uns auf den Hintergrund klicken. Wenn Sie in direkter Transformation schauen, ist
dies die Art, wie es dargestellt wird. Es ist auf beiden Seiten ausgestreckt. Das wollen wir nicht. Wir möchten Alt gedrückt halten und die in der unteren rechten Ecke drücken, und Sie können sehen, dass es sich zu allen Seiten erstreckt. Als nächstes gehen wir zum Füllbereich in den Film und dehnen sich alle Seiten aus. Da gehst du. Jetzt können wir den Schieberegler bekommen. Und wenn wir die Größe vergrößern, können
Sie sehen, dass es den gesamten Bereich ausfüllt. Wenn wir gehen, um den Schieberegler Wert geht jetzt von 0 auf die volle Länge. Aber es gibt hier ein kleines Problem. Sie können sehen, dass es ein bisschen außerhalb der Grenzen ist. Um dies zu beheben, gehen wir in den Füllbereich und verschieben es einfach hier nach oben und angepasst an unsere Präferenz stellt sicher, dass Sie die beiden so anpassen, wie Sie wollen. Während das Ende und klicken Sie auf den Füllbereich und hier auch, und da gehen Sie. Also, um das auszustrecken, um alles zu füllen. Und Sie können dies auch ausstrecken, um das gesamte Sprite-Bild zu füllen. Okay, also lasst uns das etwas größer machen. Und da gehst du. Jetzt haben wir unsere Charaktere Info, aber es gibt nur eine weitere Sache, die wir hinzufügen möchten und es ist etwas, das
in allen Spielen verfügbar ist , wo wir Schieberegler haben, die darstellen, wie viel wir noch gehen müssen. Und das ist eine genaue Zahl auf diesem Schieberegler. Also werde ich Ihnen eine Herausforderung stellen, und das ist, Text hinzuzufügen. Fügen Sie also einen Text hinzu, um die XP auf dem Schieberegler genau darzustellen, um Verwirrung zu vermeiden. Und du musst den Charakter duplizieren und zwei andere Charaktere und unser Spiel
fallen. Also pausieren Sie das Video jetzt als XP-Text und duplizieren Sie die Figur auf dem Foto. Haben Sie noch zwei. Oh, okay, willkommen zurück. Also brauchen wir eine Nummer. Wir haben den Schieberegler. Es nennt sich das, der Belichtungsschieber. Und lasst uns zum Charakter gehen und vielleicht duplizieren, oder vielleicht sollten wir das etwas größer machen. Ich bin mir nicht sicher, ob wir an der Kleinen arbeiten müssen. Und wir sagen, es sind 100.000 Tausend. Und wir werden es hier auf die Nummer setzen, wie es geht. Es erlaubt mir also nicht, vielleicht braucht es mehr als 100. Setzen Sie hier einfach noch eine zusätzliche 0 ein. Und mal sehen, wie wir das anpassen können. Da gehen wir. Es ist also eine sehr schöne, saubere Nummer, die uns erlaubt zu wissen, wie sehr wir neben dem Schieberegler wirklich geliebt haben. Also werde ich die Größe auf beiden Seiten erhöhen. Und schließlich, das letzte, was wir tun müssen, ist, dass wir diesen Charakter NFO
duplizieren und setzen Sie ihn hier, wieder
dupliziert, setzen Sie ihn hier. Und wenn Sie vier haben wollen, nun, müssen
Sie Platz schaffen oder später lernen Sie eine Technik, mit der wir das Layout von allem ändern können. Vielleicht fügen Sie eine Art von Schaltfläche, die uns erlaubt, auf die nächste Seite zu gehen. Das ist eine Möglichkeit, wenn Sie mehr als drei Zeichen haben wollen. Aber wie Sie sehen können, wenn wir zurück gehen, wenn wir auf Maximieren auf Spiel klicken, führen Sie unser Spiel, und da gehen Sie. Das sieht wirklich, wirklich schön aus, besonders wenn man verschiedene Charaktere sieht. So haben wir die HP, das Manna, die aktuelle XP, die Erfahrung auf die nächste Ebene. Und dies ist ein dynamischer Schieberegler, den Sie später sehen, wie wir steuern können. Im nächsten Video werden
wir das Menü basierend auf der Spielereingabe ein- und ausschalten. Denn momentan, wie Sie sehen können, ist
es immer im Gesicht und wir wollen das nicht. Also sehe ich dich im nächsten Video.
47. Menümanager: Willkommen zurück, meine Mitspielentwickler. Wie Sie sehen können, haben wir die Speisekarte nicht mehr. Nun, wo ist es hin? Lass uns mit Jimmy danach suchen. Es gibt kein Menü, aber wenn wir eine bestimmte Taste drücken, ja, dann gehen wir. Wir haben das Menü, aber wenn wir den gleichen Schlüssel übergeben, verschwindet
es, erscheint, verschwindet. Und wir können das den ganzen Tag tun. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, Koffer. So sieht derzeit unsere Speisekarte gut genug aus. Natürlich werden wir später noch mehr Dinge hinzufügen, aber im Moment brauchen
wir eine Möglichkeit, dieses Menü zu schließen und zu öffnen. Also werden wir das tun und unser Menü-Manager offensichtlich. Also lassen Sie uns auf den Menü-Manager doppelklicken und öffnen und Visual Studio, das erste, was wir brauchen, ist offensichtlich ein Verweis auf das Menü. Also werden wir diese Zeile duplizieren. Und wir werden eine Spielobjekt-Variable erstellen. Und es wird das Handbuch einfach Menü sein. Als nächstes brauchen wir einen Weg, um sicherzustellen, dass wir das Menü mit einer Art Schlüssel ein- und ausschalten. Und das muss der gleiche Schlüssel sein. So müssen wir
zum Beispiel nicht die M-Taste verwenden, um das Menü zu öffnen. Und dann die, zum Beispiel, Ich weiß nicht, Peaky, um das Menü zu schließen, das ist nicht sehr nützlich. Wir brauchen einen Schlüssel, um das zu tun, und ich werde Ihnen eine Herausforderung stellen. Und Ihre Herausforderung besteht darin, nach Eingabe zu suchen, das Menü mit der M-Taste oder einer beliebigen Taste ein- und auszuschalten. Denn gut, Menü beginnt mit, und so mg ist die beste, die in der Aktualisierung. Also denke ich, wir haben das Update gelöscht. Sie können nur einen Schlüssel verwenden. Wie ich schon gesagt habe. Ich gebe Ihnen einen kleinen Hinweis, wie Sie nur einen Schlüssel verwenden können, wenn Sie es bereits wissen oder Sie es nicht wissen und sich selbst herausfordern wollen, jetzt
Pause machen, zur Herausforderung gehen. Falls nicht, prüfen Sie, ob das Menü in der Hierarchie aktiv ist. Sie müssen also eine Bedingung erstellen. Wenn es in der Hierarchie aktiv ist, wird es deaktiviert. Wenn es nicht aktiv ist, schalten
wir es ein und Sie wissen bereits, wie Sie etwas aktives einstellen können. Das ist ein weiterer Hinweis. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. O K dein Willkommensgruß zurück. Also eine Stunde Codierung hier unter Start, werden
wir das Update erstellen. Und Sie können sehen, dass es sofort für uns iteriert. Wir müssen nicht private void eingeben, geben
Sie einfach Update ein und drücken Sie Tab. Also, wenn der Menüpunkt aktiv oder aktiv und Hierarchie ist, dann werden wir den Menüpunkt
aktiv auf false else setzen . Und ich habe gerade bemerkt, dass ich nicht einmal die Verwendung des Schlüssels eingegeben habe. Also werde ich es jetzt tun, nachdem ich fertig bin. Und wenn es in der Hierarchie nicht aktiv ist als der Menüpunkt aktiv ist, wird
es wahr sein. Und wir werden all dies in einer Bedingung umschließen, dass FV-Eingang Keydown bekommen. Und auf einem Tastencode, der die m ist, werde ich alle diese bewegen, indem Sie Alt gedrückt halten und die Pfeile Überschrift Tab verwenden. Und da gehst du hin. Also jetzt und aktualisieren, überprüft
es, ob wir die M-Taste hatten, wir werden überprüfen, ob das Menü in der Hierarchie aktiv ist. Wir werden es auf „false“ setzen. Wenn dies nicht der Fall ist, werden wir es auf wahr setzen. Lassen Sie uns das testen. Also werde ich die Speisekarte herausstellen. Ich werde das Spiel laufen lassen. Ich werde die M-Taste drücken und nichts scheint passiert zu sein. Warum ist das so? Denn wenn wir hier doppelklicken, das Menü und die aktive Hierarchie, so dass Sie sehen können, nicht zugewiesen. Das bedeutet, dass wir vergessen haben, den entscheidenden Schritt zu tun. Und das in Canvas, müssen
wir ihm das Menü Objekt geben. werden wir retten. Wir werden aufhören, auf Play zu maximieren. Wir werden das Spiel laufen. Und wenn wir die M-Taste drücken, gehen wir los. Sie können sehen, dass wir unsere Speisekarte haben. Wenn wir wieder die M-Taste drücken, gehen wir los, es geht weg, ein und aus geht es. Also hoffe ich, Sie genießen es. Ich hoffe, Sie begehen Ihre Änderungen. Ich werde jetzt alles inszenieren, und ich werde sie verpflichten. Und wenn Sie den Kurs genießen, werden
Sie mich als Lehrer mögen. Bitte hinterlassen Sie eine Rezension. Es hilft mir sehr. Also mit dem besagten, Ich werde Sie im nächsten Video sehen.
48. Stop (wieder): Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir unseren Spieler davon abhalten, sich zu bewegen, wenn er das Menü öffnet. Also, wenn wir das Menü öffnen und wir waren immer noch in der Lage, unseren Spieler zu bewegen. Wenn wir uns jetzt in unserer Welt bewegen, sehen, werden
Siesehen,dass wir uns nicht mehr bewegen können. Und ich habe etwas sehr Seltsames getan und du schuldest es dir. Also bin ich in der Lage, den Schieberegler mit dem Rake als Maus zu steuern, also beschäftigen wir uns später damit. Aber jetzt verschwenden wir keine Zeit mehr und fangen wir an. Oh, okay, momentan haben wir ein Menü, das wir ein- und ausschalten können. Wenn wir also die MK drücken, sehen
Sie ein- und ausgeschaltet. Sehr gut. Aber das Problem ist, wenn wir uns bewegen, können
wir den Schlüssel einschalten und weitermachen. Und das ist nicht etwas, was wir wirklich wollen. Wir wollen den Spieler davon abhalten, sich zu bewegen, wenn er das Menü öffnet. Jetzt haben einige Spiele die Option, nicht die Option. Nun, wenn du das Menü in diesen Spielen öffnest, kannst
du dich immer noch bewegen wie zum Beispiel Dark Souls. Aber wir werden etwas anderes erschaffen. Wir wollen, dass der Spieler aufhört. Also haben wir schon etwas Ähnliches getan. Wenn wir in die Während es der Dialog Controller gehen. Hier können Sie sehen, dass, wenn wir öffnen oder wenn wir reden, wenn wir das Gespräch beginnen,
Sie sehen können, dass die Player-Punkt-Instanz, die Activate gleich falsch ist. Und bis dahin, nein, wir setzen es an einem anderen Ort hier drin. Also setzen wir es auf wahr, wenn wir
den Dialog aktivieren und dann wieder auf falsch, wenn wir aufhören zu reden. Das ist gut. Jetzt müssen wir es an einem anderen Ort hinzufügen, der der Menü-Manager ist. Aber es gibt ein kleines Problem. Diese könnten sich widersprechen. Wenn wir die Spielerbewegung von vielen Orten aus aktivieren, können
wir auf Probleme stoßen,
bei denen wir aufhören, sich zu bewegen oder sagen wir, wir öffnen den Dialog und öffnen sie und Sie. So können wir jetzt anfangen zu laufen. Wir können dies und unser Spiel sogar testen, wenn wir es dem Menü-Manager hinzufügen. Also wollen wir das vermeiden. Wir wollen einen zentralen Ort, an dem wir die Spielerbewegung gestoppt haben und welchen besseren Ort als die Nutzung des Spiele-Managers. Also hier werden wir zwei Variablen erstellen, eine öffentliche bool. Und sie werden das Spielmenü geöffnet und das Dialogfenster geöffnet. Und jetzt ein Update, wir werden für diese beiden überprüfen. Also, wenn Vi Spiel Menü geöffnet oder das Dialogfeld geöffnet, dann werden wir auf
die Spieler Punkt Instanz Punkt der Aktivierung Bewegung zugreifen und setzen Sie es auf true. Sonst. Wenn keiner von diesen beiden offen ist, dann werden wir die dritte Instanz der Deaktivierung
Bewegung auf false setzen oder wenn einer von ihnen schließt eine große. Jetzt haben wir einen zentralen Ort, an dem wir die Bewegung stoppen können, aber wir haben sie immer noch nicht zugewiesen. Und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht also darin, den Booleschen Wert an der richtigen Stelle zu setzen. Also müssen wir den Spieler daran hindern, sich an zwei Orten zu bewegen und unsere Skripte, also zwei Skripte, müssen wir den Spieler stoppen, sich zu bewegen. Wir müssen einen von ihnen anpassen. Und wir müssen sie mit der Instanz der Klasse setzen. Und natürlich ist die Klasse, auf die ich mich beziehe, der Game Manager. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Also als erstes hier drin, wenn wir drücken, wird die Encke auf den Spielmanager zugreifen. Instanz, dachte, das Spielmenü geöffnet und es wird gleich wahr sein, wird diese Zeile duplizieren. Wir werden es nach unten verschieben und wir setzen es auf, oder nein, dieser sollte auf false gesetzt werden und dieser ist wahr. Das Menü wird als gleich false geöffnet. Das bedeutet, dass dies nicht mehr wahr ist, und wir müssen die Bewegung zu aktivieren ist auf false gesetzt. Ok? Wir werden dies in unserem Spiel testen, stellen sicher, dass die Logik funktioniert und was sonst noch? Es ist wahr, okay? Und das nächste, wir müssen es im Dialog-Controller ändern. Statt der Spielerpunktinstanz auf false gesetzt, gehen
wir in den Spiele-Manager. Punktinstanzpunkt. Das Dialogfenster öffnet sich gleich false, weil wir hier fertig reden. Die aktuellen Sätze sind also größer als die verfügbaren Dialogesätze oder deren Länge. Das Dialogfenster ist also geschlossen. Und hier, wenn das Dialogfeld geöffnet wird, wird es die Game Manager-Punkt-Instanz sein, das Dialogfenster öffnet sich auf true. Also lasst uns voran gehen und das testen. Also lass mich dir noch ein Mal zeigen. Vielleicht hast du das nicht erwischt. Ich bin sehr schnell weitergezogen. Da gehst du. Jetzt gehen wir in unser Spiel. Lass uns spielen und wir können herumlaufen, wenn wir die M-Taste drücken. Ja, da gehst du. Wir können nicht herumlaufen. Man kann es vom Gras sehen, von hinten. Oder wir können auf den Player doppelklicken. Und da gehst du. Das ist unser Spieler. Wir haben versucht, uns zu bewegen. Ja, ja. Und das ist eines der Merkmale, eine
so große Leinwand zu haben. Wir können uns die Leinwand in unserem Spielmenü ansehen, aber immer noch in der Szene richtig sehen, was passiert. Okay, jetzt schalten wir die Leinwand oder das Menü aus. Wir können wieder perfekt herumlaufen. Jetzt gehen wir weiter und reden mit unserem kleinen Heiler hier drin. Also hatten wir den Schlüssel. Können wir laufen? Nein, wir können nicht, wenn wir mit dem Reden fertig sind, ja, wir können wieder laufen. Also hoffe ich, Sie genießen es. Ich hoffe, Sie speichern Ihre Repositories und ich sehe Sie im nächsten Video.
49. Stat einrichten: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir alle Statistiken einrichten. Also, wenn wir unser Spiel zuerst laufen, wenn wir die M-Taste hatten, werden
Sie feststellen, dass wir nur zwei Charakterfelder haben, wenn wir jetzt den Heiler entfernen, führen
wir unser Spiel. Sie werden feststellen, dass wir, wenn wir die M-Taste drücken, nur eine haben, weil wir nur einen einzelnen Spieler
oder Charakter haben und unsere Welt, die einen Spielerwert auf ihn hat. Vergeuden wir also keine Zeit mehr. Und wir müssen die Update-Statistiken und zum anderen verschieben. Das ist etwas, das ich einen großen Fehler machen werde. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay. Also, jetzt, lassen Sie mich das Menü einschalten. Derzeit haben wir alles eingerichtet. Also haben wir die HP, die Menge der aktuellen XP und so weiter. Alles, was in Bezug auf UI-Elemente eingerichtet ist. Nun, was wir brauchen, ist, dass wir diese UI-Elemente konvertieren und echten Charakter und zurück mit den Spielerstatistiken, die wir auf jedem unserer Spieler haben. Also werden wir dies im Menü-Manager tun. Wenn wir in die Leinwand gehen, doppelklicken Sie auf Menü-Manager. Und wir haben diese Gruppe hier. Zunächst brauchen wir einen Verweis auf die Spielerstatistiken. Also erstelle hier ein serialisiertes Feld, das ein, oh, weißt du was sein wird? Wir müssen es nicht einmal zu einem serialisierten Feld machen. Wir können es zu einem privaten Feld machen. Und wir können es hier runterschieben und das einfach entfernen. Also jetzt erstellen wir ein privates Spielerstatistik-Array, das einfach die Spielerstatistiken genannt werden wird. Die nächste Sache, da wir auf UI-Elemente zugreifen, muss sicherstellen, dass wir Unity Engine UI verwenden. Und jetzt wollen wir Verweise auf die verschiedenen Elemente, die wir haben. Also müssen wir sie in eine Klammer setzen, also ein serialisiertes Feld. Zunächst einmal wird es ein Text und Weg sein, und es wird den Namen Text
halten wird, um den HP Text zu halten. Und es ist h p Text. Es wird den Manatext, den Ebenentext, den XP-Text haben. Und ich denke, das ist alles, was wir hinzufügen werden, wenn wir feststellen, dass wir es brauchen, und vielleicht sollte ich das nach oben oder unten verschieben. Nein, ich werde nur behalten, dass es alle Elemente, die zusammen
sind, ohne Leerzeichen zwischen ihnen behalten wird . Das nächste, was wir brauchen, ist ein serialisiertes Feld für diese Schieberegler. Also ein Schieberegler, es wird
natürlich ein Array sein, weil wir mehrere Schieberegler haben. So XB, Schieberegler ist der Name unserer Variablen, wird ein serialisiertes Feld Array für die Bilder benötigen. So serialisierte Feld in jedem Array und das Zeichen, oops, das Zeichenbild. Und was brauchen wir noch? Oh, wir müssen die Anzahl der Panels im Auge behalten. Derzeit haben wir also drei statische Panels, aber sagen wir, wir haben nur einen Spieler mit Spielerstatistiken im Spiel, oder wir haben zwei Spieler. Also wollen wir kein drittes haben. Dies wird nur alles liebevoll machen. Also, was wir tun werden, ist, dass wir auch darauf verweisen. Also werden wir eine Reihe von Spielobjekten erstellen. Und es wird die Charakterfelder sein. Also Zeichenfeld, speichern Sie das. Jetzt werden wir alles in Unity setzen. Also, wenn wir zum Menü Manager gehen,
sehen Sie, dass wir alles hier drin haben. Wir werden das sperren und dann gehen wir zu dem Charakter und falsch wird alle von ihnen öffnen. Also öffnen wir alle drei. Und wir tun das, weil wir sie alle per Drag & Drop ablegen wollen. Also, anstatt jedes einzelne hinzuzufügen, gehen
wir so. Und stattdessen gehen wir, zum Beispiel, Zeichenname, Zeichenname, Zeichenname. Und wir schleppen sie alle hier rein. Und es erlaubt uns nicht, denn bitte kann ich es hier rüber ziehen? Nein, ich kann nicht y, y, o, also ist das keine Steuer. Das ist der MP Pro. Speichern Sie das. Versuchen wir es nochmal. Wir wählen diese drei und wir können den MPI Pro nicht verwenden da wir die TM-Sonden noch nicht hinzugefügt haben. Können wir jetzt weitermachen? Wieder? Es sagt mir, dass es einen Fehler gibt. Namespace JMP Pro. Ich habe hinzugefügt, wir verwenden die TMP Pro. Was ist das Problem? Mal sehen, im Dialog-Controller, ja, da gehen wir zu JMP Pro, dem MPI Pro. Ich denke, es wird sich in nur ein bisschen lösen. Text Mesh PRO Techniker Mesh GUI, speichern Sie das. Okay, jetzt endlich werden
wir den Namen des Charakters, den Namen des
Charakters, den Namen des Charakterswählen Charakters, den Namen des Charakters und ihn auf den Namenstext ziehen. So wie Sie sehen können, da gehen wir. Der erste bezieht sich auf den ersten, den zweiten und den dritten. Und das wird alles einfacher machen. Als Nächstes haben wir die HB. Also HB-Zeichen, HB, Zeichen HP-Zeichen HB, ziehen Sie es in den HB-Text. Also, da gehst du hin. PS, PS. Als nächstes ist das Mano ein Mano, ein Mano, Mann. Direkt und Text. Da gehst du. Stellen Sie also sicher, dass der erste auf den ersten verweist. Wir haben den Level-Text. So aktuelle XB, Jacqueline hier, der Charakter zum nächsten Level Schieberegler. Das ist also ordinal, der XP-Schieberegler. Ziehen Sie es in den XP-Schieberegler. Das Charakterbild, das ist etwas, das wir ändern müssen. So ändern sich die Charakterbilder oder nicht. Was wir tun müssen, ist, dass wir ihnen tatsächlich
beneidete Spielerstatistiken hinzufügen müssen , weil wir dies noch nicht getan haben. Die Charakterinfos und zum Zeichenfeld. Und schließlich haben wir den XP-Text, XP auf die nächste Ebene. Ich glaube, das ist es. Also Charakter SP2, nächste Ebene, ich glaube, es ist das. Wenn wir zu unserer Szene zurückkehren, ja, da gehen wir. So ist jetzt alles eingerichtet. Eine Sache, die wir tun müssen, ist, dass wir in die Spielerstatistiken gehen müssen. Wir müssen in die NFO gehen und erben. Wir werden ein serialisiertes Feld erstellen, das ein Bild sein wird. Und wir verwenden keine UI-Elemente. Es wird also ein Bild sein und es wird das Charakterbild sein. Speichern Sie das wieder in Unity. Wo haben wir Charaktere? Also lassen Sie uns die Leinwand für eine Sekunde schließen. Geh hier rein. Und jetzt können wir die Schlösser stoppen oder
auf den Baumstamm drücken , damit wir wieder sehen können, was hier vor sich geht. Wir brauchen das Bild, während das Bild, können
wir den Sprite-Renderer ziehen. Wird das funktionieren? Nein, wir müssen uns öffnen, das Bild
finden und dieses Bild hierher ziehen. Und es nimmt es nicht, weil es ein Sprite sein muss. Wie Sie sehen können, mache
ich auch viele Fehler. Es muss so hell sein, und wir ziehen die Heiler Brighton hierher. Also, da gehst du hin. Speichern Sie das Backend. Oder auch unser Spieler. Also, Jimmy, während gib mir dein Sprite. Gehen Sie sehr, sparen Sie das. Nun, ich denke, das wird funktionieren. Vielleicht wird es nicht nur, weil wir das ändern müssen, wo es im Menü-Manager ist. Das sollte vielleicht ein Sprite sein. Wir werden sehen, was in ein bisschen passiert. Nun, als nächstes brauchen wir eine Methode, um den Status zu aktualisieren. Also werden wir es erschaffen. Also, bevor wir das Bild verblassen, und hier werden wir eine öffentliche Leere erstellen, aktualisieren Statistiken. Und was sollen wir hier machen? Nun, das erste, was ist, dass wir die Spielerstatistiken brauchen. Also schreiben wir Spielerstatistiken ist gleich der
Spiel-Manager-Punkt-Instanz die Spielerstatistiken können wir darauf zugreifen? Nein, weil es ein serialisiertes Feld ist, während der Spiele-Manager ein serialisiertes Feld
ist. Machen wir es auf professionellere Weise. Also werden wir ein öffentliches oder öffentliches Spielerstatistik-Array erstellen, und wir nennen es „get player stats“. Und wir werden einfach die Spielerstatistiken zurückgeben. Also, da gehen wir und wir müssen es zu einem Array machen weil sein Rückgabetyp eine Reihe von Spielerstatistiken ist, nicht nur ein
Spieler-Status. Lassen Sie uns dies hier testen. Der Spieler, der Spieler Statistiken. Also, da gehst du hin. Jetzt hätten Sie diesen Schritt beim Erstellen einer Methode vermeiden können. Du hättest das einfach in eine Öffentlichkeit ändern und es dann benutzen können. Aber das ist nicht die professionellste Art, es zu tun. Wir wollen keinen Zugriff auf die
Spielerstatistiken haben , weil wir sie nicht ändern wollen. Wir wollen nur in der Lage sein, sie zu bekommen. Es ist kein Problem, wenn Sie das Spiel erstellen, aber irgendeinem Grund irgendwo versuchen Sie oder vielleicht haben Sie nur manipuliert die Spielerstatistiken ein wenig. Du wirst eine Menge Probleme haben. Wenn Sie also Methoden wie diese verwenden, vermeiden Sie diese Arten von Problemen
wirklich. Wir wollen die Spielerstatistiken nicht manipulieren. Wir wollen sie nur holen. Okay, also, wenn das aus dem Weg
ist, was sollen wir sonst tun? Wenn wir in
unsere Menü-Manager gehen müssen, um den Status jedes Mal zu aktualisieren, wenn wir das Menü öffnen. Also, nachdem wir das Menü geöffnet haben oder vorher tatsächlich, lassen Sie uns die Statistiken aktualisieren. Also aktualisiere Statistiken. Okay, was wir endlich tun wollen, ist, dass wir
fortfahren und jedes Zeichenfeld ausschalten wollen, das nicht verwendet wird. Und um das zu tun, werde
ich Ihnen eine Herausforderung stellen. Ihre Herausforderung besteht also darin, die Charakterfelder zu aktivieren. Erstellen Sie also eine Schleife, die durch die Spielerstatistiken geht und schalten Sie das Charakterfeld für die verfügbaren Spieler ein. Zuerst müssen Sie die Zeichenfelder
in Unity deaktivieren und dann die Schleife verwenden, um sie wieder einzuschalten. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also werden wir das alles ausschalten. Wir werden das hier drin retten. Wir werden eine Schleife erstellen. Also für int I gleich 0, für I weniger als VT Spieler Statistiken Punktlänge. Und für jedes Mal um 1 zu erhöhen. Lassen Sie uns zuerst einfach ausdrucken, wie viele ich bin. Wie viele KI sind nicht unsere wirklichen Augen, die Augen und hier, okay, das war ein schlechter Witz. Wir greifen auf das Zeichenfeld an der Position I zu. Und wir werden aktiv sein. Wahr. Speichern Sie das. Jetzt wieder hier drin, mal sehen, ob das funktioniert. Lassen Sie mich das Menü ausschalten. Hit Play. Also, jetzt drücken wir die M-Taste und wir haben nichts. Warum ist das so? Keiner von ihnen wurde eingeschaltet. Also, oh, da gehen wir. So können Sie sehen, dass zwei von ihnen eingeschaltet wurden und es hat eine Weile gedauert. Warum ist das so? Sparen? wir sicher, dass alles richtig funktioniert? Lassen Sie uns die MPC für jetzt drehen und sehen, was passiert, wenn wir das Spiel laufen. Wir hatten die M-Taste. Da gehst du. Also haben wir nur einen von ihnen aktiv, weil wir den Heiler entfernt haben. Wir müssen den Heiler wieder anschalten. Wir müssen das Spiel laufen, damit der Spielmanager tatsächlich finden kann. Also haben wir ein M da gehst du. Wir müssen, Sie können sehen, dass wir ein leichtes Problem haben, diese zu beheben, drücken Sie die zwei Mal, aber alles scheint gut zu funktionieren. Aber wir sind immer noch nicht fertig, weil wir alle Informationen, die wir eingerichtet haben, füllen
müssen. Das machen wir im nächsten Video.
50. Stats aktualisieren: Willkommen zurück, meine Spiele-Entwickler. In diesem Video wird unser Menü tatsächlich etwas Nützliches tun. Wenn wir also auf unseren Heiler schauen, sagen
wir, die aktuelle XP sollte 50 sein, das aktuelle Haus sollte 60 sein. Und nein, denn das Maximum ist 30, das ist es auf 20. Und das aktuelle Mana wird drei sein. Wir werden unser Spiel laufen. Wir werden die M-Taste drücken und Sie werden feststellen, dass wir hier alles richtig eingerichtet haben. Wir haben sogar diese Schieberegler. Sie können sehen, dass es genau in der Mitte ist, weil es hat, oder sie hat, der Heiler hat Sara 50 Punkte von 100, also ist es genau in der Mitte. Also lasst uns keine Zeit mehr verschwenden und loslegen. Derzeit setzen wir nur die Panels auf aktiv. Der nächste Schritt besteht darin, tatsächlich voran zu gehen und zu verwenden, wo ist es auf den Spielerstatistiken. So zum Beispiel, die Spieler-Ebene, die aktuelle XP und so weiter und so weiter. Nun müssen einige von ihnen öffentlich sein, um auf sie zugreifen zu können. Also lasst uns anfangen. Das erste, was wir wollen, ist der Name des Spielers. Also der Namenstext an der Position I. Und wir machen das alles innerhalb der for-Schleife. Also gehen wir durch alle Spielerstatistiken, die verfügbar sind. Wir müssen sicherstellen, dass es dot txt ist und es wird gleich den Spielerstatistiken an Position I, dass der Spielername. Wie Sie sehen können, müssen
wir eine Menge von diesen ändern. Jetzt. Wir haben es vorher auf die ausgeklügeltere Art und Weise getan. Aber ich denke nicht, dass es den Aufwand wert ist, eine Methode für jeden von ihnen zu erstellen. So können wir einfach voran gehen und machen es zu einer Öffentlichkeit, machen die Dinge, die wir brauchen, öffentlich. Es wird also der Name des Punktspielers sein. Da gehst du, Speichern Sie das. Als nächstes werden wir den HP Text an der Position I bekommen, die Steuer, der Spieler. Jetzt hier drin werden wir etwas anderes machen. Denn wenn wir zurückgehen, führen
wir das Menü. Wir schalten aus, schalten einen der Charaktere ein. Sie bemerken, dass HP nicht einfach die Nummer ist. Es ist auch die Verkettung mit dem Wort HB. Also, wenn ich auf die Leinwand doppelklicke, wenn ich hier klicke, werden
Sie feststellen, dass Zeichen NFO HP Punkt und die Zahl ist. Was wir also tun müssen, ist, dass wir das berücksichtigen müssen. Also werden wir schreiben,
zuerst, öffnen Sie diese zwei Zitate. Zitate, okay, Also HP, und dann fügen wir die beiden Punkte hinzu, und dann fügen wir ein Plus hinzu. Und das haben wir vorher in einem unserer Drucke gemacht. Dies bedeutet, dass wir eine ganze Zahl mit dem HB verketten. Also dann werden wir ein weiteres Plus hinzufügen. Wir werden den Schrägstrich und ein weiteres Plus hinzufügen, und es sind die Spielerstatistiken. Ich dachte, Max HP, und wir müssen gehen und hier. Während die max HP, die max HP ist öffentlich und die aktuelle HP ist auch öffentlich. Speichern Sie das hier drin. Aktuelle HB, Max HP, speichern Sie das. Ok. Als nächstes haben wir das Mono. Also müssen wir wieder hier reingehen und sie öffentlich machen. Und klicken Sie auf Speichern Sie das hier. Und der Text als die aktuelle Art und Weise und das Maximum. Also, wie langweilig ist das zu tun? Aber es ist notwendig, so die Ebene Text Punkt txt. Oh, und wir müssen auch die Saiten hier drinnen ändern. Also Mana, AHP. Jetzt das Level. Also, was schreiben wir hier rein? Die, oh, wir haben nicht einmal eine Ebene geschaffen, also ist es die aktuelle, diese Ebene Steuer sollte geändert werden, denke ich so. Gehe in die Leinwand, Menü-Manager, der Level-Text, es ist die ,
okay, also ist es die aktuelle, also müssen wir ändern. Ich denke nicht, dass nivellierte Texte wirklich das richtige Wort darstellen, also werde ich dies in den aktuellen XP-Text ändern und es anwenden. Die aktuelle XP ist also der Spieler statt der aktuellen XP, und das haben wir nicht. Sie können der Ebene auch eine Steuer hinzufügen. Also, das Niveau, auf dem unser Spieler ist, machen Sie das öffentlich, speichern Sie es wieder hier drin. Aktuelle XP. Und wir denken nichts davon. Speichern Sie das. Und was haben wir sonst noch? Nun, wir haben viele mehr, aber im Moment, lassen Sie uns retten, das geht hier. Lassen Sie uns den Charakter und den Herbstbegriff des Menüs drehen. Und bevor ich vergesse zu essen, hatten wir früher die Aktualisierungsstatistiken hier drin, aber ich habe es hier reingefügt und dachte, dass wir dort öffnen. Eigentlich wissen, dass n hier ist, wo wir tatsächlich die Menüs öffnen. All dies ist, wo wir die Update-Statistiken Backend unser Spiel nennen, den Code
ausführen und jetzt sehen wir, dass wir, wenn wir die M-Taste drücken, eine externe Bindung haben. Was ist das Problem? Also schauen wir uns den aktuellen XP-Text an. Was ist los? Okay, willkommen zurück. Das Problem ist also, dass wir den Namen der Variablen geändert haben, ohne ihn hier einzustellen. Also zurück in der Menü-Manager-Lockdown, das ist öffnen Sie den Charakter NFO. Lassen Sie uns das Zeichen erhalten, während Zeichen aktuellen XP. Und ziehen wir sie hier rein. Also, da gehst du. Speichern Sie das. Jetzt sollten wir keine Probleme haben. Wir führen das Spiel, hatten die MP. Ja, da gehen wir. So haben wir die HPs über 100 minus 0 über 30, und die aktuelle Erfahrung ist 36. Also, wenn wir gehen wollen, überprüfen Sie es auf dem Spieler, Lassen Sie uns das entsperren. Wir können sehen, dass die aktuelle Erfahrung sechsunddreißig, groß. Die nächste HP ist 100, die aktuelle h ist 0. Wenn wir es 20 machen und das Menü ausschalten, schalten
wir es wieder ein. Da gehen wir. Also haben wir 20 PS. Das sieht aus oder scheint zu funktionieren. Und jetzt müssen wir den Rest beenden und wird Ihre Herausforderung sein. Ihre Herausforderung besteht darin, die Erlebnissteuer abzuschließen. Aktualisieren Sie also den Schieberegler. Und vor allem, bevor Sie den Schieberegler aktualisieren, müssen
Sie den Maximalwert auf dem Schieberegler aktualisieren. Was meine ich mit Maximalwert? Wenn wir hier zurück schauen, wenn wir auf den Schieberegler klicken, können
Sie sehen, dass wir einen Wert haben und hier haben wir das Minimum und das Maximum. Also, wenn wir sagen, machen Sie den maximalen Wert 50, werden
Sie feststellen, dass wir von eins zu 50 gehen. Sie müssen sicherstellen, dass Sie den Wert auf den Schiebereglern aktualisieren. Also, mit dem gesagt, lassen Sie mich Sie zurück zu der Herausforderung. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, willkommen zurück. Das erste, was wir tun müssen, ist, dass wir in den XP Schieberegler gehen müssen. Okay, Also XP Schieberegler auf der Position i Punkt max Wert, es wird gleich der Spieler beginnt an der Position I Punkt XP auf die nächste Ebene, und wir haben es nicht. Also die x B2 nächste Ebene ist öffentlich. Speichern Sie das, und schauen wir mal. Also für die nächste Ebene. Und hier drin müssen wir etwas sehr Wichtiges tun. Wir müssen den Experten an einer bestimmten Position auf die nächste Ebene bringen. Was wir also tun werden, ist, dass wir diese Position bekommen werden, indem wir uns
die Spielerstatistiken an Position I, dieser Spielerebene ansehen . Also brauchen wir das Niveau und das Niveau des Spielers muss öffentlich sein. Ich weiß, dass viele von Ihnen hierher gestolpert sind. Das war der schwierige Teil der Herausforderung. Ich hoffe, du hast es richtig verstanden. Warum machen wir das? Du fragst vielleicht, was passiert hier drin? Wenn wir auf die XP für die nächste Ebene gehen, werden
Sie feststellen, dass es ein Array ist und wir wollen, um die bestimmte Position zu erhalten. Also brauchen wir das Niveau des Spielers. Und mit dem Level des Spielers möchten
wir auf das Erlebnis zugreifen, um zum nächsten zu gelangen, um es einzustellen. Das ist, warum hier in der Menü-Manager, wir verwenden die Player-Ebene an Position I und bekommen das Niveau, dass seine Anzeige und mit dieser ganzen Ganzzahl und bestellt, um durch die XP für die nächste Ebene zu suchen. Ich hoffe, das war nicht allzu schwer als Herausforderung. Und jetzt werden wir auf den Wert zugreifen, die Spieler, die ich punktieren. Und wir werden die aktuelle exp verwenden, speichern Sie das. Und schließlich brauchen wir die XP besteuert. Also ist die XP, die an Position i Punkttext besteuert
wird, natürlich gleich den Spielerstatistiken an Position I, dem aktuellen XB Punkt zwei String. Das war also eine der zweiten Herausforderungen. Ich weiß, dass diese Herausforderung sehr hart war. Was wir hier tun, wenn wir keinen Punkt zur Zeichenfolge hinzufügen, werden
Sie feststellen, dass wir einen Pfeil bekommen. Dieser Pfeil sagt uns also, dass wir eine ganze Zahl nicht implizit in eine Zeichenfolge konvertieren können. Also, um es in eine Zeichenfolge zu konvertieren, werden
wir toString schreiben. Und dann fügen wir die Verkettung mit dem Schrägstrich hinzu. Und dann greifen wir auf die Spielerstatistiken an Position i zu, Punkt XP auf die nächste Ebene an der Position, die wir hier bereits erstellt haben. Also, was ist die nächste Stufe? Legen Sie es hier rein. Und da gehst du. Das sollte fast alles abdecken, wenn wir keine Fehler gemacht haben. Also, wenn wir, fügen
wir den NSC-Heiler wieder hinzu. Also, als wir unser Spiel laufen, hatten
wir die M-Taste. Da gehen wir. Wir haben die Erfahrung auf die nächste Ebene, weil wir haben, vielleicht sollten wir diese in weiß geschrieben haben. Lassen Sie mich das Spiel maximieren, damit wir sie klarer sehen können. Also, als wir die MK hatten, da gehst du. Um zum ersten Level zu kommen, brauchen wir 100. Wir machen das zu einer anderen Farbe. Wir haben 36. So können Sie sehen, dass sich der Schieberegler automatisch ändert und wir haben nicht das Bild für Sarah. Warum ist das? Weil wir das nicht zu einem Bild machen sollen, sondern zu einem Sprite. Und ich bin sicher, das ist das Problem. Und nicht einmal, dass wir es nicht einmal zugewiesen haben. Also hier drin werden wir das Charakterbild an Position bekommen, die ich werde. So Charakterbild an Position, die ich das Sprite punkte. Warum machen wir das? Denn wenn wir auf eines unserer zurückblicken, sagen
wir, Charakterbild hier drin, werden
Sie feststellen, dass wir das Bild und die Notwendigkeit haben, das Sprite auf es zu ersetzen. Also das Zeichenbild Punkt Sprite ist gleich dem und wir müssen sicherstellen, dass die, wo ist es? Das Sprite auf dem Spielerwert ist öffentlich. So geht es an die Spieler, die an Position i Punkt Charakter MHC2. Wir werden das retten. Wir gehen zurück in Unity und hoffentlich wird das Bild funktionieren. Also, wenn wir die M-Taste hatten, sehr Ziel. Auch wenn Sarah nicht so gut aussieht, wie sie sollte, sieht
alles gut aus. Alles funktioniert einwandfrei. Ich hoffe, Sie haben dieses sehr lange Video genossen. Wir sind etwa 20 Minuten. Einige Bearbeitung wird hoffentlich helfen, aber wir haben alles getan. Und das nächste Video, wir werden eine Möglichkeit für uns schaffen, durch das Menü zu navigieren. Also sehe ich dich in der nächsten.
51. Verwendung der Buttons: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir unsere Tasten zu verwenden. Wenn du dich daran erinnerst, unsere Knöpfe nichts getan. Aber jetzt, wenn wir auf die Schaltfläche „Elemente“ drücken, erhalten
wir ein anderes Panel. Wenn wir die Statistiken treffen, bekommen
wir ein anderes Panel. Und wenn wir das Spiel beenden, sehen
Sie das mit, mit dem Spiel. Leider, weil wir noch im Unity-Editor sind, macht
der Schnell nichts. Es wird später, wenn wir unser Spiel bauen, aber im Moment funktioniert es, indem es etwas auf die Konsole ausdruckt. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, jetzt, wenn wir unser Spiel laufen, wenn wir unser Spiel laufen,können
Sie sehen, dass, wenn unser Spiel irgendwann läuft, wenn wir die M-Taste drücken, wir das Menü haben. Alles ist ziemlich richtig eingerichtet. Vielleicht müssen wir das Sprite auf dem kleinen Hilar hier reparieren, aber die Tasten funktionieren nicht. Warum ist das? Nun, weil wir ihnen nichts zur Arbeit gegeben haben. Also brauchen wir eine Möglichkeit, wenn wir auf den Status-Button oder die Items Button klicken, wollen
wir uns in anderen vielen öffnen. Also werden wir die Leinwand öffnen, das Menü
öffnen, damit wir alles sehen können. Und wir werden voran gehen und setzen alle Zeichen und für unter einem einzigen leeren Objekte, oder dies wird der Charakter NFO sein. Und wir werden alle drei ziehen und auf den Charakter und für die IT. Und das nächste, was wir tun werden, ist, dass wir ein neues Panel erstellen. Also gehen Sie zu Ihrem Augenfeld und wir werden
es ein bisschen kleiner machen , so dass es direkt unter den Knöpfen passt. Und wir werden ihm den Hintergrund geben, den wir verwenden. Also geh zu den Elementen, gib ihm den Hintergrund, den wir immer benutzen, und dreh dich, whoops, wo ist es? Also schalten wir alles komplett ein. Da gehen wir. Wir können es sogar größer machen. Also machen wir es einfach, Hopps, nein, wir wollen es ein bisschen größer machen. Also, da gehst du hin. Wir haben also mehr Platz zum Arbeiten. Und dieses Panel wird das Items Panel sein. Die Elemente oder Elemente oder Elemente Panel an hängt also von Ihnen ab. Was du nennen willst. Es muss nur repräsentieren , was die Elemente korrekt sind. Okay, großartig. Jetzt brauchen wir eine Möglichkeit, dieses Panel ein- und auszuschalten, wenn wir die Tasten sammeln. Jetzt gibt es viele Möglichkeiten, wie wir eine Methode im Menü-Manager erstellen können, um dies zu handhaben. Oder wir können auf die Schaltfläche „Artikel“ gehen. Wenn wir also die Schaltflächen öffnen, gehen
wir zum Item-Button. Wenn wir nach unten scrollen, können
Sie auf der unteren Spielkomponente oder die Button-Komponente sehen, wir haben einen onclick. Diese onclick, es tut, was es sagt. Immer wenn Sie darauf klicken, tut
es etwas und wir können hier eine Funktion hinzufügen, damit es zu tun ist. So können Sie sehen, derzeit können wir ein Objekt hinzufügen und das ist, wo wir sein werden. Hoppla, tut mir leid. Also, wenn wir zurück zu der Schaltfläche Elemente hier unten gehen, können
wir die Elemente Panel hier ziehen, wenn es uns erlaubt. Also die Elemente Panel, und Sie können sehen, dass derzeit gibt es keine Funktion. Wenn wir darauf klicken, haben wir viele Optionen, und eine von ihnen ist das Spielobjekt. So können wir auf das Spielobjekt zugreifen und viele Dinge damit machen. So zum Beispiel der String-Name und so weiter. Aber was uns interessiert, ist das Set aktive Buch. Wenn Sie also hier klicken, sehen
Sie, dass wir dieses kleine Kontrollkästchen bekommen. Und diese kleine Checkbox stellt dar, ob wir
aktiv auf true setzen wollen oder ob wir die aktive auf false setzen wollen. Wenn wir also die aktive auf true setzen, bedeutet
das, dass dieses Panel auf gut aktiv gesetzt wird. Also, wenn ich einfach das Elemente-Panel ausschalten, wenn wir das Spiel ausführen und das Menü ausschalten, schalten Sie es wieder ein. Also, wenn ich auf die Items klicke, sehr gehen. Wie cool ist das? Wenn ich erneut klicke, passiert nichts, weil es nichts anderes zu tun hat, es schaltet nur das Elementfenster ein. So werden wir verschiedene Menüs öffnen und schließen. Also mit diesem Wissen, ist
es Zeit für Sie, die Zustände Panel und Pflicht Herausforderung zu erstellen. Ihre Herausforderung besteht darin, den Stat-Knopf abzuschließen. Sie müssen also die Statistiken einschalten und alles andere ausschalten. Und ich spreche nicht nur über den Charakter NFO. Ich rede von den Statistiken viele. Was meine ich damit? Wie Sie sehen können, haben wir eine Stat-Schaltfläche, die sich von den regulären Zeicheninformationen
unterscheidet , die wir erstellt haben. Also
lassen Sie mich mit diesem Wissen wieder hier reingehen. Pausieren Sie das Video jetzt, erstellen Sie das Statistikfenster. Es muss nichts drin haben, genau wie die Gegenstände. Sie können das Bedienfeld „Elemente“ duplizieren, und Sie müssen die Statusschaltfläche festlegen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, Willkommen zurück. Gehen wir also zum Elemente-Panel. Wir werden es duplizieren und wir werden es in das Statusfenster ändern. Wir werden später sehen, was das Statusfenster tut. Also gehen wir in die Statistik. Wir werden das Statusfeld einschalten. Wir ziehen es hier hinein, setzen das Spielobjekt so ein, dass es aktiv ist, und wir setzen es auf true. Aber nicht nur das, die Herausforderung sagt auch und alles andere aus. Also gehen wir wieder hier rein. Wir werden ein weiteres onclick-Objekt unter dem Statistikfenster erstellen. Wir werden das Elemente-Panel ziehen. Und hier gehen wir zum Spielobjekt,
setzen aktiv, und wir werden es auf false setzen. Wenn wir also jetzt auf den Status-Button oder die Stat-Schaltfläche klicken, werden
wir aktiv einstellen. Die Statistiken sollten die Statistiken sein, nicht der Status. Also die Statistiken. Wenn wir also das Statistik-Panel einschalten, schalten
wir das Elemente-Panel aus und wir werden das Gleiche hier für die Gegenstände tun. Also, woher sollen wir den Unterschied wissen? Wir sind jetzt nicht mehr. Später sehen Sie, dass es einen Unterschied gibt. Wenn Sie möchten, können Sie vielleicht ein wenig etwas hinzufügen , das die Elemente von den Statistiken unterscheidet. Gehen wir weiter und machen das. Eigentlich ist das eine gute Idee, mit der ich gerade angefangen habe. Lass es uns einfach ein bisschen kleiner machen. So speichern wir das jetzt. Wir werden das Statistik-Panel ausschalten. Wir werden unser Spiel laufen. Lassen Sie mich einfach verlassen, schalten Sie das wieder ein. Gehe zu den Artikeln. Da gehst du. Dies ist das Items Panel, das große. Jetzt sollten wir einen kleineren haben, wenn wir die Statistiken hatten. Da gehst du. Wir haben einen kleineren. Wir haben immer noch die Charaktere hier. Sie können sie auch ausschalten. So Charakter NFO sollte nur kommen, wenn wir betreten. Wir werden sehen, wie wir das später herausfinden können. Wir haben auch die letzte Sache, die die Schaltfläche Beenden ist. Und dafür, weil wir aufhören und aus unserem Spiel gehen wollen, werden
wir eine Methode dafür schaffen. Also gehen wir in den Menü-Manager. Wir werden hier eine Methode erstellen und es wird eine öffentliche Leere sein, beenden Spiel. Und hier drin werden wir Anwendungspunkt schreiben. Also, was das tut, wird es uns aus der Anwendung nehmen. Aber weil wir unser Spiel noch nicht erstellt
haben, verwenden wir es immer noch im Unity-Editor. Es wird nichts tun. Also, was wir tun werden, ist, dass wir Debug Dot Log verwenden. Und wir drucken hier eine Nachricht aus, die besagt, dass wir das Spiel beendet haben. Speichern Sie das, gehen Sie zurück in die Einheit. Und mal sehen, wie wir das tun können. Wir gehen in die Schaltfläche Beenden gehen,
scrollen Sie nach unten bei onclick Objekt. Wir gehen hin, wo ist es? Wo ist es, die wir ziehen und die Leinwand weil wir eine Methode verwenden, die auf dem Menü-Manager ist. Also, während der Menü-Manager, es ist auf der Leinwand, da Sie gehen. Der Menü-Manager befindet sich auf der Arbeitsfläche. Also ziehen wir und über Canvas auf das Objekt, nach dem hier gefragt wird, die Nicht-Funktion wird darauf klicken und Sie werden feststellen, dass wir einen Menü-Manager haben sollten. Und hier können wir auf alle Methoden zugreifen, die es gibt. Und einer von ihnen ist das Spiel beenden. Fade Bild ist auch einer von ihnen. Wenn Sie also eine bestimmte Methode über OnClick aufrufen möchten, stellen Sie sicher, dass sie öffentlich ist. Also werden wir das retten. Wir werden das Menü ausschalten. Lassen Sie mich das Menü ausschalten. Wir führen unser Spiel. Wir haben die M-Taste hatte, klicken
Sie auf ein Beenden. Und da gehst du. Sie können die Nachricht auf der Konsole mit beenden das Spiel ausgedruckt sehen. Also, wenn das erledigt ist, hoffe
ich, Sie genießen es. Im nächsten Video werden wir unser Statistikpanel erstellen und alles
hinzufügen, was wir brauchen, um dort zu beenden. Also sehe ich dich in der nächsten.
52. Status Witwe UI: Willkommen zurück meine Spiele-Entwickler zu diesem sehr, sehr langen Video. Es ist lang, weil wir viele von euch haben, die ich einrichten muss. Also, wenn wir jetzt die M-Taste hatten, klicken
wir auf die Statistiken. Da gehst du. Sie können sehen, dass wir ein Statistik-Menü erstellt haben. Wir haben den Namen der Geschicklichkeitsverteidigung ausgerüstet Waffe, Rüstung, Rüstung Verteidigung, und so weiter. Sie haben auch diese Namen hier drin, und sie sind nicht nur zur Show. Wenn wir den MPC Heiler drehen, da gehen wir, Wir schalten es aus. Wir gehen raus, wir gehen zurück und wir treffen Statistiken. Okay, das funktioniert nicht. Das könnte den Heiler hier ausschalten. Das ist so peinlich. Hatte das falsche Spiel. Bitte arbeiten Sie. Okay, also los gehst du. Wir haben nur einen Namen, weil wir nur einen einzigen Charakter
haben, der eine Spielerstatistik auf ihnen hat. Also lasst uns nicht mehr Zeit verschwenden, und lasst uns beginnen, indem wir diese Statistiken viele 0 einrichten. In diesem Video werden wir also unsere Statistiken aufstellen. Also werden wir das Statistik-Panel einschalten und versuchen, es auf seine vorherige Größe zurückzusetzen. Und lasst uns auf die Tiki klicken, die es uns ermöglichen, auf das rec-Tool zu gehen erscheinen und wir werden es einfach so groß machen. Also gehen wir hin. Das ist unser Statistikpanel, das wir ausfüllen werden. Also das erste, was wir tun werden, oder lassen Sie mich Ihnen sagen, die Vision von dem, was wir tun werden, und Sie können Ihre eigene Vision anpassen, wie Sie wollen, die Statistiken aussehen. Wir werden vielleicht drei Buttons in hier oder
vier Buttons hinzufügen , je nachdem, wie viele Charaktere oder Spieler Sie haben möchten. Und dann fügen wir ein Bild hier oder hier oder irgendwo hinzu,
vielleicht denke ich, auf der linken Seite, um den Spieler zu repräsentieren. Und dann werden wir alle diese Statistiken hier hinzufügen. Und Sie fragen sich vielleicht, warum das anders ist als die Charakterinfo. Charakter NFO ist nur für wie viel Anzeige oder Gesundheit haben. Aber dies wird darstellen, wie viel der Spieler hat Verteidigung, Geschicklichkeit und welche Waffen er später
ausgestattet werden , wenn wir tatsächlich Waffen zu schaffen ausgestattet. Das ist also die Aufgabe der statischen Spannweite und nicht des Charakters. Charakter ist nur ein kurzer Blick. Dies wird ein tiefer Blick auf das, was der Spieler tatsächlich tut. Also lasst uns anfangen. Lassen Sie uns zunächst mit der rechten Maustaste hier rein und wir werden unsere Schaltflächen erstellen. Also gehen wir in dein Auge und wir werden einen Knopf erstellen. Ok? Ich dachte, für einen Moment dort habe ich nicht darauf geklickt. Wir werden ihm das Hintergrundbild geben, an das wir gewöhnt sind. Und wir werden es hier einrichten, damit wir es etwas größer machen. Da gehst du. Ich denke, das ist genug. Und wir werden diesen Text entfernen. Wir werden unseren eigenen Text hinzufügen, Nash Pro, und wir werden ihm das Mittelalter geben. Wo ist es hin? Also werden wir ihm das mittelalterliche Unregelmäßige geben. Sicher, nun, es heißt, es wird der Name des Spielers genannt. Also, da gehst du, der Name des Spielers. Es wird auch der Name des Textes sein. Wir müssen das nicht tun, aber wir werden es einfach ändern. Wird es fett machen, wird es schwarz machen. Und genau wie immer. Also nichts anderes im Moment. Und mal sehen, was hier passiert. Lassen Sie uns den Text auf die richtige Größe anpassen. Und da gehst du. Vielleicht machen wir die Schrift etwas kleiner. Okay, also los gehst du. Dies ist der Name des Spielers. Ich denke, dieser Knopf ist genug. Wir nennen es die Schaltfläche „Ebenen“. Und wir werden das zwei Mal duplizieren. Also dupliziere die Schwäne, ziehe sie ein wenig runter. Duplizieren Sie das ein anderes Mal, fiel ein bisschen herunter. Also, da gehst du hin. Jetzt haben wir diese drei Spieler, und ich hoffe nur, dass die Distanz korrekt Kenner ist. Also, da gehst du hin. Als nächstes fügen wir ein Bild hinzu. Also klicken wir hier mit der rechten Maustaste. Und bevor wir weitermachen, lasst uns dies einfach unter einem einzigen Spielobjekt machen. Wir haben eine sehr schöne Hierarchie. So wie Sie sofort sehen können, wird
das sehr verwirrend. Also empfehle ich immer, dass Sie Schaltflächen,
Staffs, Panel, Schaltflächen im Statistikfenster und so weiter erstellen . So haben Sie eine sehr gute Organisation. Okay, also als nächstes ist die Benutzeroberfläche, das Bild, und das wird das Bild des Spielers sein, Spielerbild. Und lassen Sie uns einfach das Standardbild unseres Spielers geben. Also, wo sind sie in den Charakteren? Gib ihm das hier. Also, da gehst du hin. Wir werden auf native SIFS Erhaltung Aspekt setzen wird es ein bisschen kleiner machen. Und ich bin mir nicht sicher, wo du einstellen willst, dass das hier
drin sein könnte und dann alles auf die rechte Seite gesetzt wird. Es wird wirklich abhängen, es hängt davon ab, dass Sie sich Zeit nehmen. Ich tue alles, was mit deinem Auge zu tun hat. Ich versuche, es durchzugehen, weil es
nicht so ist, als würdest du nichts lernen, indem du Knöpfe duplizierst. Ich mag es, sie ein bisschen schneller zu überspringen. Nehmen Sie sich also die Zeit, um Ihr eigenes Layout zu erstellen. Also das Spielerbild, werden
wir mit der rechten Maustaste klicken und wir werden zwei Sätze von erstellen, sagen wir Dinge. Wir werden die Etiketten auf der linken Seite und die Werte auf der rechten Seite haben. Und wir müssen tatsächlich haben, wissen
Sie was, gehen Sie einfach zu den Buttons, gehen Sie zu einer dieser Buttons, duplizieren Sie den Namen des Spielers, und wir setzen ihn draußen. Also, da gehst du hin. Jetzt können wir das hier benutzen. Es ist viel schneller. Und das vor allem wird
es der Name sein,
also der Name des Spielers, und wir werden es nur ein bisschen kleiner machen. Da gehst du. Also Name. Wir werden das nochmal duplizieren. Dies wird sein, dass der HP dies erneut duplizieren wird, und wir werden alle diese festlegen, bevor wir anfangen, dies zu duplizieren, lassen Sie uns ein leeres Spielobjekt erstellen, die Labels, und wir werden all diese unter den Labels setzen. Und wir werden sie auf der rechten Seite so ins Gesicht bringen. Und lassen Sie uns sie auf die Mitte setzen, so dass sie alle nach rechts eingestellt sind. Wir werden das nennen, die HB. Nochmal, wir werden es tun.
53. Informationen zur Status erkennen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden Sie feststellen, dass ich viele Fehler gemacht habe, aber wir haben etwas keines bekommen. Wenn wir also zu den Statistiken gehen, können
Sie sehen, dass der Name Jimmy HBS ist, 0 zu eins über 100, Geschicklichkeit 1030. Aber was passiert, wenn wir auf Sarah klicken? Da gehst du. Sie können sehen, dass sich alle Statistiken ändern und wir können durch sie hin- und hergehen. Also lasst uns nicht mehr Zeit verschwenden und loslegen. Oh, komm zurück. Also, was wir jetzt tun werden, ist, dass wir unser Status-Panel einrichten. Also werden wir alles einrichten, einschließlich der Knöpfe. Das erste, was wir tun müssen, ist, dass wir tatsächlich die richtigen Namen auf den Tasten setzen. Und es wird deine Herausforderung geben. Also Ihre Herausforderung ist es, die Namen zu setzen, so traurig die Namen der Spieler auf den Tasten. Innerhalb der Schleife greifen Sie auf die Steuerkomponente auf die Schaltflächen zu, und verwenden Sie die Komponente Get in untergeordneten Elementen, um auf diese Texte zuzugreifen. Sie recherchieren also nur ein wenig darüber, wie die Get Component und Kinder funktionieren. Dies erspart uns viele, sagen wir, serialisierte Felder, die wir sonst hinzufügen müssen. Also ResearchKit Komponenten und Kinder und verwenden Sie es, um die Komponente auf dem Homosexuell hinzuzufügen. Also sehe ich dich in nur ein bisschen. Oh, okay, willkommen zurück. Ich hoffe, du hast versucht, das zu tun. Also, wie funktioniert das? Wir gehen weiter und benutzen die Statistik-Tasten auf der Position I nachdem wir es auf aktiv eingestellt haben, werden
wir die Komponente und Kinder bekommen und ich werde die Hunde nicht öffnen. Ich hoffe, du hast es versucht. Aber wie Sie sehen können, gibt es die Komponente Typ, Typ, das Spielobjekt der Kinder. Also greifen wir auf die Buttons direkt hier zu, und sie haben Kinder, die der Name des Spielers oder diese Texte sind. Also werden wir auf sie zugreifen. Also werden wir Kinder oder Komponenten bei Kindern bekommen. Und wie Sie sehen können, wird es uns fragen, auf welche Art wir zugreifen möchten. Es wird vom Typ TM pro Zeile sein, kein Text Mesh, Mesh pro GUI. Und wir werden auf das Textelement zugreifen. Und es wird gleich den Spielerstatistiken an Position i Punkt-Layer-Namen sein. Also werden wir das retten. Wir werden wieder in Unity gehen und darauf warten, dass dies kompiliert wird. Deaktivieren Sie diese Registerkarten. Lass uns das Spiel laufen und mal sehen, hatte der MPI die Statistiken geöffnet und du gehst, Jimmy. Also müssen wir den Namen nur ein wenig auf diesen Panels anpassen. Wenn wir hier reinschauen, wo ist der Knopf? Also lasst uns das aufmachen. Wir werden sie in die Mitte bringen. Und ich denke, das reicht. Speichern Sie das. Schalten wir den Heiler ein. Versuchen Sie es noch einmal. Stellen Sie sicher, dass es funktioniert. Und wir werden diese AP Stats drehen. Da gehen wir. Also Jimmy und Sarah. Also ich hoffe, Sie verstanden, wie bekomme Komponente und Kinder funktioniert. Das nächste, was wir tun werden, ist, dass wir
alle Variablen benötigen , um die Labels und die Werte darzustellen. Also lassen Sie uns unseren Menü-Manager öffnen und wir werden eine Menge serialisierter Felder benötigen. Also zuerst, lassen Sie uns voran und erstellen Sie ein serialisiertes Feld für den Text oder die Textnachricht Profis oder Text. Ich vergesse immer, wir verwenden Text Mesh Sonde Text Mesh, pero, Sie Gui. Es ist also der Stat-Name, der Stat, HP, stat mano. Und weißt du was? Ich werde Ihnen eine Herausforderung stellen und wir werden sehen, wer zuerst alles erledigen kann, was wir brauchen. Also Stat Mana, das Decks, stat Defense. Und dann brauchen wir noch einen. Und es wird ein Bild sein. Und die Charakterstatistik. Da gehen wir. Das nächste, was wir tun werden, ist, dass wir eine Methode
erstellen, um die Statistiken tatsächlich zu aktualisieren. Also hier unter dem Stat-Menü, werden
wir in die öffentliche Leere gehen und ein Statistik-Menü Update erstellen. Und weil wir anders haben, Das ist, was sie nennen, die Charakterinformation, wir werden es ein Argument geben. Und dieses Argument wird eine ganze Zahl sein und es wird
die Spieler ausgewählte Zahl darstellen . Diese Methode wird jedes Mal aufgerufen, wenn wir auf die Schaltflächen der Spieler klicken. Du hast gesehen, dass wir Jimmy und Sarah hatten. Und wenn wir Jimmy oder Sarah anklicken, geben
wir hier eine Variable weiter. Und basierend auf dieser Variablen aktualisiert
es alle Zustände und alle Werte und Beschriftungen. Also zuerst haben
wir den Namen, so dass der Stat-Name geht oder dot txt tatsächlich wird gleich dem Spielerwert an der Position sein, Spieler ausgewählt Nummer.net oder Punkt-Player-Name. Und weil wir dieses jedes Mal verwenden werden, wir eine Variable erstellen, die die Pipe Player Stat genannt werden wird. Es wird der Spieler ausgewählt genannt werden und es wird
gleich Spielerstatistiken an Position sein ausgewählte Nummer des Layers. Und jetzt können wir ihn sofort hier verwenden und ein bisschen Code speichern, so Spieler ausgewählt. Ok, großartig. Nun, als nächstes werden wir den Stat HB benutzen. Es ist Spieler ausgewählt, die HP aktuelle HB, und wir werden es mit einer max HP verketten. Also plus Spieler ausgewählt Max HP. Und ich denke, wir müssen sicherstellen, dass dies eine zwei Zeichenfolge ist, um Fehler zu vermeiden. Als nächstes haben wir das Mono. Also Stats Manna, Manna wird das Mano nicht erschaffen. Nein. Ja, wir haben Mano angefangen. Warum taucht sie nicht auf? Auf diese Weise? Da gehst du. So aktuelle Madonna und die maximale Art und Weise. Ok, großartig. Als nächstes haben wir die Geschicklichkeit. Also lassen Sie uns erstellen, wird es auf eine separate Zeile setzen. Also, wie nannten wir es die Stat-Decks? Ich glaube, dass Decks, da gehen wir. Wir werden das entfernen und das hier auf Geschicklichkeit setzen. Haben wir also Zugriff auf die Geschicklichkeit der Spielerstatistiken? Das glaube ich nicht. Da gehen wir. So Geschicklichkeit sollte öffentlich sein und der Unterschied wird auch verwendet werden. Also lass es uns öffentlich machen. Speichern Sie das hier drin. Geschicklichkeit, Punkt toString, duplizieren diese stat Verteidigung, Verteidigung toString. Und schließlich brauchen wir das Charakterbild. Also, ich weiß nicht, warum ich das dupliziert habe. Wir brauchen sie nicht. Also das Charakterbild sprite. Es erlaubt mir also nicht, darauf zuzugreifen weil auch dies das statische Bild des Charakters sein sollte. Also Charakter und stat Bild, dot sprite. Da gehen wir. Und es wird gleich dem Spieler gewählten Dot Player Sprite sein. Was haben wir? Wie heißt es hier? Lassen Sie uns das Charakterbild überprüfen. Okay, so Charakterbild. Da gehen wir. Und lassen Sie uns das retten. Und im Statistik-Menü werden
wir dies nur einmal aufrufen. Das heißt also das Statistikmenü-Update. So Statistik Menü aktualisieren. Und lasst uns einfach mit der 0 gehen, die Jimmy sein sollte, denke ich. Also werden wir das alles retten. wir sicher, dass wir gerettet haben. Okay, also sollte alles an Ort und Stelle sein. Wir gehen zurück in Unity. Wir werden das retten. Wir werden unser Spiel laufen. Und jetzt, wenn wir auf Status klicken, gehen Sie. Wir haben nichts erwähnt. Also haben wir nicht auf den Statistiknamen verwiesen. Wir haben nichts referenziert. Wie oft sollte Michael diesen Fehler machen, bis er ihn endlich bekommt? Ich denke, es wird etwas länger dauern. Also der Name des Spielers, PHP, V1, Geschicklichkeit, Verteidigung und das Charakterbild. Während das Charakterbild, okay, also ist es, ich denke, da ist es. So
wird das Charakterbild und alles andere, wie die ausgerüstete Waffe und so weiter, vorerst nicht verwendet werden. Also jetzt führen wir unsere Spielstatistiken aus. Da gehst du. Und nichts scheint von Ursache O. zu funktionieren anstatt ihm die Werte zu geben, habe
ich ihm die Etiketten gegeben. Sehr kluger Umzug. Drehen wir das Schloss wieder. Wie Sie sehen können, macht
Michael so viele Fehler, bevor er es endlich bekommt. Und ich werde dieses Ende das Video behalten, weil es
wichtig ist zu wissen, dass niemand perfekt ist. Gehen wir zurück. Lassen Sie uns den Code ausführen, so bitte Diesmal treffen wir die Statistiken, wir haben den Namen Jimmy HP, 0 über 100 minus 0. Das liegt daran, dass wir es nicht auf dem Spieler geändert haben, und so weiter und so weiter. Geschicklichkeit, Stan, Verteidigung 30. Alles funktioniert. Jetzt. Wir müssen es im OnClick ändern. Also, jetzt diese, wenn wir zu den Schaltflächen gehen, die hier sind, werden
Sie sehen, dass wir drei Tasten haben. Die erste Schaltfläche auf dem onclick tut nichts. Wir werden eine Funktion hinzufügen, um es in der Leinwand. Wir gehen zum Menü-Manager, wir gehen zum Statistik-Menü Update. Wie Sie sehen können, weil wir einen Parameter hinzugefügt haben, fragt
er uns nach einer Ganzzahl. Der erste wird 0 sein. Der zweite wird auch den Canvas-Menü-Manager eins haben. Und der dritte wird auch
die Canvas-Menü-Manager-Statusaktualisierung mit einer ganzen Zahl von zwei sub 1 oder 0, 1. Um das zu retten. Hoffen wir, dass das funktioniert und ich habe keine weiteren Fehler oder Statistiken gemacht. Jimmy, Sarah, da geht's. Wie cool ist das? Wie Sie sehen können, haben
wir das Bild verändert. Offensichtlich müssen wir Sarah etwas kleiner machen mit diesen Dachrinnen, aber alles funktioniert, damit Sie die Geschicklichkeit, die Stärke, die
Nachfrage und HP sehen können , sogar der Name änderte sich basierend auf welcher Schaltfläche wir klicken. Also, wie schwer ist das? Ich hoffe, Sie genießen es, wenn Sie den Kurs bisher genießen, obwohl ich viele Fehler gemacht habe, ich hoffe, Sie werden mich als Lehrer mögen. Und wenn Sie das
tun, nehmen Sie sich die Zeit, um mir eine Rezension zu hinterlassen, es hilft mir sehr. Also sehe ich dich im nächsten Video.
54. Abschnitt 8: Artikel erstellen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir
einen Item-Manager erstellen , der zu jedem einzelnen Gegenstand in unserem Spiel hinzugefügt wird. Und wie ihr sehen könnt, haben wir bereits ein Mana, einen Gesundheitsozean, zwei Rüstungssätze und zwei Achsensätze erschaffen. Und du wirst bemerken, dass einer von ihnen Gold ist. Einer von ihnen ist nur Silber. Also lasst uns keine Zeit mehr verschwenden und loslegen. 0 Fall. Also müssen wir einige Elemente erstellen. Zunächst einmal brauchen wir ein Skript, um
diese Gegenstände zu handhaben oder um zu bestimmen, welche Arten von Gegenständen diese sind, welchen Namen sie haben, welchen Wert und Münze sie haben, und so weiter und so weiter. Also lasst uns voran gehen und anfangen zu erstellen. Also gehen wir in das Skript, wird hier einen Ordner erstellen, dass wir die Items Management nennen. Ich schätze, es ist gemeint. Und wir werden uns öffnen, und hier werden wir ein C-Skript erstellen und das nennen den Items Manager. Drücken Sie Enter. Warten Sie, bis das Skript kompiliert ist. Und lassen Sie uns das Drehbuch öffnen. Also, was brauchen wir hier drin? Zuallererst wird dieser Item-Manager für viele Arten von Elementen verfügbar sein. Also zuerst haben wir die regulären Gegenstände wie, sagen
wir Münzen, Tränke und so weiter. Wir haben Waffen und Rüstungen. Also, wie werden wir bestimmen, welches ist? Wir werden etwas schaffen, das als Enumerator bezeichnet wird, anders als der Enumerator, den wir für die Kohle-Teens verwenden. Es ist ein Zähler von Typen. Lassen Sie mich Ihnen zeigen, was das ist. Wir erstellen eine öffentliche in und den Elementtyp. Also haben wir gerade einen neuen Typ von Variablen erstellt. Und das kann angewendet werden, oder das kann drei, sagen wir, Rohre haben. Wenn Sie einen Typ mit drei Rohren möchten, die er haben kann. Und so ist der Typ vielleicht nicht das beste Wort. Aber wir können entweder einen Gegenstand haben, oder wir können eine Waffe haben, oder wir können eine Rüstung haben. Also, jetzt jedes Element benötigt, um zu wählen, welcher Typ es ist. Wir werden dann eine öffentliche Variable erstellen, die vom Typ, Elementtyp sein wird. Wie Sie sehen können, weil wir eine Enumeration erstellt haben, die
wir jetzt erstellen, können wir eine Variable vom Typ, Elementtyp erstellen, und es wird Elementtyp genannt werden. Also, jetzt jedes Element, für jeden Artikel können wir festlegen, welcher Elementtyp es ist. Als nächstes werden wir einen String-Elementnamen erstellen. Und Sie werden feststellen, dass alle diese öffentlich sind, weil wir den Prozess beschleunigen
wollen, um diese Informationen tatsächlich zu erhalten. Wir werden eine weitere Zeichenfolge erstellen. Es wird die Beschreibung des Artikels sein. Bisher wissen wir, was wir tatsächlich auf der gleichen Linie erstellen können. Also der Artikelname, die Artikelbeschreibung, und es ist nicht notwendig, aber es ist einfach besser. Und lasst uns weitermachen. Und hier werden wir eine öffentliche Ganzzahl erstellen, und das wird der Wert und die Münze sein. Also der Wert und Münzen. Was haben wir sonst noch? Wir müssen das Sprite einstellen. Es ist also ein öffentliches Sprite. Und es wird das Item-Bild sein. Was haben wir sonst noch? Wir brauchen die Höhe der Wirkung, die es tut. Also, wenn
wir, sagen wir, zum Beispiel, einen Teil, wenn wir einen Gegenstand haben, wollen
wir es
sagen, wie hoch ist die Wirkung? Wird es uns 100 HP, 200 oder 700 HP geben? Es ist also ein öffentlicher ganzzahliger Effekt. Und wir werden auch eine Enumeration für die Art des Effekts erstellen. Also werden wir eine öffentliche Aufzählung haben und es wird der Effekttyp sein. Und wir werden zwei Typen haben. Es wird entweder die HP oder den Mann betreffen. Was haben wir sonst noch? Wir brauchen, wir müssen die öffentliche Affekt-Pfeife erstellen. Und es wird Effekt-Typ nur für die Einfachheit der Dinge genannt werden. Und schließlich brauchen wir etwas für die Geschicklichkeit und Verteidigung der Waffen und Rüstungen. Also öffentliche und Waffendecks 3080 und die öffentliche und Rüstungsverteidigung. So Rüstungsverteidigung. Okay, jetzt denke ich, dass jeder einzelne Aspekt eines Artikels eingerichtet wird. Jetzt müssen wir weitermachen und einige erstellen. Jetzt, wenn wir wieder hier reingehen. Wir gehen auf die Ressourcen, die ich Ihnen zur Verfügung gestellt habe. Und das ist eine Liste von Elementen, die wir verwenden werden. So können Sie sehen, dass wir verschiedene Schilde haben, verschiedene Achsen, die Vorderseite, Schwerter und so weiter. Wir haben Herzen, wir haben blaue Portionen, wir haben rote Portionen für die, wohin sind wir gegangen? Also Lu Tränke, grüne Tränke und so weiter, Münzen, Edelsteine, all diese können in unserem Spiel verwendet werden. Also werde ich hier in die Sprites gehen, mit der rechten Maustaste klicken und einen Ordner erstellen. Oder weißt du was? Ich muss keinen Ordner erstellen. Wir können einfach diesen Ordner ziehen und hier, aber stellen Sie sicher, dass wir einen separaten Ordner für das Element Sprites haben. Wir nennen das die Items Sprites. Und da gehen wir. Also doppelklicken Sie hier, Sie sehen, dass wir alle Sprites haben. Lassen Sie uns voran und fügen Sie ein paar Elemente hinzu. Also werden wir hinzufügen, sagen
wir eine Rüstung. Offensichtlich können wir diese Rüstung nicht sehen, weil sie hinter dem Fenster ist. Also nochmal, bitte, Rüstung, wo ist es? Wo ist sie? Dort ist es aus irgendeinem Grund, dass es nicht erschienen ist. Wir werden es auf den Hintergrund stellen. Wir setzen es auf eins. Und wenn es nicht sehr sichtbar ist, können
wir die Skala auf zwei mal zwei erhöhen, sagen
wir. Also, da gehst du. Wir haben den Gegenstand irgendwo auf dem Boden. Wir können vielleicht eine Art Hintergrund hinzufügen, damit es am Boden besser aussieht. Aber im Moment denke ich, es sieht gut genug aus, wenn wir laufen, wenn wir das Spiel laufen. Ja, da gehen wir. Wir können den Gegenstand sehen und darüber gehen. Aber keine Sorge, wir werden nicht die Fähigkeit haben, darüber zu gehen. Jetzt haben wir die Rüstung. Wir können es sogar größer machen, wenn wir wollen. Ich denke, das ist übertrieben. Also 2.52.5. Ja, da gehen wir. Lassen Sie uns ein wenig Rotation hinzufügen. Also, Hoppla, 2,5. Lassen Sie uns ein wenig Rotation hinzufügen. Da gehen wir. Es liegt also eine Rüstung auf dem Boden. Wir werden eine Komponente hinzufügen, den Item-Manager. Und wie Sie jetzt sehen können, ist
dies der Artikeltyp, den wir wählen können. Wenn es ein Gegenstand, eine Waffe oder eine Rüstung ist. Offensichtlich ist es ein Tier. Jetzt brauchen wir einen Namen, also nennen wir ihn die silberne Rüstung. Wir brauchen eine Beschreibung. Dies wird von Monstern zu verteidigen. Wir werden einen Wert dafür brauchen. Sagen wir es, es ist 15 wert. Wir brauchen das Element Sprite, also können wir diesen ziehen. Können wir, können wir das ziehen? Ja, da gehen wir. So ist das Artikelbild jetzt verfügbar. Wie viel wirkt sich das aus? Wir wollen das nicht wirklich benutzen und wir können es sogar ein bisschen nach unten bewegen. Also denke ich, wenn wir das runterziehen, ist es besser. Also, weil es keine Art von Gegenstand ist, die wir trinken können. Also werden wir es nicht wirklich benutzen. Wir werden nicht die Menge der Fakten verwenden. Wir werden eine Rüstungsverteidigung hinzufügen, die Sie erstellen können, und Art von Zustand, die es uns erlaubt, diese Spezifikationen anstelle der anderen zu verwenden. Aber ich glaube nicht, dass es den Ärger im Moment wert ist. Natürlich, wenn Sie später Ihr eigenes Spiel erstellen. Natürlich sollten wir diese nicht alle zur Verfügung haben. Also, was ist die Rüstungsverteidigung? Sagen wir, es sind sechs. Das sind nur eine Art seltsame willkürliche Zahlen. Nun als nächstes werden wir die Acts hinzufügen. Also werden wir hier noch Acts hinzufügen. Oder weißt du was? Warum duplizieren wir nicht einfach die Rüstung und wir werden sie nach oben bewegen und wir ändern das Sprite in ein X. Das ist eine Axt, sagen wir Waffe. Das wird Dämonen und Monster töten, weil wir ein Daemon sind. Ist ein Daemon ein Monster? Ich bin mir nicht mal sicher, was der Wert ist. Ich denke, Achse ist billiger als Rüstung. Die Elemente sind Sprite, ist die Axt und die Differenz 0. Oder Sie können sogar eine Art Verteidigung für die Waffe haben. Aber wie ihr später sehen werdet, wenn wir unser Kampfsystem aufbauen, werden
wir den Unterschied beim Angriff nicht berücksichtigen. Wenn wir die Axt und die Waffen Geschicklichkeit haben, sagen wir, es ist neun. Okay, speichern Sie das. Großartig. Jetzt ist es Zeit für eine Herausforderung. Und Ihre Herausforderung wird den Rest der Elemente erstellen. Erstellen Sie also den Rest der Elemente. Welche Art von Gegenständen empfehle ich, dass Sie eine weitere Rüstung und eine andere x hinzufügen. Etwas, das anders ist, kann Goldachse sein. Es ist eine gute Idee, oder Sie können eine Art Schild hinzufügen. Wir haben Schilde. Also zwei Arten von Arten, zwei Arten von Rüstungen, zwei Arten von Bewegung. Also haben wir keine Tränke hinzugefügt. Sie müssen einen Trank hinzufügen. Und ich werde hier nur eine Reihe einstellen. Es kann zugegriffen werden, es kann alles sein, was Sie wollen, und Sie können jedes andere Element hinzufügen, das Sie wollen. Sie können Ihren Artikeln weitere Attribute hinzufügen. Also, wenn Sie denken, dass es mehr
Dinge, als nur die Dinge, die ich erwähnt habe. Zum Beispiel können Sie Blutungseffekt hinzufügen. Also, wenn dies, Sagen wir Waffe so Dimensionen, Sie können den Blutungseffekt nach allem hinzufügen, nach der bestimmten Menge an Schaden und so weiter. Also mit dem besagten, pausieren Sie das Video jetzt und gehen Sie den Rest der Elemente hinzufügen. Okay, willkommen zurück. Also nennen wir das die Silbertaten und die Rüstung wird die silberne Rüstung genannt. Und lassen Sie uns voran und fügen Sie ein goldenes X hinzu also wird dies eine goldene Axt sein. Wir werden eine goldene Axt finden. Ist das eine goldene Axt? Ja, da ist es. Das ist ein goldenes X. Lass uns schließen. Lass uns die goldene Axt ein bisschen bewegen. Und ich denke, die sind einfach ein bisschen zu groß. Ich weiß es nicht. Vielleicht machen wir sie etwas kleiner. Also das goldene X, das wir sind, stellen Sie sicher, dass es eine Waffe ist. Es nennt sich die Goldene Axt. Und seine Beschreibung wird Monster schneller töten. Schneller. Münze zu bewerten,
wird natürlich doppelt sein, vielleicht sogar 25. Das Sprite wird das x2 und die Handlungen sein. Und hier X auf die Höhe der Wirkung, die wir nicht brauchen, die Waffen Geschicklichkeit wird 18 sein. Und da gehen wir. Das ist also die goldene Axt. Holen wir uns eine goldene Rüstung, wenn wir welche haben. Also glaube ich nicht, dass wir eine goldene Rüstung haben. Ich denke, alles, was wir haben, ist oh ja, da gehen wir. Wir haben goldene Rüstung. So silberne Rüstung. Goldene Rüstung. Kopieren Sie das, fügen Sie es hier ein und verteidigen Sie sich vor Monstern. Butter. Der Wert wird 35 sein, wo wir die Sprites hier ändern und der Unterschied wird 19 sein. Speichern Sie das. Also lasst uns das bewegen. Und hier denke ich, ich werde sie etwas kleiner machen. Ich meine, sieh mal, wie groß sie sind im Vergleich zu unserem Fitnessstudio, hier genau. Und schließlich müssen wir die beiden Teile erstellen. Also werde ich die goldene Rüstung nachbilden. Ich werde die Portionen hier reinlegen. Dies wird der HB-Ozean sein und es wird vom Typ Element sein. Es wird den Namen haben. Warum hat es den HP Trank nicht verändert? Danke. Hb Trank, dies wird Ihnen h der Wert in Münze geben. Ich bin Nano 7. Und mal sehen, wo das ist. Also, wo sind unsere Portionen? Da gehen wir. Sprite, Sprite und Menge der Wirkung. Also wird es die HP beeinflussen, die Höhe der Wirkung. Nehmen wir an, es gibt uns 50 HB und entfernen Sie einfach diese 0 oder etwas. Es spielt keine Rolle. Und lasst uns einfach die Rotation ein wenig ändern. Duplizieren. Also ist alles in der Nähe Duplikate das? Und bewegen wir es nach rechts. Das wird das Monopolmeer sein. Löschen Sie das alles. Es ist ein Gegenstand. Y mano Trank, nennen Sie es, dies wird Ihnen einen Wert auf Münze geben. Ich denke, es sollte 11 sein. Und lasst uns den blauen Teil finden, der hier drin ist, setzen Sie ihn hier rein. Und die Menge der Wirkung, denke
ich, 15 ist gut genug. Die Art der Wirkung wie das Manna, die all das retten. So wie Sie jetzt sehen können, haben wir eine Menge von Gegenständen und wenn wir unser Spiel
laufen, Mal sehen, wie das aussieht. Ja, da gehen wir. Also, es gibt einen Trank, wir nehmen ihn. Da ist noch eine Portion. Wir gehen hoch, yo, es gibt eine Art Rüstung und hier eine Menge Rüstung und Äxte, die wir benutzen können. Und ich werde mit der rechten Maustaste erstellen Sie ein leeres Spielobjekt, nennen Sie es die Elemente drücken Enter, setzen seine Position zurück, und wir werden jeden einzelnen Gegenstand und legen Sie es unter Elemente wird auch die Skala auf 1,8 um 1,8 ändern. Mal sehen. Ja, ja. Da gehst du. Ich denke, diese Teile sind jetzt viel logischer. Sie sind kleiner und sie scheinen etwas zu sein, das auf unsere Fitness-Ödeme und Dinge passen würde , die er in der Hand halten kann. Ich meine, sieh mal, wie cool wäre das? Das x ist immer noch groß, aber keine Sorge darüber. Also ich hoffe, Sie genießen es und ich werde Sie
im nächsten Video sehen , wo wir unsere Artikel Menü erstellen werden.
55. Items: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wie Sie sehen können, haben
wir ein erstaunlich aussehendes Items Fenster erstellt. So werden Sie hier sehen, dass wir
für genau hier haben Sie sehen, dass wir den Namen des Artikels haben. Wir sollten das hier ändern. Es wird sich automatisch ändern. Wir haben zwei Schaltflächen, so dass wir entweder einen Gegenstand verwenden oder diesen Artikel verwerfen können. Und wir haben hier auch ein kleines Quadrat hinzugefügt und ein paar Gegenstände arrangiert. Und ich habe gerade bemerkt, dass die Elemente-Schaltfläche, wir sollten das Bild des Artikels hier haben, so dass die Menge besser erscheint. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, jetzt ist es an der Zeit, ein Menü zu erstellen. Also, was wir tun werden, so haben wir bereits eine Art von Items Menü, öffnen Sie das Menü und hier lassen Sie uns dies einschalten. Und wenn wir zum Elemente-Panel gehen, schalten Sie dies ein. Da gehst du. Also, jetzt haben wir oder wir haben bereits ein Items Panel, das wir verwenden können. Oh, okay. Jetzt machen wir es einfach ein bisschen größer auf allen Seiten. Was wir tun werden, ist, dass wir das Items Panel duplizieren. Wir werden es unter dem bereits vorhandenen Elemente-Panel hinzufügen, und wir nennen dies die Beschreibung des Elements, diese Kurvenoption. Okay, drücken Sie Enter und wir werden es kleiner machen. Dies ist also, wo wir die Informationen unserer Artikel festlegen werden. Wo wird es also einen Namen und die Artikelbeschreibung haben, die wir erstellt haben? Also gehen wir in eine dieser Schaltflächen gehen, die Schaltfläche „Elemente“, Nehmen wir an, wir werden den Text duplizieren und wir werden ihn über in die Beschreibung des Elements
ziehen. Und wir schieben es nach unten. Und hier drinnen werden wir schreiben, dass dies der Artikelname ist. Und natürlich wollen wir es nach rechts und vielleicht Samstag nach oben setzen. Also lasst uns das einfach anpassen. Und wieder, das wird ein langes Video sein. Ich fühle, obwohl wir noch nicht begonnen haben, aber weil jedes Mal, wenn Sie mit UI arbeiten, wird
es ein langes Video sein. Also Items Namen, und vielleicht machen Sie dies ein bisschen kleiner. Also, da gehst du hin. Das ist irgendwie der Name der Artikel, denke ich. Okay, also Elementname, und wir werden diesen Text in den Elementnamen Text ändern. Und wir werden es duplizieren. Und nein, wir haben jetzt nicht dupliziert, dupliziert und wir fügen ein hier hinzu. Dies wird das Element sein, diese Korruption oder nennen wir es einfach die, das Skript oder Schreibtisch und Schreibtisch. Weil wir hier nicht viel Platz haben, wir nur mit dem zu tun haben, was wir haben. Wir können das sogar etwas kleiner machen. Also werden wir das Panel der Artikelbeschreibung nur ein wenig kleiner machen, so dass wir mehr Platz zum Hinzufügen haben. Elemente werden diese nach unten verschieben. Und da gehst du. Also und dies wird der Artikel Artikelbeschreibung Text sein. Oh, okay, also lass uns das retten. Jetzt brauchen wir zwei Knöpfe. Was können wir also mit einem Gegenstand machen, wenn wir es hier auswählen, müssen
wir es entweder verwenden oder verwerfen. Also werden wir hier zwei Schaltflächen hinzufügen, klicken Sie mit der rechten Maustaste und die Beschreibung des Elements, oder es muss nicht in der Beschreibung des Artikels enthalten sein. Lassen Sie uns weiter gehen und außerhalb davon erstellt, aber immer noch im Elemente-Panel. Also ein Knopf, den wir hier runter ziehen werden. Wir nennen dies die Schaltfläche „Verwenden“ und schauen Sie sich eine Art Hintergrund an, sollten wir es geben? Nun, es ist der Hintergrund, den wir benutzt haben. Also die UI-Elemente, Lassen Sie uns geben, dass dieser Hintergrundsatz native beibehalten. Nehmen wir an, wir sollten das Seitenverhältnis nicht beibehalten. Wir sollten unser eigenes Seitenverhältnis hinzufügen. Das wird dupliziert. Eine Schaltfläche „Verwerfen“. Also verwerfen Taste, und wenn Sie bereits gelangweilt sind, empfehle
ich die wahre Pause das Video jetzt und einfach voran und weiter. Weil das sehr einfache Zeug sind. Also, was ich tun werde, werde
ich nur den Text auf den Buttons löschen. Klicken Sie mit der rechten Maustaste, Füge Text Mesh Und wir werden diese Verwendung nennen. Und der Text wird gleich bleiben oder mit der rechten Maustaste hier wieder im Text Mesh pro klicken. Scarred hätte das schon mal tun sollen. Wir werden die Schriftart
einstellen, die Farbe komplett schwarz einstellen, fett machen. Und lassen Sie uns die Positionen hier anpassen, damit wir diese Narben setzen. Wir sorgen dafür, dass es in der Mitte ist. Und da gehen wir, vielleicht machen es etwas kleiner. Also, da gehen wir, die Abwürfe. Ich denke, wir können diesen Knopf sogar vergrößern. Also lassen Sie mich einfach den US-Button löschen und an einem einzigen arbeiten. Wird dann dupliziert. Also machen wir das etwas größer. Da gehst du, ein bisschen breiter. So können wir jetzt unseren Text passen und nur ein bisschen mehr und erhöhen. Oh, schön, das sieht viel besser aus. Duplizieren Sie also die Schaltfläche „Verwerfen“. Und wir werden es direkt neben den Knopf hier drinnen verschieben. Wo ist der Text? Und wir werden das so einstellen, dass es verwendet wird. Okay, jetzt, wo der einfache Teil fertig ist, beginnen
wir mit dem Sodbrennen und bevor ich vergesse, müssen wir
auch zur Artikelbeschreibung gehen. Duplizieren Sie dies auch, weil wir den Namen des Elements hier hinzufügen möchten. Also werden wir diesen Weg machen, viel länger. Es sollte also gleich hier sein. Und wir werden das duplizieren und es hier ablegen. Dies wäre der Wert für den Elementnamen und der Elementwert. Und wir werden einfach versuchen, es so einzustellen, dass es in den Text passt, was auch immer es ist. Also Auto Größe, weil vielleicht die Beschreibung wird zu
lang sein , um hier zu passen, so dass wir nicht wollen, dass es überall geht. Okay, jetzt, da der leichte Teil fertig ist, ist
es Zeit für den harten Teil. Und wir werden die Items Box hier erstellen. Also, um das zu tun, gehen
wir in die geschlossene die Artikelbeschreibung und das Element-Panel mit der rechten Maustaste, wir werden ein leeres Spielobjekt erstellen. Dies werden die Elemente sein, die wir machen es so
groß wie der verfügbare Platz, den wir hier drin haben. Also, da gehst du hin. Und jetzt werden wir den Rechtsklick hier hinzufügen, erstellen oder fügen Sie UI eine Schaltfläche hinzu. Wir werden ihm den Hintergrund dieser Art von Panel geben. So wie wir es getan haben, und wir werden den Text hier unten hinzufügen. Lass es uns etwas kleiner machen. Hier unten gehen wir zu 0. Dies sollte ein Text Mesh Pro sein, also keine Sorge um diesen Text Mesh Probe. Und das wird die Menge, Menge sein. Das ist so, weil wir später Gegenstände haben, die wir mehrere Male speichern oder stapeln können. So können wir, sagen wir, fünf Portionen Gesundheit auf der gleichen Position haben. Also lasst uns weitermachen und es hier niederlegen. Größe wird die Schriftart in 99 eingeben. Wir werden es schaffen. Ich bin mir nicht sicher, was komplett schwarz sein kann, vielleicht komplett weiß. Ich bin mir nicht sicher, was es sein soll. Wir werden es später sehen. Und ich schätze, das ist gut genug. Vielleicht muss der Knopf quadratischer sein. Also die, mal sehen. Wir werden es hier aufstellen. Es sollte quadratisch sein. Also mal sehen, ob es eine freie machen die Breite 160. Und doch denke ich, 120 mal 120 ist eine gute Zahl. Okay, also verschieben wir den Text ein wenig nach rechts oder nein sollte das t
verwenden. Achten Sie immer darauf, das Werkzeug rec zu verwenden, wenn Sie mit UI-Elementen arbeiten. Also mit Rack-Werkzeug, ich bin hier in dieser Box, oder durch Drücken von V T okay? Und schließlich müssen wir hier ein Bild hinzufügen. Wir klicken mit der rechten Maustaste. Wir gehen zur Benutzeroberfläche, wir fügen ein Bild hinzu. Und dieses Bild wird die Darstellung einiger Arten von Elementen sein. Also wird es das Element sein, Items Bild. Und wir werden nur eine Standard-Art von Bild hinzufügen. Also lasst uns die Goldene Axt benutzen. Da gehst du. Sogenannte ax-Set-native Größe o Wie zieht, dass das Seitenverhältnis beibehalten? Und wir werden es an allen Seiten verankern und hier, also da gehst du. Wie Sie sehen können, haben wir den Artikel hier drin. Also jetzt der letzte Schritt ist, dass wir den Elementen
eine Komponente hinzufügen , die das Layout, das Rasterlayout genannt wird. Wir haben dieses Rasterlayout bereits abgedeckt. Also müssen wir es 120 mal 120 machen, denn das haben wir hier oben gesagt. Die Größe der Taste sollte 120 mal 120 betragen. Sie können es hier sehen. Und vielleicht fügen Sie einfach ein wenig Abstand hinzu oder so. Also werden wir das auf 0 setzen. Und jetzt, wenn wir den Knopf drücken, Items Button, werden wir es duplizieren, duplizieren, duplizieren. Und mal sehen, wie viele Schaltflächen wir hinzufügen können. Also werde ich Ihnen hier eine Herausforderung stellen, und Ihre Herausforderung ist es, die neue Komponente zu entdecken. Also haben wir diese Komponente bereits abgedeckt, ich weiß, aber es ist Zeit für dich, sie zu entdecken. Nehmen Sie sich die Zeit, um
die neue Rasterkomponente zu erkunden und sie zu verwenden, um Elemente auf eine gute Art und Weise anzuordnen. Finden Sie also, welche Größe Sie für Ihre Elemente wollen, und stellen Sie sicher, dass Sie den Abstand
ändern, die Größe der Zellen ändern, spielen Sie herum, sehen Sie, wie Sie Ihre Elemente im Menü „Elemente“ organisieren können. Also pausieren Sie das Video jetzt und gehen Sie kumpel, jede Herausforderung. Oh, okay, willkommen zurück. Also gehen wir zu den Artikeln 120 von 120. Das sind meine Zahlen. Du musst meinen Nummern nicht folgen. Also werde ich hier ein bisschen Platz hinzufügen und ein bisschen Raum wie diesen. Wie viele Artikel möchten Sie haben? Und ich denke, ich will sie wirklich größer machen. Also denke ich, eine gute Zahl,
150, wie Sie sehen können, experimentiere ich. Ich bin mir nicht sicher, was ich benutzen werde. Ich gehe einfach mit dem Fluss und sehe, was passiert. So ist das genug Einzelteile oder wir sollten es noch größer machen. Versuchen wir es 200 mal 200. Nein, das ist zu groß. Also 170 von 170. So machen Sie Spiele, meine Damen und Herren. Also, da gehst du hin. 170 ist eine gute Zahl. Und sie passen perfekt zusammen. Also werden wir wieder duplizieren. Und du wirst sehen, ja, da gehen wir. Dies sind unsere Artikel jetzt sind sie Standardwerte. Wir werden sie später ändern, aber jetzt, da wir das richtige Layout haben, können
wir sie alle löschen. Und wie Sie den ersten und den letzten auswählen können, klicken Sie auf einen von ihnen. Halten Sie Shift gedrückt, klicken Sie auf die letzte, drücken Sie, Löschen. Da gehen wir. So jetzt unsere Artikel viele gute Verriegelung. Im nächsten Video werden
wir unsere Artikel im Inventar speichern, damit wir sie später hier im Artikelmenü hinzufügen
können. Das heißt, ich hoffe, Sie genießen es. Oh, und bevor ich es vergesse, hoffe
ich, dass du
deine Änderungen nicht begangen hast , weil wir nicht alle PNG verpflichten wollen. Also werde ich mit der rechten Maustaste klicken und alles unter Assets,
Items oder sogar unter Assets Sprites ignorieren . Ignorieren Sie alles, okay, jetzt werden wir alle von ihnen und
die Elemente mit Handwerker Manager auswählen und erstellt ein Element und viele. Ok, tolles Commit-all das. Ich hoffe, es gefällt dir und ich sehe dich im nächsten Video.
56. Listen in C#: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir ein Inventar mit Listen und C-Sharp erstellen. Also, wenn wir unser Spiel laufen, nichts Besonderes. Sie sehen nur hier, hey, neues Inventar wurde erstellt, weil wir ein Inventar-Skript auf dem Game-Manager haben, dies wird wichtig für die Herausforderung sein. Also denken Sie daran, Inventar geht in den Game-Manager. Ich habe die Herausforderung aufgegeben. Keine Sorge. Vergeuden wir keine Zeit mehr. Und lasst uns anfangen. Oh, Fall. Also listet er auf und C-scharf. Warum verwenden wir Listen und C-Sharp? Weil wir ein Inventar erstellen möchten. Und Inventar hat eine Liste von Artikeln. Und warum verwenden wir eine Liste und kein Array? Ich werde es in nur ein bisschen erklären. Aber zuerst gehen wir weiter und erstellen hier ein neues Skript. Also, wenn wir zu den Skripten gehen, klicken Sie mit der rechten Maustaste oder gehen Sie zu den Elementen mit der rechten Maustaste und erstellen Sie ein Also im Inventar, da gehen wir. Und lassen Sie uns das Skript öffnen. Und das passiert immer weiter. Öffne die Skripte. Und das erste, was wir tun werden, ist, dass wir eine private, private Liste erstellen. Und jede Liste wird einen Typ haben. Es wird vom Typ Item-Manager sein und es wird eine Elementliste sein. Warum verwenden wir also eine Elementliste und was ist der Unterschied zwischen einer Liste und einem Array? So Arrays haben eine bereits definierte Sites. Wenn wir also eine Reihe von Spielern,
Statistiken und Game-Manager erstellen und so weiter, wissen
wir bereits, wie viele es geben wird. können wir noch hinzufügen. Aber wann immer wir ein davon entfernen wollen, wird
es sehr schwer sein. Wir müssen den leeren Ort wegwerfen, den wir verlassen. Nehmen wir zum Beispiel an, wir erstellen ein Array von drei Orten und einer von ihnen wird entfernt, dann wird es sehr schwierig sein, diesen leeren Raum zu ersetzen. Warum Listen sind sehr dynamisch und viel einfacher durchzugehen. Und wir brauchen etwas, wo wir einen Artikel entfernen und einen Artikel sehr schnell platzieren können. Wir wollen nicht verdrängt werden, indem wir
diese leeren Räume entfernen und sie mit etwas füllen und alles neu anordnen und so weiter. Daher sind Listen viel flexibler als Array. Wenn wir also eine Liste erstellen, müssen
wir sie instanziieren. Also und fangen Sie an, wann immer
wir unser Inventar beginnen, gehen wir zur Artikelliste. Und wir werden sagen, dass es einer neuen Liste des Typ-Item-Managers entspricht. Und wir müssen diese beiden Klammern hinzufügen und mit einem Semikolon abschließen. Nun wollen wir sicherstellen, dass eine neue Liste erstellt wird. Es ist also Zeit für eine kleine Herausforderung, und es wird sein, jedes Mal eine Nachricht auf
die Konsole zu senden , wenn eine neue Liste von Elementen erstellt wird, jedes Mal, wenn wir eine Liste starten. Also bekommst du es, starte die Liste. Und Sie müssen das Debug-Punktprotokoll und den Druckstandard verwenden. Also pausieren Sie das Video jetzt und gehen Sie diese kleine Herausforderung zu tun. Ok, willkommen zurück. Debuggen, wir wissen bereits, wie das geht. Es ist eine ziemlich einfache Herausforderung. Debuggen Sie den Rückstand und das Heu, ein neues Inventar wurde erstellt. Speichern Sie das wieder in unserem Spiel. Lassen Sie uns das Menü für jetzt ausschalten. Lass uns laufen, oh, bevor wir den Code ausführen, haben wir das Skript nicht hinzugefügt. Das war Teil der Herausforderung, die ich wollte, dass du ausprobierst. Ich hoffe, Sie haben es getan, ich hoffe, Sie haben diesen Fehler gefunden. Wir müssen das Inventar irgendwo hinzufügen. Wo sollen wir es hinzufügen? Nun, ich denke, der beste Ort, an dem ein Inventar im Game-Manager ist. Warum? Denn wenn wir von Skript zu Skript wechseln, wollen
wir unser Inventar behalten. Wir wollen nicht, ich meine, vom Drehbuch, ich meinte von Szene zu Szene, wir wollen unser Inventar behalten und Game Manager ist eines der wenigen Spielobjekte, die nicht zerstört werden, wenn wir uns von Szene zu Szene bewegen. Also denke ich, wieder, Manager ist ein perfekter Ort, um in Inventar zu speichern. Sie können auch ein separates Skript oder ein separates Spielobjekt für das Inventar erstellen, oder Sie können es dem Spieler hinzufügen. Aber ich glaube nicht, dass der Spieler der beste Ort ist, weil
wir irgendwann unseren Spieler töten und das Objekt zerstören wollen. Wir wollen den Überblick über das Inventar und etwas dauerhafteres behalten. Wir werden den Spielmanager nie zerstören. Jetzt, da der Spiele-Manager das Inventar hat, werden
wir das Spiel ausführen. Und da gehst du. Sobald wir das Spiel beginnen, haben wir, hey, ein neues Inventar wurde erstellt. Ok, großartig. So ist jetzt eines der wichtigsten Dinge, um
einen Analytiker zu verwenden , in der Lage zu sein, Dinge hinzuzufügen. Und Inventar ist sehr wichtig, um eine Möglichkeit zu haben, es hinzuzufügen. Wenn wir also die Artikel abholen, müssen
wir sie dem Inventar hinzufügen. Also gehen wir zurück und unser Inventar-Skript. Und hier werden wir eine öffentliche Leere erstellen, Elemente hinzufügen. Und wir werden ihm ein Argument geben. Und dieses Argument oder Parameter wird vom Typ Elemente, Manager, Element sein. Speichern Sie das. Jetzt hier drin werden wir die Artikelliste aufrufen und wir werden das Element hinzufügen. Schließen Sie das. Also, was passiert jetzt? Dies ist eine spezielle Methode von Listen. Also rufen wir die Elemente auf, wir nennen die Methode hinzufügen Elemente aus dem Inventar. Wir geben ihm den Artikel, den wir hinzufügen möchten. Und dann greifen wir auf die Artikelliste zu, die wir haben und fügen ein Element hinzu. Und die Art und Weise, wie wir auf die Liste oder das Inventar zugreifen, ist, dass wir
ein öffentliches statisches Inventar in Position erstellen . Da gehen wir und fangen an. Wir werden die Instanz darauf setzen. Da gehen wir, speichern Sie das. Im nächsten Video werden
wir anfangen zu visualisieren, wie diese Artikel in unseren Artikeln aussehen werden, Männer. Also hoffe ich, Sie genießen es. Ich hoffe, du begehst deine Arbeit und ich sehe dich im nächsten Video.
57. Gegenstände sammeln: Willkommen zurück meine Kollegen Spiele-Entwickler in diesem Video FÜR, und wieder, Ich werde Ihnen nur zeigen, Ich muss Ihnen nicht sagen, was passiert. Also nähern wir uns der Monopolisierung. Da gehen wir. Es tut Selbstzerstörung und wir haben Manipulation wurde dem Inventar hinzugefügt. Wie alt ist dieser HP-Anteil? Die silberne Rüstung und goldene Orange und die goldenen Akte. Wie Sie sehen können, haben
wir ein Inventar, das tatsächlich mit den von uns erstellten Artikeln funktioniert. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, also an der Zeit, unsere Sachen abzuholen. Das erste, was wir tun müssen, um einen Gegenstand als eine Möglichkeit, mit ihm zu interagieren. Also, was werden wir tun, während wir einen Collider hinzufügen? Also werden wir all das überprüfen. Wir werden eine Komponente hinzufügen und es wird ein Collider sein. Sie können wählen, ob es sich um einen Collider, einen Box-Collider oder um einen Kreiskollider handelt. Ich wähle einfach einen Kreis aus. Also, wo ist das hin? Circle Collider. Da gehen wir. Jedes dieser Gegenstände hat nun einen Kreiskollider. Sie können jede dieser Optionen anpassen. Zum Beispiel können Sie sehen, dass dieser hier nur ein bisschen zu groß für die HP, für den Trank ist. Für die goldene Rüstung. Nein, das ist groß genug für das X, für das Silber-X und für die Silber-Rüstung. Okay, jetzt, wo wir einen Collider haben, werden
wir es zum Auslöser machen. Und wir werden gehen und eine Methode erstellen, bei der wir etwas
auslösen können , wenn wir die Umgebung bereits wissen, was Trigger bedeutet. Also werden wir einen Unternehmer zu schaffen, geben Sie auf jedem Element ein. Im Item-Manager ist
es also der Manager unserer Artikel. Also werden wir ein On Trigger Enter to
D erstellen und das erste, was wir sicherstellen müssen, ist, dass wir
zuerst müssen , dass es der Spieler ist, der gut mit dem Gegenstand kollidiert. Wir wollen also nichts anderes, um diesen Artikel abzuholen. Also, wenn das collision.com-Tag der Spieler ist, dann gehen wir weiter und machen ein paar Dinge. Das erste, was ist, dass wir den Artikelnamen ausdrucken werden. Also dieses Element ist und wir werden es mit dem, was von denen und Elementnamen verketten. Also Artikelname, schließen Sie das aus, speichern Sie das zurück und unsere Unity, Lassen Sie uns den Code ausführen und sehen, ob das funktioniert. Also führe unser Spiel. Und jetzt, wenn wir zum Manna-Teil gehen, dann gehst du. Bei diesem Artikel handelt es sich um Bedarfsaufteilung Dieses Manna ist der HP-Anteil. Silber Rüstung, Silber und Gold Rüstung und die Goldene Axt. Also, wie cool ist das? Wir wissen bereits, welchen Artikel wir abholen. Aber wie Sie wissen, verschwinden die Gegenstände, wenn wir einen Gegenstand in einem Spiel abholen. Es steht nicht weiter da und beobachtet uns. Also brauchen wir einen Weg, es zu zerstören. Also, um es zu zerstören, werde
ich Ihnen eine Herausforderung stellen. Und deine Herausforderung besteht darin, Selbstzerstörung oder Selbstzerstörung zu zerstören. Erstellen Sie also eine Methode und einen Elementmanager im Elementskript, dies sollte ein Elementskript sein, das sich selbst zerstört. Verwenden Sie es also, wenn ein Gegenstand vom Spieler abgeholt wird. Und ich gebe Ihnen einen kleinen Hinweis. Wenn Sie bereits wissen, wie Sie ein Spielobjekt zerstören, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Verwenden Sie nicht zerstören. Ja, das ist es auf einem Spielobjekt. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also hier drin schaffen wir eine öffentliche Leere, obwohl ich denke, dass wir sie nirgendwo anders benutzen werden. Aber lassen Sie uns es einfach als öffentlich halten, wird sich zerstören nennen. Und hier drin werden wir das Spielobjekt zerstören. Speichern Sie das. Und jetzt, nachdem wir den Gegenstand abgeholt
haben, gehen wir nach Süden zerstört. Da gehst du. Speichern Sie das. Zurück in unserem Spiel hier drin. Mal sehen, ob das funktioniert. Also, jetzt sollten wir sehen, zum Beispiel, Manna Trank, und dann, dass Monopole verschwinden sollten. Also holen wir es ab. Da gehen wir. Mann Abtreibung bei verschwunden. Die Gesundheit und alles, was wir aufnehmen können und all das verschwindet. So großartig, dass wir auf dem Weg sind, ein unglaubliches Artikelsystem und Inventarsystem zu schaffen. Aber es gibt noch eine kleine Sache, die wir tun müssen, und das ist vor allem, wir können das entfernen, das kommentieren. Und im Inventar wird dies auch auskommentieren. Wir brauchten das nicht mehr zu retten. Jetzt müssen wir diesen Artikel tatsächlich zu unserem Lagerbestand hinzufügen. Also, was wir tun werden, ist, dass wir alles hier speichern, wird in den Add-Artikel gehen. Wir drucken einfach den Hinweis hier aus,
etwas, nur um alles im Auge zu behalten und sicherzustellen, dass nichts schief läuft. Also Artikel ich bin und etwas anderes zu tun, Artikel Punkt Artikelname plus die wurde zum Inventar hinzugefügt. Speichern Sie das. Und was wir auch tun können, wie wir die Länge eines Arrays haben. Wir können auch prüfen, ob die Artikelliste zählt. So zählen wir gibt uns die Größe des Tests. Und was wir hier tun müssen, bevor wir Zellen vernichtet haben. Wir werden auf das Inventar zugreifen. Wir werden auf die Instanz zugreifen und wir werden ein Element auf Elemente hinzufügen. Und der Gegenstand, den wir ihm geben werden, ist dies. Also speichern Sie das, und mal sehen, ob das funktioniert. Also, zurück in Unity, werden
wir unser Spiel laufen und wir werden
prüfen, ob wir Gegenstände hinzufügen, also holen wir das Mana. Da gehst du, Mann, Abtreibung wurde dem Inventar hinzugefügt. Dann haben wir die HP Teil wurde dem Inventar
hinzugefügt und Sie können sehen, dass die Anzahl zwei ist. Die Rüstung, die, was ist das? Das Silber wirkt, die goldene Rüstung und die goldenen Akte. Wie Sie sehen können, haben
wir eine Möglichkeit geschaffen, Dinge zur Liste hinzuzufügen, sie zu vergrößern, und das war's. Im nächsten Video werden
wir tatsächlich die abgeholten Artikel in unserem Inventar anzeigen. Also sehe ich dich dann. Vergessen Sie nicht, Ihre Änderungen zu übernehmen.
58. Artikel im Inventar aktualisieren: Willkommen zurück, meine Spiele-Entwickler. Wir machen nichts Schickes in diesem Video, wir legen einfach die Grundlagen, die wir verwenden werden, um bis
zum nächsten Video zu springen , wo wir alle Gegenstände, die wir aufheben, zeigen werden. Also bekommen wir nur einen Verweis auf ein paar Dinge. Wir werden kurz über die Instanziierung sprechen, und wir werden auch eine Methode erstellen, die Listen zurückgibt. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, also Zeit, um die Gegenstände anzuzeigen, die wir abholen. Wie sollen wir das machen? Lassen Sie mich zunächst die Speisekarte einschalten, damit wir klar sehen können, was passiert. Was wir also tun wollen, ist jedes Mal, wenn wir einen Artikel abholen, wollen
wir hier einen neuen Item-Slot erstellen. Und wir wollen nicht alle Artikelfächer hier
zur Verfügung haben und sie dann ein- und ausschalten. Wir wollen sie tatsächlich instanziieren, wann immer wir sie brauchen. Also haben wir ein bisschen einen anderen Ansatz als zuvor, besonders wenn wir Charakter und 4 erschaffen haben, wo wir bereits alles hier drin haben. Wir wollen etwas anderes erschaffen. Wir wollen tatsächlich jedes Element instanziieren, wenn es abgeholt wird. Also, wie werden wir das tun und was instanziiert überhaupt? Nun, wir werden in diesem Video nicht tief ins Instanziieren gehen, aber lassen Sie mich Ihnen nur einen kleinen Überblick geben. Die Art und Weise, wie wir etwas instanziieren, ist, dass wir ein Prefab davon irgendwo in unseren Assets gespeichert haben. Und jedes Mal, wenn wir etwas schaffen wollen, das diesem Prefab ähnlich ist, vielleicht mit kleinen Unterschieden, können
wir es instanziieren. Also zuerst, wie wir wissen, brauchen
wir die Prefab Referenz. Wir brauchen die Eltern. Warum Eltern? Weil wir die Elemente innerhalb der Elemente instanziieren möchten. Nennen wir es das Anzeigefeld der Elemente. Also dieses Spielfeld, so brauchen wir einen Verweis auf dieses Element Anzeige-Panel. So können wir Elemente erstellen, Buttons, die unsere Prefabs im Inneren von hier sein werden. Und weil wir bereits ein Rasterlayout erstellt haben, werden
sie sehr sauber und unser Menü angelegt. Ich hoffe, es ist nicht zu verwirrend. Ich wollte nur den Grundstein für die nächsten zwei Videos legen, damit wir nicht verwirrt werden. Lasst uns anfangen. Zuallererst werden
wir ein Prefab erstellen. Also NR Prefabs hier drin. Lassen Sie uns voran und ziehen Sie die Schaltfläche Elemente. Das wird also das sein, was wir verwenden werden, um zu instanziieren und wir werden auch einen Verweis darauf erhalten. Also lass uns weitermachen und unsere Skripte und den Menü-Manager öffnen, wo ist es? Also im Menu Manager und haben nicht bemerkt, wie viele Skripte wir bereits haben, unser Gewinn nimmt wirklich Gestalt an. Also, ob das eine kleine Erinnerung ist, lassen Sie uns einen Verweis auf den Artikel Slot-Container bekommen. Also werden wir ein serialisiertes Feld erstellen. Es wird vom Typ Spielobjekt sein. Dies ist der Behälter unserer Artikel. Also Artikel, Schlitz, Container. Dies wird der, dieser das Anzeigeelement sein. Also, wo ist es? So wird es die Elemente Anzeigebereich sein. Und dann werden wir
ein zweites serialisiertes Feld erstellen , das vom Typ Transformation sein wird. Und es wird das Element Slot Container Eltern sein. Okay, also was ich sagen kann, dass der Items Slot-Container das
Prefab sein wird , das wir gerade erstellt haben und das Elternteil wird die Elementanzeige sein. Also, nur um Verwirrung zu vermeiden, genau wie ich gerade verwirrt habe, wird
dies sein, wo wir sagten, der Elternteil, dies wird der Container sein, den wir instanziieren
werden, wird all das in nur ein bisschen nackt mit mir sehen. Als nächstes müssen wir eine Methode erstellen, mit der
unsere Elemente jedes Mal angezeigt werden, wenn wir sie im Menü-Manager abholen. Hier werden wir also nach unten scrollen und nach dem Update des Statistik-Menüs wird eine private Lücke erstellt. Aktualisieren Sie Artikel, Lagerbestand. Und jetzt lassen wir es einfach leer, denn bevor wir das tun, brauchen
wir einen Weg, um eine Referenz unserer Artikel zu bekommen. Wenn wir in das Inventar schauen, werden
Sie feststellen, dass die Liste der Artikel privat ist Daher benötigen wir eine Methode im Inventar, um sie zu erhalten. Die Art und Weise, wie wir das tun, ist, indem Sie eine Herausforderung und Ihre Herausforderung ist es, eine Methode der Typliste zu erstellen. Erstellen Sie also eine Methode, mit der wir auf die Liste der Elemente zugreifen können. Die Methode sollte vom Typ sein, der eine Liste,
eine bestimmte Art von Liste zurückgibt , und sollte die Elementliste zurückgeben, die wir haben. Also pausieren Sie das Video jetzt und gehen Sie vor und erstellen Sie eine Methode, die uns die Artikelliste bringt. Okay, willkommen zurück. Wie hast du das alles bekommen? Und ich bin mir nicht sicher, ob wir das Update vorerst verwenden werden. Also werde ich es einfach entfernen, wenn wir es brauchen, werde es später erstellen. Das wird also eine Öffentlichkeit sein, weil wir von den vorderen Skripten darauf zugreifen werden. Es wird von der Typenliste sein. Das wissen Sie schon, aber welchen Typ sollte es sein? Es sollte vom Typ Items Manager sein, weil wir
diese Elementliste erhalten und es wird die Get-Elemente-Liste genannt werden. Es braucht keine Argumente,
und alles, was es tut, ist, dass es die Elementliste zurückgibt. Da gehen wir. Was passiert nun, wenn wir die Instanz des Inventars aufrufen? Wir greifen auf die Methode erhalten Elemente Liste und es gibt uns diese Elementliste zurück. Also zurück in unserem Menü-Manager, wo ist es? Wir werden es hier verwenden, um sicherzustellen, dass wir alle haben. Und das nächste Video werden wir die Slots aus dem Code hinzufügen, während wir mit unserem Spiel weitermachen. Und vielleicht, bevor wir das tun, gehen
wir einfach und die Leinwand, die nach unten scrollen. Mal sehen. Da gehen wir. Der Item-Slot-Container. Dies sollte die Schaltfläche „Elemente“ sein. Und wir transformieren werden die Elemente angezeigt werden. Und Sie fragen sich vielleicht, warum es vom Typ Transformation ist, denn wenn wir auf die Anzeige Items klicken, werden
Sie feststellen, dass es nichts anderes als den Transport hat. Möglicherweise müssen wir sie sogar in Rect, Transform ändern. Es handelt sich um eine andere Art der Transformation, die nur
für die Elemente oder die Spielobjekte in der Benutzeroberfläche verwendet wird . Also, wenn das erledigt ist, hoffe
ich, Sie genießen es. Du brauchst deine Änderungen nicht vorerst im nächsten Video zu übernehmen. Also sehe ich dich dann.
59. Nachzunehmen, Objekte: Willkommen zurück, meine Spiele-Entwickler. Dies ist ein sehr spannendes Video, denn wenn wir Gegenstände abholen, wenn wir jetzt zu unserem Menü gehen, gehen
wir zu Statistiken Artikel. Da gehst du. Sie können sehen, dass wir alle unsere Artikel
mit den richtigen Sprites angezeigt haben und wie viele wir abgeholt haben? Nein, nicht durch eine Nummer vertreten, aber Sie können sehen, dass wir drei Flaschen Gesundheitsförderung haben und so weiter. Das ist also ein sehr spannendes Video. Es bringt wirklich alles, mit dem wir zusammengearbeitet haben. Ein bisschen komplizierter Code mag sein, aber wir werden alles Schritt für Schritt lernen und Sie werden jeden einzelnen dieser Schritte verstehen. Also lasst uns keine Zeit mehr verschwenden und loslegen. Ok. Zeit, um zum harten Teil zu kommen. Es ist nicht zu schwer, aber es ist irgendwie neu. Also, was wollen wir tun? Und unsere Codierung hier können
wir sehen, dass wir die Artikel im Inventar aktualisieren möchten. Was wir also tun werden, ist, dass wir jedes der Elemente in der Elementliste durchlaufen werden. Und wir könnten die for-Schleife verwenden, aber es gibt eine viel bessere und effiziente Möglichkeit, auf jedes Element und eine bestimmte Liste zuzugreifen. Und das ist die foreach-Schleife. Lassen Sie uns also über die for-each Schleife sprechen, eine sehr zentrale für. So ermöglicht es Ihnen, jedes Ding in
einer Sammlung von Dingen des gleichen Typs und eines Arrays oder einer Liste zu durchlaufen , es spielt keine Rolle. Das ist also die Struktur, die wir für jeden schreiben, den wir den Typ festlegen, erstellen
wir einen Namen in Art von Dingen. So wird es sein, sie sollten natürlich der gleiche Typ sein. Das wird also die Liste sein, auf die wir zugreifen wollten. Zum Beispiel wird
dies in unserem Fall die Elementliste sein. Dies wird jede Variable sein, die Sie benennen möchten, damit wir es Elemente benennen können. Und es wird vom Typ Item Manager sein, weil wir auf Element zugreifen. Also, wenn wir zugreifen oder wenn wir durch jedes der Elemente in dieser Liste gehen, können
wir das Ding oder den Gegenstand bekommen. Wir können eine Methode darauf verwenden, oder wir können sie an eine andere Methode senden oder andere Dinge ausführen, die wir damit wollen. Lassen Sie uns also voran gehen und eine foreach-Schleife implementieren. Also werden wir für jeden schreiben, wir werden diese kleinen Klammern öffnen und es wird vom Typ Item Manager sein. Es wird Item genannt werden. Und wir werden im Inventar suchen. Zum Beispiel, dot get list. So erhalten Sie Artikel Liste. Das ist also die Methode, die wir früher und hier erstellt haben, so gibt es Sie gehen, Get items list. Also, was machen wir eigentlich hier drin? Nun, was wir wollen, ist die Item-Slots zu instanziieren, die wir hier eingerichtet haben. Also müssen wir neue Schaltflächen erstellen, Stunden-Slots für den Artikel jedes Mal, wenn wir einen neuen Artikel im Inventar haben. Und wenn wir hier reingehen, zeige
ich Ihnen, was Instanziieren bedeutet. So wie Sie sehen können, gibt es viele Erklärung davon in den Einheit Hunde. Und einer von ihnen, und der, den wir benutzen werden, ist dieser ,
der es uns erlaubt, bestimmte Eltern dafür zu setzen. So wird es ein Kind eines anderen Objekts oder es wird darunter sein. Und warum brauchen wir das? Das haben wir bereits im vorherigen Video behandelt. Wir möchten, dass die erstellten Elemente die untergeordneten Elemente
dieses Element-Anzeigebereichs sind, damit sie mithilfe des Rasterlayouts korrekt angeordnet werden. Also, das etabliert, lasst uns voran gehen und dieses verwenden,
das, das das Elternteil verwendet, und wir haben bereits das Elternteil hier eingerichtet. Wo ist sie? Also, da gehen Sie, die Elemente Schlitz Elterncontainer. Also, wie sollen wir das machen? Nun, es wird zuerst sein, vom Typ Rect Transform. Also Rect Transform, wir haben bereits gesagt, warum es direkte Transformation ist, aber wir werden es noch einmal übergehen, damit Sie genau hier sehen können, dass es sich um Rekt-Transformation handelt. Also auch hier instanziieren wir eine umbrochene Transformation, nicht nur jede Transformation. Also wieder hier drin, Rect Transform wird der Item-Slot sein und es wird gleich sein, Item Slot-Container zu instanziieren. Und das ist das Prefab, das wir eingerichtet haben. Jetzt müssen wir ihm ein Elternteil geben, das das Element Slot Container Elternteil sein wird. Und wenn wir hier anhalten, werden
Sie feststellen, dass wir einen Fehler haben, weil wir ein Spielobjekt in ein Rect, Transform
instanziieren möchten . Und deshalb werden wir auf die Komponente zugreifen. Also erhalten wir die Komponente des umbrochenen Transports dieses Objekts. Also hoffe ich, dass das Sinn ergibt. Was machen wir hier drin? Zunächst einmal instanziieren wir den Item Slot-Container. Und das übergeordnete Element als Element Slot Container übergeordnete. Diese beiden Variablen haben wir bereits im vorherigen Video eingerichtet. Und dann greifen wir auf die Komponente der Rect-Transformation zu, damit wir sie später verwenden können, vielleicht wenn wir sie brauchen. Also hoffe ich, dass das klar ist. Lass uns das alles retten. Gehen wir zurück zu Unity, gehen wir weiter und schalten das Menü aus. Mit Lauf wird unser Spiel ein paar Gegenstände abholen. Also 1, 2, 3, 4, 5. Arbeiten Sie die Speisekarte voraus. Wir gehen zu Stat, gehen zu Artikeln. Und wir haben nichts zu zeigen, denn wie oft muss ich diesen Fehler machen, bevor ich ihn endlich bekomme, müssen
wir End-Buttons tatsächlich diese Update-Items Methode aufrufen. Also wird ein Artikel hier einen hinzufügen. Canvas, welche Funktion möchten Sie aufrufen? Ich werde im Menü-Manager aktualisieren, wo ist das Update? Haben wir es privat oder Fall gemacht? Also lass es uns öffentlich machen. Sag das wieder hier drin. Und jetzt können wir zusätzliche Geld-Manager und aktualisieren Sie Artikel im Inventar, speichern Sie das, führen Sie unser Spiel. Und jetzt, wenn wir ein paar Gegenstände abholen, gehen wir. Also, jetzt drücken wir die M-Taste. Statistiken gehen zu Artikeln, und da gehst du. So können wir in unserer Konsole sehen, dass wir fünf Elemente haben. Und hier drin sehen Sie, dass wir sechs haben. Das liegt daran, dass wir bereits eine der Tasten eingerichtet haben. Wie sollen wir das vermeiden? Und vor allem, wenn Sie das selbst ausprobiert haben, werden
Sie feststellen, dass etwas sehr Seltsames passiert, wenn wir all diese hinzufügen. Wir trafen die M wichtigsten Elemente, Elemente, Elemente, und Sie sehen, dass jedes Mal, wenn Sie steigen. Warum ist das so? Denn wenn wir zurück in den Code gehen, werden
Sie feststellen, dass wir durch jedes Element gehen und dann instanziieren wir den Slot-Container immer wieder und wieder und wieder und fügen ihn dem Slot-Container-Elternteil hinzu. Wie sollen wir das vermeiden? Ich bin mir nicht sicher, wie wir das machen können. Ich habe viel recherchiert, also denke ich, das wird deine Aufgabe sein. Sie werden also Slots zerstören, bevor wir sie instanziieren. So werden Sie Ihr neu erworbenes Wissen verwenden, um Item-Slots zu löschen oder zu zerstören, bevor Sie sie aktualisieren. Und Sie müssen durch jeden Gegenstand Slot im Item Slot-Container gehen und zerstören. Also mit diesen Informationen, pausieren Sie das Video jetzt, geht durch alle Elemente Slot und
den Slot Elternteil und zerstören sie, bevor wir das Inventar aktualisieren. Also, dass nicht, pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Oh, okay, willkommen zurück. Ich hoffe, es war nicht zu schwer. Also, was werden wir tun, bevor wir alles hier oder bevor wir instanziieren? Vielleicht haben Sie es in einer separaten Methode getan. Das ist nicht schlecht. Aber wir können es mit der gleichen Methode tun. Wir werden durch
jeden Transformationsartikel Slot und den Artikel Slot Container Elternteil gehen . Und was wir tun werden, ist einfach das Objekt Slot Spiel Objekt zerstören. Und wir greifen auf das Spielobjekt zu, weil dies eine Transformation ist. Also, weil das Element Slot Container Eltern Arten von Transformation enthält, werden
wir das Element geschlitzte Spielobjekt zerstören. Also, wie wird das funktionieren? Wir gehen hier wieder rein. Wir werden unser Spiel laufen. Wir werden ein paar Artikel abholen. Und jetzt wirst du sehen, dass wir fünf Gegenstände haben. Wenn wir Statistiken Artikel dort gehen Sie 12345. Und das liegt daran, dass wir immer die vorherigen zerstören, die verfügbar sind. Also Back-End-Statistiken Elemente, werden
Sie feststellen, dass wir den Fehler nicht mehr haben, aber es gibt ein leichtes Problem. Und das ist die Bilder sind immer noch die gleichen, so haben wir das Standardbild. Um das zu beheben, gehen
wir zurück in unseren Code und wo wir unseren Item-Slot instanziieren, werden
wir eine Variable erstellen, die vom Typ Bild sein wird. Es wird das Artikelbild sein. Und es wird gleich dem Element Slot Punkt finden. Und wir werden nach dem Bild innerhalb des Items Slot suchen. Nun, was ist Fund? Lassen Sie mich es Ihnen zeigen. Finden. Da ist es. Es findet ein Spielobjekt nach Namen und Sie verwenden es immer auf einem Spielobjekt. So können Sie sehen, dass Spiel Objekt Punkt finden. Also, was wir tun wollen, so stellen Sie sicher, dass Sie das in und öffnen Sie Dokumente, so dass Sie es klar sehen können. Was wir tun möchten, ist auf die Schaltfläche „Items“ zu gehen und auf das Items Bild zuzugreifen. Also werden wir dies kopieren, weil es
eine String-Referenz ist und es nach Namen durchschaut. Wir werden es hier einfügen. Und wir werden die Komponente darauf bekommen, die vom Typ Bild ist. Daher empfehle ich, dass Sie diesen Punkt
sehr sparsam verwenden , da er viele Fehler verursachen kann, besonders wenn Sie manchmal den Namen ändern. Wenn wir also das Namenselement-Bild unter dem Element-Slot ändern, wird
es viele Fehler verursachen. Ich hoffe, du hast verstanden, was wir hier tun. Wir greifen auf den Element-Slot zu, den wir erstellt haben. Deshalb haben wir dafür gesorgt, dass es sich um eine Variable handelt, damit wir sie später verwenden können. Wir finden das Bild, das Elemente Bild genannt wird. Wir erhalten das Komponentenbild. Und jetzt werden wir
das Artikelbild Punkt Sprite auf den Artikel gleich setzen , weil wir durch jeden Artikel gehen, denken Sie
daran, und unsere Lagerbestandsartikel Bild. Also werden wir das speichern, gehen zurück und unser Spiel, wir werden den Code ausführen. Und wenn wir ein paar Objekte aufnehmen, sollten
sie das richtige Bild haben. Also statische Bilder, da gehen wir. Wie cool ist das? Also haben wir ein wirklich gut aussehendes Inventar erstellt, aber es gibt ein leichtes Problem, wenn ich jetzt eine zweite Flasche Gesundheit abhole. Also Gegenstände, HP Trank. Lassen Sie mich das duplizieren. Also fügen wir es hier hinzu. Wir haben hinzugefügt und hier werden wir den Code ausführen. Jetzt nehme ich 1231 der Gesundheitstränke und ein paar andere Gegenstände auf. Wenn ich Statistiken Artikel gehen, können
Sie sehen, dass wir drei Gesundheitstränke haben. Nun, das ist kein Fehler. Alles funktioniert gut. Aber wenn Sie RPG-Spiele gespielt haben, werden
Sie feststellen, dass Tränke und andere Arten von Edelsteinen manchmal stapelbar sind. Also haben wir diese Zahl hier sollte repräsentieren, wie viele Teile wir haben. Vielleicht Schwerter und Äxte und Rüstungsschild und so weiter. Sie müssen nicht stapelbar sein, aber Tränke müssen stapelbar sein. Also werden wir dieses Problem im nächsten Video anpacken und sicherstellen alle Ihre Änderungen und die Quellzeichenfolge inszeniert werden. Also hoffe ich, Sie genießen es. Ich hoffe, Sie genießen den Kurs. Ich hoffe, du mochtest mich als Lehrer. Wenn Sie das tun, werde ich Sie daran erinnern,
machen Sie hier ein Plug-in. Lassen Sie mir eine Rezension darüber, was mir sehr geholfen hat. Danke.
60. Stapelbare Gegenstände: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir Gegenstände übereinander stapeln. Obwohl Jimmy, der Dämon, Äxte in seine Tasche stecken kann, hat
er große Taschen, um Bosonen zusammen hinzuzufügen. Also, wenn wir unser Spiel laufen, wirst
du sehen, dass wir,
wenn wir eine der Achsen und Schilde aufnehmen , Armen, auch mehrere dieser Tränke aufnehmen können. So werden Sie feststellen, dass wir drei Manatränke und für HP Portion aufgegriffen haben. Als wir also
Statistiken hatten, gehen Sie hin. Ihr merkt, dass wir jeweils einen Akt von jeder und einer Rüstung haben. Aber wenn wir uns die Tränke ansehen, haben wir 43. Sie sind übereinander und nicht in verschiedenen Schlitzen gestapelt. Lassen Sie uns also keine Zeit mehr verschwenden und beginnen Sie mit dem Stapeln von Gegenständen. O, k. Also sollten einige Gegenstände stapelbar sein, andere sollten nicht. Also Münzen, Ozeane und so weiter. Alle sollten stapelbar sein. Platten der Rüstung, Helme, Schwerter, und so weiter sollten nicht stapelbar sein. Lassen Sie uns dies also in unserem Items-Manager implementieren. Wir gehen in den Items Manager. Und hier werden wir zwei neue Variablen hinzufügen. Der erste wird ein öffentlicher Bool sein und ist stapelbar. Also, wenn dieser wahr ist, werden
wir es ein bisschen anders im Inventar hinzufügen. Und eine andere Variable, die hinzufügt,
wird eine ganze Zahl sein und es wird die Menge sein. Nehmen wir an, Sie werfen einen Teil der Gesundheit, Sie können den Betrag auf zwei oder drei, oder fünf oder 10. Okay, damit wir jetzt fertig sind, müssen wir eine spezielle Methode im Inventar
erstellen, um sie hinzuzufügen. Wir werden also sicherstellen, dass wir jedes Mal, wenn wir einen Artikel hinzufügen, nach einem Betrag suchen können. Und derzeit werden wir den Druck entfernen oder vielleicht, wissen
Sie was, lassen Sie es einfach entfernen oder lassen Sie es uns als Kommentar behalten. Also werden wir es kommentieren. Du weißt, was es war, um es zu entfernen, wir werden dieses und dieses entfernen. Und jetzt werden wir überprüfen und die Artikel. Also, zuerst, wenn das Element, nach dem wir suchen, stapelbar ist,
dann, was wir tun werden, ist eine Schleife durch jedes Element. Der Manager nennt dies das Element. Und dann Liste der Tory und V Elemente. Und dann werden wir überprüfen, ob der Artikel in der Inventarliste Punkt Artikelname gleich dem Element ist, den wir versuchen, Punkt-Elementnamen hinzuzufügen. Also im Grunde, was wir hier tun, ist zu überprüfen, ob wir bereits diesen Artikel im Inventar haben, wir gehen zu den Artikeln im Inventar, wird auf den Betrag zugreifen. Und wir werden es um die Menge des Artikels erhöhen, den wir hinzufügen möchten. Also, was ist hier los? Wir prüfen zunächst, ob es stapelbar ist. Dann schauen wir uns unsere Artikel in der Artikelliste an. Und wir werden überprüfen, ob einer dieser Artikel
gleich dem ist wie der Artikel, den wir gerade abgeholt haben. Und wenn es so ist, dann werden wir die Menge des Artikels
im Inventar um die Menge des Artikels erhöhen , der uns gegeben wird. Nehmen wir also an, wir haben bereits zwei Gesundheitstränke. Wir holen zwei weitere Gesundheitstränke auf. Es wird um zwei zunehmen, also haben wir insgesamt vier. Und schließlich, wenn es nicht stapelbar ist, wird
das einfach das Element und die Liste hinzufügen. Da gehst du. Oh, okay. Richtig. Aber was werden wir tun, wenn der Artikel stapelbar ist, aber noch nicht hinzugefügt wurde? Es ist also das erste Mal, dass er dem Inventar hinzugefügt wird. Wir werden hier einen Booleschen Wert erstellen, der das im Auge behalten wird. Also ein boolesches Element, das bereits im Inventar ist, und es wird gleich falsch sein, nur standardmäßig. Und wenn es innerhalb des Inventars verfügbar ist, werden
wir es auf true setzen. Der Artikel, der bereits im Inventar ist, entspricht also true. Das ist also etabliert. Aber wenn dies nicht der Fall ist, erstellen wir hier eine Bedingung, die
sein wird , wenn der Artikel nicht bereits im Inventar ist. Sie werden also bemerken, dass ich dieses Ausrufezeichen habe. Also, wenn der Artikel im Inventar falsch ist, bedeutet
das, dass er nicht im Inventar und in der Steigung genau hier gefunden wurde. Dann gehen wir einfach zur Artikelliste und fügen Sie diesen Artikel hinzu. Wie wir es normalerweise tun. Da gehen wir. Also, was hier passiert, da Sie wissen, dass hier und in dieser for-each Schleife, wir alle Elemente durchschauen und prüfen, ob wir diesen Artikel im Inventar
haben. Und wenn wir es finden, erhöhen
wir es um die Menge, die wir bekommen. Und wir setzen die Artikel, die sich bereits im Inventar befinden, auf true. Also diese Bedingung greift nicht auf, oder dies, diese Bedingung hier ist falsch. Oder der gesamte Zustand hier mit dem Ausrufezeichen ist falsch. Daher fügen wir das Element nicht zur Liste hinzu. Wir erhöhen es einfach um die Menge. Wenn wir es nicht finden, bleibt der Artikel im Inventar falsch, dann ist dieser gesamte Zustand mit dem Ausrufezeichen wahr. Das bedeutet, dass wir den Artikel hinzufügen müssen. Also lasst uns das alles retten. Gehen wir zurück in unser Spiel. Und jetzt, wenn wir alle Gesundheitstränke abholen, sollten
wir drei nicht sehen. Wir sollten nur einen von ihnen sehen. Also, jetzt holen wir die ab. Wir gehen zu Statistiken Artikel. Also, jetzt gehen wir zurück und tun Einheit. Und wir sollten sehen, dass auf der silbernen Rüstung wir haben stapelbar und die Menge. Also gehen wir zum HP Teil,
stellen sicher, dass es stapelbar ist. Wir müssen zu all diesen hinzufügen, dass der Betrag eins ist. Wir sollten es als Standard setzen, wenn wir ein Objekt erstellen, müssen
Sie sicherstellen, dass mindestens es einen und den HP Teil als eins und so weiter. So sind der HP-Anteil, der
gesamte HP-Anteil und alle Portionen im Allgemeinen stapelbar. Also werden wir das retten. Und später werden wir Pre-Fab in all unseren Artikeln sein. Das wird also kein so großer Ärger sein. Also werden wir eigentlich, es ist eine gute Idee, sie jetzt vorauszuformen. Aber lassen Sie uns weitermachen. Lass uns das Spiel laufen. Das machen wir in nur ein bisschen. Also führen wir das Spiel, wir holen ein paar Gegenstände. Wir überprüfen die Gegenstände. Und wie Sie sehen können, obwohl wir drei Tränke aufgenommen haben, haben
wir nur einen Schlitz davon. Nun ist der nächste offensichtliche Schritt, darzustellen, dass es drei Tränke gibt und nicht nur einen. Wir müssen direkt hier auf den Text zugreifen. Und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht darin, den Text des Betrags zu aktualisieren. Also zuerst erhalten die Elemente eingehängt Text, müssen
Sie darauf zugreifen. Dann überprüfen Sie, ob wir mehr als einen Artikel haben. Wenn wir das tun, müssen Sie es anders anzeigen. Wir müssen es nicht wirklich anzeigen. Zum Beispiel, wenn wir einen Herbst haben, wollen
wir nicht hineinlegen, dass wir eine Bestellung haben. Es genügt, nur das Bild zu sehen. Also brauchen wir diese Bedingung, um zu überprüfen, dass es mehr als einen dieser Artikel gibt. Und ich werde dir einen kleinen Hinweis geben. Sie müssen sicherstellen, dass Sie den Betrag in zwei Strings konvertieren, denn als ich das Spiel erstellte, hatte
ich diesen Fehler und es dauerte lange, um herauszufinden, also dachte ich, ein Hinton hier würde helfen. Und damit,
pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Hey, willkommen zurück. Also war ein Teil der Herausforderung zu finden, wo wir das wirklich tun müssen? Und wir müssen es natürlich tun, wenn wir das Inventar des Artikels aktualisieren. Also werden wir hier eine Variable vom Typ Text erstellen. Es wird die Items Menge Next sein, und es wird gleich dem Item Slot sein. Und wir werden hier die Menge an Text finden. Wenn wir also zurück gehen, finden
wir den Text der Menge, wir kopieren ihn, weil es eine String-Referenz ist, die wir hier eingefügt haben. Wir werden auf die Komponentensteuer zugreifen, und wir gehen weiter und greifen auf diesen Text zu. Und bevor ich weiter, Ich erinnere mich, ich habe ein paar Änderungen in hier, um den Text viel Pro, so ist es nicht mehr das mittelalterliche. Und ich wechselte gerade zu der Befreiung Sans als das F mutig machte und ein paar Dinge hier drinnen hinzufügte. Oh, keine zusätzlichen Dinge. es nur ein wenig geändert und die Schriftgröße vergrößert, nur damit Sie wissen, ob es sich von Ihrer Schriftart unterscheidet, tatsächlich mussten
Sie sich die Zeit nehmen und alles einrichten, wenn es um Sie geht. Ich so mit dem fertig, gehen wir zurück. Speichern Sie das. Jetzt werden wir überprüfen, ob der Punktbetrag größer als eins ist. Dann werden wir den Elementbetrag, Textpunkt-Text gleich dem Element Punktbetrag zu setzen. Punkt-toString. Und Sie werden feststellen, dass ich keine Klammern hinzugefügt habe. Und ich sage dir, warum in nur ein bisschen. Und wenn das Element nicht größer als eins ist, dann werden wir es einfach auf 0 setzen, so dass das Element, Menge Text, wird der Text gleich einer leeren Zeichenfolge sein. Also, wo sind die Klammern? Hast du uns angelogen, dass wir sie nie benutzen mussten? Nun, nein, weil wir einfach eine einzige Zeile in der Bedingung verwenden, versuchen
wir, eine einzige Codezeile zu implementieren. Wir müssen die Klammern nicht hinzufügen. Nun, diese quiggly Klammern, jetzt, wenn es Sie mehr entspannt, um sie hinzuzufügen, dann gehen Sie für es. Das ist nur, um ein bisschen Platz zu sparen und einen raffinierten Trick, den ich dir beibringen wollte. Also werden wir all das retten. Wir gehen zurück in die Unity. Wir werden den Manna Trank duplizieren, den duplizieren. Und noch eine hier, dupliziere das, ich füge noch einen hier hinzu, speichere das, um das Spiel zu laufen. Und jetzt, wenn wir die Tränke
aufheben, die Portionen aufheben, die Gegenstände sichern. Wir drücken die M-Taste, gehen zu den Gegenständen und wir haben einen Pfeil. Und dieser Pfeil sagt uns, dass, wenn wir versuchen, die Elemente Punktbetrag toString zu
aktualisieren, keine Referenz erhalten. Also Objekt nicht als Instanz von Blick gesetzt. Also offensichtlich, offensichtlich, müssen Sie auf die Leinwand gehen. Und wo ist die Höhe der Steuer? Die Steuer. Und es liegt daran, dass wir sicherstellen müssen, dass es ein Text Mesh Probe ist, weil wir sehen, weil ich mich erinnere, dass wir diesen kopiert haben oder wir es in einen Text geändert Mesh Pro. Es ist kein normaler Text mehr auf einer Schaltfläche. also anstelle von Text hier
sicher, dass es sich um Text Mesh pro GUI handelt. Und ich hoffe, dass Sie während der Herausforderung nicht auf den gleichen Fehler gefallen sind. Wenn Sie das getan haben, keine Sorgen, können
Sie sehen, dass es den Besten von uns passiert. Wenn Sie es nicht getan haben, gratuliere ich Ihnen. Du machst den nächsten Schritt, junger Heuschrecke. Also retten wir das. Wir gehen zurück und unser Spiel, lasst uns das laufen. Und ich glaube, dass es keine Fehler mehr gibt. So können Sie sehen, dass wir zwei Portionen Gesundheit und drei Teile Mana aufgenommen haben. Wir gehen Statistiken Artikel. Da gehen wir. Wir haben also eine x. Wir brauchen die Zahlen nicht, weil wir eine von jedem haben und sie nicht stapelbar sind. Die stapelbaren Elemente, die Sie sehen können, die eine Zahl unten neben ihnen haben. Also, wie cool ist das? Unser Inventar nimmt wirklich Gestalt an. Und schließlich ein kleiner Schritt. Wir werden hier einen Ordner für die Elemente erstellen. Und wir werden alle Elemente setzen, nicht diejenigen mit eins und zwei neben ihnen auf die ursprünglichen. Und warum kann ich nicht alle auf einmal hinzufügen? Um sie eins nach dem anderen über x, goldene Axt und so weiter und so weiter hinzuzufügen. Also werden wir diese Pre-Fabs verwenden und um Artikel hinzuzufügen. So zum Beispiel, HP Teil. Ich muss am Tatort sein. Ps-Portion. Da gehst du. Wir haben noch einen HP Trank hinzugefügt und wir können
alles über diesen HP Teil von hier aus ändern , vom Prefab. Also hoffe ich, Sie genießen es. Ich hoffe, du begehst deine Änderungen und ich sehe dich im nächsten Video.
61. Objekte auswählen: Willkommen zurück, meine Kollegen Spiele-Entwickler in diesem Video, wenn wir den Code ausführen, wenn wir ein paar Gegenstände abholen. Wenn wir auf die Elemente zugreifen, wenn wir auf einen von ihnen klicken, bemerkte was? Beachten Sie, was hier passiert. Da gehst du. Jetzt wissen wir, dass dies ein HP-Anteil ist. Was macht es? Das geben wir Ihnen HB. Das wird dir Mana geben. Das wird Monster töten. Dies wird Monster schneller töten, weil es eine goldene Axt ist. Das war ein silberner Akt. Also lasst uns keine Zeit mehr verschwenden und loslegen. Wenn wir also derzeit ein paar Gegenstände abholen, werden
Sie feststellen, dass, wenn wir zu den Artikeln gehen, wenn wir darauf klicken, nichts passiert. Wir haben immer noch den Artikelnamen, Artikelbeschreibung oder leer, und wir können nichts verwenden. Also im Grunde ist es eine wertlose Artikelliste. Wir werden das ändern. Also zuerst gehen wir in den Menü-Manager und op hier werden
wir einen öffentlichen Text-Element-Namen erstellen. Wir werden eine auch hinzufügen, um es die Artikelbeschreibung erstellen. Und wir werden auch erstellen und hier eine Instanz oder wir haben bereits eine Instanz. Das ist also gut. Speichern Sie das. Jetzt gehen wir zurück und Einheit,
warten, bis dies kompiliert wird. Und wir werden ein Skript erstellen, das das Drücken einer dieser Schaltflächen handhabt. Also haben wir die Items Taste. Wir wollen ein Skript erstellen, um zu handhaben, was dort passiert. Wir könnten den Onclick benutzen. Wir werden den onclick verwenden, aber wir wollen ein Skript erstellen. Also werden wir in Skripte gehen, werden in Elemente gehen. Glauben Sie, Items Management ist ein guter Ort, um dies zu schaffen? Ja, sicher. Warum nicht so gut, erstellen Sie hier ein Skript, wir rufen den Element-Button. Drücken Sie die Eingabetaste, warten Sie, bis dies kompiliert wird, und wir gehen in die Schaltfläche Prefabs Elemente oder Prefabs Element, und wir werden zu sperren,
gehen Sie zu den Skripten und fügen Sie die Schaltfläche Elemente hinzu. Und so gehst du hin. Also Items Button, speichern Sie das. Öffnen Sie die Schaltfläche „Elemente“. Und was machen wir hier? Nun, wir werden eine Methode erstellen, die drückt oder Fall. Also hier sind wir in den Artikeln, das Skript. Wir brauchen nur eine einzelne Variable für den Moment, und es wird ein öffentlicher Items Manager und das Element auf Schaltfläche sein. Dies wird also darstellen, welches Element wir auf der Unterseite haben. Der nächste Schritt besteht also darin, eine Methode zu erstellen, die jedes Mal aufgerufen wird, wenn wir
die Taste drücken , um den Elementstapel oder
Elementnamen und den Menü-Manager und die Beschreibung des Elements festzulegen . Und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht darin, eine Methode zu erstellen, um zu drücken. Also eine Items Taste, erstellen Sie eine Methode drücken, verwenden Sie es, um den Speichermanager zuzugreifen und legen Sie den Elementnamen und die Beschreibung basierend auf dem Element auf der Schaltfläche. Also pausieren Sie das Video jetzt und gehen Sie die Herausforderung, 0, k. Also lasst uns den Start löschen und aktualisieren für jetzt. Ich glaube nicht, dass wir sie brauchen. Wir machen es später. Wenn wir sie brauchen, erschaffen Sie sie. Wir werden eine öffentliche Void-Fortschrittsmethode erstellen. Und hier werden wir den Menü-Manager Punkt-Instanz,
Punkt-Element-Name, Punkt-Text zugreifen . Und das wird gleich dem Element auf der Schaltfläche, dem Elementnamen sein. Und wir werden auch genau das gleiche für die Beschreibung festlegen. Statt des Artikelnamens, der Artikelbeschreibung und der Artikelbeschreibung werden
wir das speichern. Und jetzt gehen wir in den Menü-Manager. Scrollen wir nach unten. Wo richten wir den Upcase ein oder hier, wo wir aktualisieren. Nachdem wir die Aktualisierung abgeschlossen
haben, gehen wir zum Item-Slot. Wir werden die Komponente holen. Und diese Komponente ist die Elementschaltfläche. Wir werden hier drinnen zugreifen, den Artikel auf der Schaltfläche. Und es wird gleich dem Artikel sein, den wir gerade hinzugefügt haben. Also denke ich, dass ein besserer Weg wäre, wenn wir dies auf privat setzen und dann eine Methode erstellen, um Zugriff auf diese Elementschaltfläche zu erhalten, um es zu setzen. Das wäre wohl besser gewesen. Aber im Moment werden wir das nur als Öffentlichkeit nutzen. Keine Sorge darüber. Also, wo waren wir und der Menü-Manager? Da gehen wir. Element Steckplatz Komponente erhalten. Wir greifen auf die Schaltfläche „Script Item“ zu, die eine Komponente auf dem Item Slot ist. Wir greifen auf den Artikel auf Schaltfläche zu und wir setzen es auf den Artikel, gerade im Inventar hinzugefügt
wurde, die Liste. Also, wenn wir unser Spiel laufen, wenn wir in unsere Leinwand gehen, öffnen Sie unsere Leinwand, öffnen Sie unser Menü. Und übrigens, Unity ist gerade gegen mich abgestürzt. Also gehen wir zu, wo ist das Menü, die Elemente Panel, die Artikelbeschreibung. Also werden wir die Leinwand sperren. Was brauchen wir? Wir benötigen den Artikelnamen, die Artikelbeschreibung. Mal sehen. Ist das die Artikelbeschreibung? Es gibt das unter einem Jahr, also der Artikelname, Text, et cetera. Wie oft würde ich diesen Textfehler machen? Mesh pero Gui? Also bist du wahrscheinlich frustriert, dass ich das immer mache, Michael, du musst es dir in den Kopf stellen. Wir verwenden Text Mesh Pro. Speichern Sie das. Also jetzt weiß ich, dass ich zwei Probleme habe. Stellen Sie zunächst sicher, dass Sie immer den Text Mesh breit, nicht Text, und legen Sie die Elemente immer im Inspektor fest. Bis jetzt habe ich dieses Problem
behoben, mindestens eines davon behoben. Also retten wir das. Wir führen unser Spiel. Oh, okay, bevor wir weitermachen, mir aufgefallen, dass wir den Wert haben. Wir hätten den Wert festlegen sollen. Also, was ist das gelöscht? Ich bevorzuge die Beschreibung. Wir brauchen also die Werte und nicht den regulären Text. Also sagten wir den Wert, Beschreibungswert. Das retten wir. Wir führen unser Spiel. Wir holen ein paar Tränke auf. Und noch einmal, es gibt noch eine Sache, die wir tun müssen. Wenn wir in die Prefabs und die Items Taste gehen, entfernen
wir das Schloss, damit wir es deutlich sehen können. Wir brauchen das Onclick, um V Elemente Button Skript sein. Und in der Schaltfläche Items rufen wir die Presse auf. Also sparen Sie das. Und jetzt ist alles eingerichtet. Wir können ein paar Sachen
abholen und all diese abholen. Wir werden die Gegenstände treffen. Wenn wir auf eines der Elemente klicken, dort gehst du. Es ist ein goldenes Ei. Dies wird Monster schneller töten. Lassen Sie mich das größer machen, damit es klarer ist. Dies wird Monster schneller töten. Das wird Monster töten. Dies wird von Monstern besser zu verteidigen. Das wird Ihnen HB geben, Es ist ein HP Trank, und das ist ein Monopolmeer. Das wird dir Geld geben. Also, jetzt machen diese Tasten tatsächlich Dinge. Und das nächste Video werden wir sehen, wie wir
den Verwerfen-Knopf verwenden können , um die Gegenstände zu verwerfen. Also sehe ich dich im nächsten Video.
62. Artikel verwerfen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir die Artikel abholen. Und wenn wir die M-Taste drücken, gehen
wir zu den Gegenständen. Wenn wir einen von ihnen wählen und weggeworfen. Da du gehst, wirst du bemerken, dass es verschwindet. Wir haben ein bisschen optimiert, wie die Gegenstände zerstört werden. Und da gehst du mit zerstöre alle Gegenstände. Also lasst uns keine Zeit mehr verschwenden, die ich sage zerstören. Ich meine, verwerfen Sie alle Gegenstände und fangen wir an. Oh, okay. Um also ein Element zu verwerfen, müssen
wir den Akt des Artikels verfolgen, auf den wir gerade geklickt haben. Also werden wir genau das tun. Wir gehen in unseren Menü-Manager, und hier erstellen wir einen öffentlichen Items Manager. Und das aktive Element. Da gehen wir. Also, jetzt müssen wir in die Schaltfläche „Elemente“ gehen. Und wenn wir drücken wird zum Menü-Manager gehen, wird auf die Instanz zugreifen, wird den Akt des Elements auf dem Boden gleich zu sein. Speichern Sie das. Nun, was wir tun möchten, ist eine Methode zu erstellen, die den Akt des Elements verwirft. Und ich werde eine kleine Herausforderung herausstellen. Es ist nicht das, was du denkst. Erstellen Sie eine Methode, um ein Element zu verwerfen und zu init, drucken Sie den Namen des Elements aus, das wir nur verwerfen. Sie müssen sicherstellen, dass Sie es auf die Schaltfläche „Verwerfen“ anwenden, was ich immer vergessen habe. Also bitte, machen Sie das für pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Okay, willkommen zurück. Wie bist du damit weitergekommen? Wir werden nach unten scrollen. Und hier drinnen schaffen wir eine öffentliche Leere. Verwerfen Sie den Artikel oder verwerfen Sie ihn einfach. Es spielt keine Rolle. So wird hier einfach das aktive Element,
Punkt-Element-Name, Artikelname ausdrucken . Speichern Sie das. Wir gehen in Unity, wo wir auf das, wo ist es? Die Schaltfläche „Verwerfen“? Warum haben wir eine Schaltfläche „Verwerfen“? Haben wir es gerade dupliziert und dort gelassen? Das Menü schaltet sich also ein. Lassen Sie uns sehen, Schaltfläche verwerfen, Doppelklicken. Oh, okay, also lasst uns das von diesem Einkaufswagen-Button ändern, um den Button zu benutzen. Jetzt in diesem Warenkorb-Button, werden
wir nach unten scrollen. Wir werden einen On-Click hinzufügen. Wir werden die Leinwand ziehen. Wir werden auf den Menü-Manager zugreifen. Wir werden den Gegenstand verwerfen, das
speichern, das Spiel ausführen. Das ist schaltet sich auf Statistiken ICT 0 aus. Also wer, der noch nicht einmal irgendwelche Gegenstände abgeholt hat. Also werden wir das Spiel wieder laufen. Wir verlassen wird ein paar Gegenstände abholen. Da gehen wir. Drücken Sie die Eingabetaste und Statistiken Elemente. Klicken Sie auf eines der Elemente, verwerfen Sie. Da gehst du. Wir verwerfen die silbernen Akte, die die Silberrüstung
verwerfen, 10 Tränke wegwerfen und die HP wegwerfen. Also bekommen wir den aktiven Artikel korrekt. Die nächste Sache ist, tatsächlich damit zu beginnen, es von unserer Liste zu verschieben. Also werden wir in das Inventar gehen, werden hier eine Methode erstellen, die das Add-Element sein wird. Wir werden die Methode public void erstellen, und wir werden die Kunst entfernen. Also entfernen Sie Element und es wird ein Argument nehmen, das der Item-Manager sein wird, Typ Item-Manager und das Element, das wir entfernen werden. Und hier drin machen wir ein paar Dinge. Wir können einfach anfangen, aus der Artikelliste zu entfernen. Wir müssen zunächst sicherstellen, dass es stapelbar ist. Wenn es so ist, wollen wir nur einen von ihnen entfernen, nicht alle Ahmad oder nicht alle Gegenstände. Also, wenn Element stapelbar ist, dann werden wir zunächst eine Variable in hier vom Typ Item-Manager
erstellen. Und es wird der Inventarartikel sein. Und es wird gleich null sein. Und du wirst sehen, warum wir das in ein bisschen machen, okay, also ist alles in Ordnung. Wir werden alle Gegenstände durchlaufen. Und wir werden sicherstellen, dass wir die Artikelliste durchschauen. Und wir werden überprüfen, ob v Artikel im Inventar, die wir jetzt bekommen. Punkt-Elementname, den wir bereits abgedeckt haben, ist gleich dem Element zwei Gleichheitszeichen da wir mit dem Element, dem Elementnamen, vergleichen. Dann, was wir tun werden, ist der Artikel im Inventar, der Betrag, den der IntelliSense mir überhaupt nicht hilft. Und wir werden einfach einen entfernen. Oder wir hätten hier einfach minus Minus schreiben können. So entfernt dies A1. Und dann werden wir den Lagerartikel festlegen, den wir hier erstellt haben
, so dass er dem Artikel und dem Lagerbestand entspricht. Und warum machen wir das? Nun, weil wir überprüfen möchten, nachdem wir die for-each-Schleife beendet haben, ob der Lagerartikel anders als null ist und der Lagerartikel kleiner als der Dollarbetrag ist, so dass dieser Betrag kleiner oder gleich 0 ist. Dann werden wir den Artikel entfernen. Also die Art und Weise, wie wir entfernen, wie wir die Artikelliste mit oben zugreifen und entfernen, und wir greifen auf den Lagerbestand Artikel. Also, was wir hier tun, ist, dass wir
diese Variable erstellen , um den Überblick über das Element zu behalten, das wir entfernen. Wenn wir einen entfernen, sagen
wir, der Betrag wird auf 0, der Lagerartikel, dann überprüfen wir, ob er anders als null ist und der Betrag kleiner oder gleich 0 ist, dann werden wir den Artikel entfernen. Andernfalls entfernen wir einfach den Betrag und behalten ihn für später im Auge. Und wenn es nicht stapelbar ist
, entfernen wir einfach den Artikel. Also, wenn es nicht stapelbar ist, entfernen Sie Element, Listenpunkt das Element, speichern Sie das. Jetzt gehen wir zurück in Unity. Okay, also momentan, wenn wir unser Spiel laufen, gibt es ein kleines Problem, über das wir nicht gesprochen haben. Wenn wir also alle Gegenstände abholen, drücken
wir die M-Taste, wir gehen zu den Artikeln, wir klicken auf eines der Gegenstände. Wenn wir hier auf die Schaltfläche „Elemente“ schauen, werden
Sie feststellen, dass die aktive Schaltfläche oder das Element auf der Schaltfläche fehlt. Dasselbe gilt, wenn wir zum Canvas gehen und nach dem aktiven Item suchen. Jetzt fragst du dich vielleicht, warum das passiert? Schreiben wir den Code nicht richtig? Stimmt etwas nicht beim Hinzufügen von Inventar? Stimmt etwas im Item-Manager nicht? Jep. Wenn Sie über den letzten nachgedacht haben, ist das Problem der Item-Manager. Also, was passiert hier drin? Jedes Mal, wenn wir einen der Gegenstände aufheben, zerstören
wir ihn. Sie können es hier sehen. Also, wenn wir zerstören den Gegenstand mit zerstören das Spiel Objekt und es gibt keinen Verweis mehr darauf. Anstatt also zu zerstören, werden
wir die aktive auf 24 setzen. Also werden wir das festlegen, den Rückschlag. Also werden wir das Spiel Objekt Punkt gesetzt aktiv auf false setzen. Speichern Sie das. Jetzt wieder in unserem Spiel, werden
wir rennen. Und jetzt werden Sie feststellen, dass die Gegenstände,
anstatt zerstört zu werden, einfach verschwinden werden, aber sie werden immer noch hier drin für uns verfügbar sein. Also holen wir das alles auf. Wir drücken die M-Taste, gehen Sie zu den Artikeln und Sie werden feststellen, dass jetzt, da Sie gehen. Wir haben den Trank und die, alle anderen Gegenstände. Wenn wir auf die goldene Axt und die Leinwand klicken, haben
wir einen Hinweis auf die Goldene Axt. Also jetzt, wenn wir die Gegenstände verwerfen, die letzte, die wir verwerfen, wird
es so gut verschwinden, alles andere. Und du wirst bemerken, da gehst du. Also verschwindet alles. Alles funktioniert einwandfrei. Also mit dem fertig, Ich werde Sie im nächsten Video sehen, wo wir die Artikel
verwenden und nicht nur verwerfen. Also sehe ich dich dann.
63. Artikel verwenden: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir die Verwendung eines Knopfes der US-Taste tatsächlich implementiert. Also, wenn wir jetzt zu Gegenständen gehen, wählen
wir einen der Tränke. Wenn wir auf den Spieler schauen, benutzen
wir den Trank, aber warten Sie eine Sekunde, die aktuelle HP ist immer noch die gleiche. Wenn wir es noch einmal versuchen, whoops, die aktuelle HP immer noch gleich. Aber wenn wir den Heiler wählen, werden
Sie feststellen, dass, wenn wir uns das aktuelle Modell ansehen, das 3 ist, wenn wir etwas von Art und Weise hinzufügen, da Sie gehen, können
Sie sehen, dass es funktioniert, aber nicht auf dem richtigen Spieler. Wir werden das später beheben,
aber jetzt ist es an der Zeit, den Use-Button und unsere Icons Menüs zu implementieren. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, also ist es an der Zeit, unsere Artikel zu benutzen. Und das erste Element, das wir verwenden werden, oder die Elemente, die wir verwenden werden, sind die Teile, die wir haben, um Mano hinzuzufügen und HB hinzuzufügen. Also dafür müssen wir Methoden und Spielerstatistiken, die Mono und HP zu unserem Spieler hinzufügen. Und das wird Teil Ihrer Herausforderung sein. Ihre Herausforderung ist es, Art und Weise und HP hinzuzufügen. Machen Sie also eine Instanz des Player-Statistik-Skripts. Und es erstellt auch zwei Methoden. Eins, um Mono hinzuzufügen und HP hinzufügen möchten. Beide Methoden sollten ein Argument oder einen Parameter für den Betrag übergeben haben, um
den Betrag auf den aktuellen HP-Schrägstrich Mono anzuwenden,
und stellen Sie sicher, dass die aktuelle HP und das Mana nie
über die maximale HP-Weise gehen , weil wir nicht wollen, dass unsere -Spieler. Nehmen wir an, wenn die maximale HP 100 ist, wollen
wir nicht, dass der Spieler, sagen
wir, 110 oder 120 hat, wenn HP zu seiner Gesundheit hinzugefügt wird. Also mit diesem gesagt, pausieren Sie das Video jetzt und erstellen Sie die Methoden gemeinsam. Ok, willkommen zurück. Also hier drinnen, lassen Sie uns voran und erstellen eine Instanz. Also öffentlich, statisch, Instanz, Ops, Spielerstatistiken, Instanz. Und fangen Sie an. Wir werden die Instanz darauf setzen, speichern Sie das. Jetzt werden wir nach unten scrollen und hier gehen wir voran und erstellen zwei Methoden, die öffentliche Leere, fügen HP hinzu. Und hier werden wir einen ganzzahligen Parameter nehmen, der die Menge HB
sein wird , um hinzuzufügen. Und lasst uns voran gehen und hier eintippen. Also, was werden wir tun? Das erste, was wir tun werden, ist, dass wir die aktuelle HP bekommen. Es wird Plusgleichheit sein. Also fügen wir die Menge an HP hinzu, die hinzugefügt werden soll. Aber wir müssen sicherstellen, dass die aktuelle HB, so aktuelle HP, wenn es geht über die max HP, dann werden wir die aktuelle HP auf die max HP setzen gleich sein. Das ist also alles, was wir tun müssen und werden das gleiche hier tun. Also werden wir das duplizieren. Und das wird das Add-Mana sein. Dies ist die Betragsmethode, um das aktuelle Mano hinzuzufügen. Ein Mano, um das aktuelle Mano hinzuzufügen. Wenn es größer als das Max Mano wird, dann kopiert das ich das einfach, fügt es hier ein, kopiert es, fügt es hier ein, speichert das. Also, jetzt haben wir alles eingerichtet. Jetzt werden wir eine Methode erstellen, um diese Elemente aus dem Items-Manager-Skript zu verwenden. Also hier unter dem Update oder wissen Sie was, lassen Sie uns einfach den Start und das Update löschen weil ich nicht das Gefühl, dass wir sie bald brauchen werden. Und hier werden wir eine öffentliche Lücke Use Item erstellen. Und hier ist das erste, was wir tun werden, wir werden überprüfen, ob der Elementtyp gleich dem Element ist, geben Sie Punkt Element ein. Wir werden überprüfen, ob sein Effekt-Typ gleich der Effektart HP ist. Als was wir tun werden ist, dass wir die Spielerstatistiken aufrufen. Wir greifen auf die Instanz zu, fügen HP hinzu und wir senden ihm die Höhe der Wirkung. Also, da gehst du hin. Die Menge des Effekts else-wenn sein Effekt-Typ gleich dem Effekttyp dot mono ist, dann, oops, ich meinte, dass dieser hier drin sein sollte. Die if-Bedingung ist also nicht, ob es sich um einen Artikel handelt oder nicht, es hängt davon ab, ob es sich um HP oder Mono handelt. Und ich habe gerade eine else-if und nicht nur ein anderes hinzugefügt weil vielleicht möchten Sie andere Ozeane hinzufügen, die Geschicklichkeit erhöht. Und so weiter. Es ist also besser, anders zu verwenden, wenn in diesem Zusammenhang. Also fügen wir eine Spielerstatistik, die andere Instanz, Madonna, und die Höhe der Wirkung hinzu. Da gehst du. Speichern Sie das. Und schließlich, was wir tun müssen, ist, dass wir den US-Eintrag aus dem Menü-Manager aufrufen müssen. Also ein freier gehen, wo ist es? Wo ist der Menü-Manager? Da gehen wir. Also im Menü-Manager haben
wir das verwerfende Element. Jetzt werden wir eine öffentliche Lücke Use Item erstellen. Und hier drin werden wir nach dem Akt des Artikels suchen. Wir werden den Gegenstand benutzen. Da gehen wir. Und schließlich gibt es noch eine Sache, die wir tun müssen, und das ist, den Artikel zu verwerfen. Wir werden also auf den Ablageartikel zurückrufen, denn sobald wir den Artikel verwenden, wollen
wir das verwerfen. Also, was es tut, es wird es aus dem Inventar entfernen Artikel entfernen aus
dem Inventar entfernen und dann den Lagerbestand aktualisieren. Also werden wir das retten. Wir gehen in unser Spiel. Wir werden sicherstellen, dass wir alles gerettet haben. Okay, also zurück in unserem Spiel, führen Sie unser Spiel. Und schauen wir uns den Spieler an, wird hier sehen, dass wir haben, Ich habe, Wo ist es? Also die Spieler aktuelle HP ist 0. Also holen wir ein paar Gegenstände, die, ähm, gehen zu den Artikeln, holen die Gesundheitsförderung, lassen Sie uns es verwenden und sehen, ob die aktuelle HP steigt. Wir haben die Schaltfläche nicht zugewiesen, um etwas zu tun. Okay, also Canvas, Menü, Schaltflächen, Stop-Elemente, Schaltfläche verwenden, klicken Sie darauf, fügen Sie einen onclick auf der Leinwand, gehen Sie zum Menü-Manager und verwenden Sie Element speichern, das Spiel ausführen. Jetzt sollte dies funktionieren, so holen wir die Elemente, gehen Sie zu Amniot-Elemente, wählen Sie die Hälfte Teil, die auf den Spieler klicken stellt sicher, dass die, es gibt eine Art von Effekt und wie Sie sehen können, gibt es derzeit Nichts. Sie fragen sich also vielleicht, was schief gelaufen ist, da unser Code nicht als etwas schreibt, das wir hier hinzufügen wollten, nicht funktioniert, während alles funktioniert. Aber das Problem
ist, dass, wenn wir die Gegenstände abholen, wir die M-Taste drücken, zu den Gegenständen zum HB-Trank gehen und ihn benutzen. Es ist nicht der Spieler, der betroffen ist. Es ist der Heiler und PC, weil es auch einen Spielerwert darauf hat. Und wenn man hier genau hinschaut, sieht
man, dass der aktuelle Mano auf dem Heiler drei ist. Wenn wir das Monopol Ozean wählen und es benutzen. Da Sie gehen, können Sie sehen, dass wir ein bisschen und immer wieder hinzugefügt haben. Also jetzt sind wir in der Lage, unseren Trank zu benutzen. Aber der nächste Schritt besteht darin, tatsächlich eine Möglichkeit zu haben, zu wählen , welcher Charakter die Vorteile der Verwendung des Teils erhält, den wir haben. Im nächsten Video werden
wir also den passenden Charakter auswählen, der verwendet werden soll. Die Portionen und Elemente sind. Dann sehen wir uns.
64. Charakterwahl hinzufügen: Willkommen zurück meine Kameraden Game-Entwickler. Also denken Sie daran, wenn wir Gegenstände abholen und nicht wissen, wer was bekommen
kann, während wir jetzt, wenn wir auf eines der Elemente klicken, haben wir versucht, es zu benutzen, whoa, wir bekommen dieses Panel direkt hier, das öffnet sich und fragt uns, wen wollen Sie verwenden das auf? Ob es Jimmy ist? Ist es Sarah? Aber wir können immer noch alles dagegen tun. Wir werden das in späteren Videos tun, aber jetzt ist es Zeit, ein Panel für die Charakterwahl zu erstellen. Also sehe ich dich dann. Okay, also wie sollen wir in der Lage sein zu wählen , welcher Spieler den Trank bekommt, auf dem wir ihn verwenden möchten, oder einen anderen Gegenstand. Wir werden ein Panel erstellen, das sich öffnet, wenn wir auf Nachrichten klicken. Und lassen Sie uns zwischen den verfügbaren Spielern wählen. Also werden wir das thematische Menü wieder einschalten. Wir doppelklicken darauf, um es zu öffnen. Machen Sie dieses Spielfenster ein bisschen kleiner, weil wir ein bisschen Bearbeitung hier zu tun haben. Wir werden vielleicht sagen, die Elemente Anzeige-Panel. Nein, ich denke, die Artikelbeschreibung, Lassen Sie uns das duplizieren. Und hier lassen Sie uns alles löschen, löschen Sie das. Jetzt haben wir also die Artikelbeschreibung, die so groß ist wie die ursprüngliche Artikelbeschreibung. Dies wird das Zeichenwahlfeld sein. Betätigen wir die Eingabetaste. Und hier drin werden wir ein paar Knöpfe haben. Also gehen wir in die Schaltflächen hier drin, holen Sie die Elemente-Schaltfläche, lassen Sie es uns duplizieren und ziehen Sie es nach unten in die Charakterwahl. Und lassen Sie es uns hier runterziehen. Also werden wir die Möglichkeit haben, zwischen drei Spielern zu wählen. Ich denke, das ist der Betrag, den wir hatten. Also machen wir das etwas kleiner, vielleicht machen es etwas größer für den Namen. Und es wird die Schicht Wahl sein, C Wahl, Spieler Wahl. Okay, also die Wahl der Spieler. Und mal sehen, ob wir die Schrift einfach etwas
kleiner machen und sie an den Seiten vergrößern können . Also, da gehst du hin. Das ist gut genug. Ich denke, das ist ein guter Ort, um den Spieler zu wählen. Lasst uns diese kleinere Entscheidung treffen, und lasst es uns hier reinlegen. Lassen Sie uns das duplizieren. Also werden wir setzen, dies wird der erste auf der rechten Seite sein. Das wird in der Mitte sein, und wir werden das nochmal duplizieren, haben die dritte hier drin. Und nun mal sehen, es sind etwa 400 mal 134. Also werden wir ein Gitter hinzufügen. Also werden wir ein Rasterlayout hinzufügen. Wir werden diese Buttons einrichten. Also werden wir sie auf dem x erweitern, auf dem y. Lassen Sie uns ein wenig Abstand hinzufügen. Und mal sehen. Vielleicht treffen
wir nicht auf die Wildnis, weil wir keine Distanz haben. Also ja, das ist ungefähr richtig. Und wir können es bewegen. Wir können ein wenig Polsterung von links hinzufügen. Also gehen wir hin. Entfernen Sie den Abstand auf der rechten Seite. Und das ist etwa, wie viel wir brauchten. Vielleicht schieben wir es nach unten. Also fügen wir ein bisschen Polsterung von oben hinzu. Dies war Teil der Herausforderung, wenn Sie es brauchen, um es zu erkunden. Ich wette, du hast das Thema gefunden, die Polsterung. Die Polsterung. Und mal sehen, vielleicht sollte das eine kleinere auf der Seite sein, und da gehen wir. Also jetzt haben wir drei Spieler-Auswahl-Buttons, die wir verwenden können. Also, was wir tun werden, ist, wenn
wir den US-Taste drücken, werden wir dieses Panel öffnen und einen der verfügbaren Spieler auswählen. Vielleicht sollten wir den Text hier ändern, um den Spielernamen zu sagen. Und deshalb müssen wir es etwas kleiner machen oder nein, wir können es automatisch dimensionieren. Nein, die Autogröße scheint zu klein zu sein. Also werden wir es einfach auf etwa 30 als eine gute Zahl setzen, drücken Sie Enter o k. Also, wenn das fertig ist, lassen Sie uns das schließen. Retten Sie das alles. Lassen Sie uns den Menü-Manager öffnen und es ist Zeit, alles einzurichten. Die ersten beiden Variablen, die wir brauchen, sind offensichtlich das Zeichenwahlfeld und die Zeichenauswahlnamen. Also werden wir zwei serialisierte Felder erstellen. Einer von ihnen wird ein Spielobjekt sein. Und es wird das Charakterwahlfeld sein. Und ein weiteres serialisiertes Feld, das ein Array von Texten sein wird. Und es wird die Elemente, Charakter, Auswahl, Namen darstellen. Ich weiß, dass das ein langer Name für eine Variable ist, aber wir müssen sicherstellen, dass wir verstehen, womit wir arbeiten. Und dann hier unten gehen
wir hin, wo sind wir? Wir sollten sein, Lassen Sie uns ziehen Sie es hier über den Ablagebutton oder wissen, was, Lassen Sie uns es unter die US-Taste setzen, so dass es in der Nähe bleibt. Es wird also eine öffentliche Leere sein. Und wir wollen die Charakterwahl öffnen. Also werden wir diese offene Charakterauswahl Panel nennen. Und was machen wir hier drin? Zunächst sollte das Zeichenbedienfeld auf aktiv eingestellt sein. Das Zeichenwahlfeld, das aktiv ist, ist also wahr. Dann müssen wir alle Spielerstatistiken durchlaufen. Also werden wir eine for-Schleife erstellen, oder wir können eine für jede Schleife erstellen, spielt keine Rolle, aber manchmal tut es das. Und ich zeige dir vielleicht in diesem Video, warum? Also, wenn ich weniger als die Spielerstatistiken, dass wir diese Länge haben. Wir haben also einen Verweis auf alle verfügbaren Spieler. Da gehen wir. So haben wir die Referenz hier drin, können die Spielerstatistiken sofort verwenden. Und ich plus, plus. Also jetzt, wenn wir durch alle Spielerstatistiken gehen, werden
wir eine Variable erstellen, die vom Typ Spielerstatistik sein wird. Wir nennen es den aktiven Spieler. Und es wird gleich dem Spielmanager sein. Tür-Instanz. Die Spielerstatistik an Position i Nun, da wir Bezug auf den aktiven Spieler haben, werden
wir auf die Gegenstände zugreifen, Charakterwahl, Name. An Position i gehen wir zum Text und es wird
gleich dem Namen des aktiven Spielers Punktspielers sein . Und schließlich müssen wir die Schaltfläche ein- und ausschalten, je ob dieser Player in der Hierarchie aktiv ist oder nicht. Wir werden also einen Booleschen Wert erstellen. So bool aktive Ebene sind verfügbar und wird
gleich dem aktiven Spielerspielobjekt Punkt aktiv und Hierarchie sein. Und ich habe eine separate Variable
dafür erstellt , weil die nächste Zeile sehr lang sein wird. Also werden wir auf die erste von allen Elementen zugreifen, Zeichen Wahl Name. Nun, was ist dieser Name für die Charakterwahl? Es ist der Text auf den Knöpfen. Also müssen wir die Tasten ein- und ausschalten oder sie aktiv oder nicht aktiv einstellen. Was wir also tun müssen, ist auf die Transformation zuzugreifen und das Elternteil zu bekommen. Und dann greifen Sie vom Elternteil auf die Spielobjekte zu. Also, jetzt sind wir auf der Schaltfläche und wir werden es auf aktiv
basierend auf, ob der Akt des Spielers als verfügbar eingestellt . Also, wie ich gesagt habe, Vielleicht Elektron, wenn wir alles in Unity zuweisen, wird
es klarer sein, aber das ist der Text auf der Schaltfläche. Und es ist, Ich denke, sollte Text Mesh Pro sein. Also Text Mesh pro, ich denke, das ist das erste Mal, dass ich diesen Fehler nicht mache. Das ist also ein Text Mesh Pro. Wir müssen zuerst auf die Transformation zugreifen, bevor wir auf das Elternteil zugreifen können. Greifen Sie dann auf das Spielobjekt zu und setzen Sie es
auf aktiv , je nachdem, ob der aktive Spieler verfügbar ist oder nicht. Jetzt können wir all das retten. Und natürlich brauchen
wir eine Möglichkeit, dieses Solo zu schließen, eine öffentliche Leere zu
erstellen, schließen, schließen Charakterwahl Panel. Und es ist wirklich einfach. Wir gehen einfach zum Zeichenwahlfeld, Punktauswahl, false. Speichern Sie das. Jetzt zurück in Unity, müssen
wir sicherstellen, dass, wenn wir aus dem Menü gehen, wir das Zeichenwahlfenster schließen. Gehen wir also in die Leinwand, weisen Sie alles zu. Wenn wir also nach unten scrollen, haben
wir die Namen der Zeichenauswahl. Also öffne das alles auf. Wir werden diesen Inspektor absperren, Schuhe alle, sie hierher ziehen. Wir ziehen das Zeichenwahlfeld und an die richtige Position. Wir werden all das retten. Wir schließen das und schalten das Zeichenwahlfeld aus. Und wir müssen auch hier und wenn wir den Gegenstand verwenden, also wenn wir den Gegenstand verwenden, müssen
wir das Zeichenwahlfeld öffnen. Also gehen wir hin. Wir öffnen das Zeichenwahlfeld. Und das wird uns erlauben, eine
dieser Charaktere zu wählen , auf denen wir die Tränke verwenden möchten. Nun sollten diese Verwerfungselemente verschoben werden. Also fügen wir hier einen Kommentar hinzu. Dies sollte sich bewegen und es sollte
aktiviert werden , nachdem wir später einen der Spieler ausgewählt haben. wir also sicher, dass alles funktioniert. Also werde ich das Elemente-Panel ausschalten und ausschalten. Lassen Sie uns einfach das Items Panel behalten. Nichts belästigt uns. Führen Sie das Spiel aus. Sammeln Sie ein paar Gegenstände, öffnen Sie das Menü, gehen Sie zu Items, und mal sehen, wenn wir auf einen der Teile klicken wir hatten die USA. Da gehst du. Wir haben Jimmy, Sarah, und den Namen, der uns nicht zur Verfügung stehen sollte, weil wir sie hier nicht ausgeschaltet haben. Also lass mich umkehren. Lassen Sie mich alle diese auswählen und sie auf eine aktive setzen. Weil wir sie einschalten, basierend darauf , ob es einen Spieler gibt und sie bereits eingeschaltet waren. Also lassen Sie uns wählen, öffnen Sie die Menüpunkte, nutzen ihr Ego nur Fitnessstudio und Sarah oder sind verfügbar. Das tut jetzt nichts, aber zumindest wissen wir, dass es funktioniert und uns eine Wahl gibt. Also im nächsten Video werden
wir tatsächlich den Charakter auswählen, den Gegenstand auf diesem Charakter
verwenden und alles ausfüllen, was wir tun müssen. Also sehe ich dich in der nächsten.
65. Auswahl eines Charakters: Willkommen zurück meine Kameraden Game-Entwickler. Und in diesem Video konnten wir endlich die Artikel
verwenden, an denen wir so lange gearbeitet haben. Also, wenn wir jetzt zu den Gegenständen gehen, wählen
wir den Manna-Trank. Wir haben den US-Taste getroffen, wir haben die Möglichkeit zu wählen, ob wir Jimmy oder Sarah wollen. Wenn wir jetzt auf den Spieler klicken, werfen wir einen Blick auf die aktuelle HP. Wir hatten die USA, oder wir haben die Art und Weise erhöht, Lasst uns die Nachfrage nach Sarah erhöhen. Und Sarah, wir erhöhen die Nachfrage nach Sarah. Also haben wir endlich die Implementierung abgeschlossen. Lassen Sie uns also keine Zeit mehr verschwenden und lassen Sie uns endlich mit der Verwendung von Gegenständen fertig. Okay, jetzt müssen wir eigentlich einen Charakter wählen. Wie sollen wir das machen? Lassen Sie uns in die Schaltfläche „Elemente“ gehen. Und hier werden wir einen Parameter hinzufügen. Es wird also ein ENT-Zeichen sein, auf dem es verwendet werden kann. Warum habe ich also eine ganze Zahl als Parameter und nicht einen tatsächlichen Spielerwert hinzugefügt.
Lassen Sie mich erklären, wie das alles funktionieren wird. Wir werden in den Spieler Wahl hier gehen, und wir werden zu jedem hinzufügen auch. Wir müssen auch alle diese auf den Knöpfen entfernen. Also werden wir sicherstellen, dass jeder
dieser Spieler Wahl unten hat eine bestimmte Zahl, um es. Wir werden, wenn wir den Knopf drücken, werden
wir diese ganze Zahl an den Menü-Manager hier senden. Und dann mit diesem, diesem Artikel, und dann mit dieser Macht, werden
wir es zurück an den US-Artikel im Item-Manager schicken. Also lassen Sie uns das umsetzen, wenn Sie nicht verstanden haben, was ich meinte, ich werde Ihnen zeigen, wie wir durchgehen. Also jetzt in der Items Manager Item-Methode verwenden, werden
wir voran gehen und eine Variable erstellen, die von fünf Spieler-Statistiken ist. Es wird der ausgewählte Charakter genannt werden und es ist gleich der Spiel-Manager-Punkt-Instanz, Punkt-get, oder die Spieler, die
Spieler-Stat an der Position des Charakters zu verwenden bekommen auf. Also jetzt hier anstelle der Spielerpunktinstanz, werden
wir den ausgewählten Charakter zu bekommen. Und auch hier die ausgewählte Figur. Retten Sie das alles. Als nächstes müssen wir sicherstellen, dass wir wissen, welches Zeichen wir verwenden werden. Also zurück im Menü-Manager und hier werden wir einen Parameter
übergeben, der das ausgewählte Zeichen sein wird. Und wir werden hier den ausgewählten Charakter und Lehrer übergeben. Also, was passiert jetzt? Lassen Sie mich es Ihnen zeigen. Wenn wir hier wieder reingehen, wählen
wir die drei Spieler hier aus. Wir stellen sicher, dass es sich um diejenigen handelt, die den Gegenstand verwenden. Also werden wir auch ziehen, wir sind immer noch im Spielmodus. Oh, nein. Okay, jetzt müssen wir all dies wieder tun,
weil alle Änderungen, die wir während des Spiels alt machen, entfernt werden. Das ist so traurig zu sehen. Wie auch immer, lassen Sie uns voran und fügen Sie allen einen Klick hinzu. Fügen Sie einen Artikel hinzu und hier. Und dann wählen Sie einen Themenmenü-Manager. Im Menü-Manager, dem US-Element, wird
die Spielerwahl 0 sein und der eine wird eins bei der zweiten Wahl sein und wird zwei auf der letzten sein. Wir speichern das sorgt dafür, dass sie sich in der richtigen Position befinden. Also sollte die erste Spieler-Wahl, die 0 ist, auf der äußersten linken Seite sein. Der in der Mitte sollte derjenige sein, und auf der rechten Seite sollte zwei sein. Also werden wir all das retten. Wir werden auch hier eine, eine
andere Methode hinzufügen, und das ist, um die Charakterfelder zu schließen. Also werden wir gehen und uns dafür entscheiden. Wo ist sie? Schließen, schließen, schließen Sie das Zeichenbedienfeld. Da gehen wir. Speichern Sie das. Und schließlich, auf der US-Button, sollten
wir nur das Zeichen-Panel öffnen. Wir möchten den Artikel nicht wirklich mit dem US-Button verwenden. Also benutze den Knopf. Anstatt zu verwenden, müssen wir zum Manager gehen und öffnen Sie einfach das Zeichenfeld wird all das speichern. Und das sollte funktionieren. Und eine Sache weniger ist hier drin, wenn wir das Zeichenbedienfeld öffnen möchten, müssen
wir sicherstellen, dass wir ein aktives Element haben. Wenn wir also kein aktives Element ausgewählt haben, möchten
wir das Panel nicht öffnen können. Dies wird später viele Fehler verursachen. das gespeichert ist, gehen wir zurück und lassen Sie uns endlich testen, unseren Code, sehen, ob es funktioniert. Also holen wir die Gegenstände, die wir hatten, und wir gehen zu den Artikeln, wir gehen zum HP Teil. Lassen Sie uns auf den Spieler klicken, um sicherzustellen, dass wir Genie hinzugefügt. Wir benutzen den Gegenstand, den wir wählen, Jimmy und da gehst du. Also, jetzt haben wir Jimmy eine Speed speziell hinzugefügt. Versuchen wir nun, Jimmy eine Art und Weise hinzuzufügen. Sehr geh. Also wurde Jimmy ein Mensch hinzugefügt. Lassen Sie uns versuchen, Sarah hinzuzufügen. Lassen Sie uns auf die Heiler MPC klicken. Schauen wir uns an. Die aktuelle ist drei. Lassen Sie uns eine Art und Weise hinzufügen. Da gehst du. Und Jimmy hat kein Mono bekommen. Also haben wir endlich mit der Verwendung dieser Gegenstände fertig. Jetzt müssen wir noch die Waffen und die Rüstung benutzen. Also hoffe ich, Sie genießen. Ich weiß, dass es nicht zu viel Action darin gibt, aber wir lernen sehr,
sehr wertvolle Codierungsinformationen und gehen tiefer und tiefer in die Komplexität ein. Also hoffe ich, Sie genießen und ich sehe Sie im nächsten Video.
66. Verwenden von Waffen und Armor: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir in der Lage sein,
die Gegenstände und Rüstungen oder alles andere als die Gegenstände zu verwenden . So können wir die goldene Rüstung zuweisen. Lassen Sie uns Jimmy wählen und Sarah das Silber zuweisen, Jimmy die goldene Axt zuweisen und Sarah die silberne Axt zuweisen. Wenn wir zu den Statistiken gehen, werden
Sie sehen, dass ich das einfach größer machen kann. Sie werden sehen, dass Jimmy die goldenen Eier und die goldene Rüstung hat, und Sarah hat das silberne X und diese silberne Alma, wir sehen auch die Waffenkraft hier drin. Wenn Jimmy bereits die goldene Axt hat, wenn wir ihnen ein silbernes X geben wollen, können
wir das austauschen. Wir werden sehen, wie das alles in nur ein bisschen funktioniert. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, also Zeit, Waffen und Rüstungen hinzuzufügen. Lassen Sie uns zuerst in die Spielerstatistiken gehen. Wo sind unsere Spielerstatistiken? Gehen wir hoch. Und hier drinnen werden wir ein paar Dinge hinzufügen. Also das erste, was ist der öffentliche String ausgerüstete Waffenname. Der zweite ist ausgestattet Rüstungsname. Dann werden wir noch zwei weitere hinzufügen, die öffentliche und Waffe, Macht oder Geschicklichkeit sind. Und dann endlich die Rüstungsverteidigung. Das wird also ein bisschen anders sein als die normale Geschicklichkeit und Verteidigung. Dies wird die Waffen spezifisch sein. Also werden wir das retten. Als nächstes müssen wir im Hinterkopf behalten, dass wir das Statistik-Menü haben. Also, wenn du dich
erinnerst, lass uns wieder hier reingehen. Lassen Sie uns das Menü öffnen und Sie können sehen, dass wir hatten die, Lassen Sie uns die Panels ausschalten und sehen Sie das Statistik-Panel. Da gehst du. Also erinnern Sie sich, dass wir die ausgerüstete Waffe hatten. Hier werden wir alles in
den Werten der ausgerüsteten hinzufügen , um die ausgerüsteten Panzer, die Waffenkraft und
die Waffenverteidigung anzuhängen . Jetzt haben wir es Warp und Macht genannt. Lasst uns das ändern. Vielleicht sollten wir es so behalten, wie es war. Also, wenn der Spieler Statistiken, Lassen Sie uns die Waffenkraft behalten. Okay, also Waffenstrom zurück in unserem Menü-Manager, wir werden auch all das berücksichtigen. Hier drin werden wir zwei weitere Texte hinzufügen. Hier haben wir also die Statistiken benutzt. Also, das, dass wir
die stat ausgerüstete Waffe
und stat Rüstung hinzufügen die stat ausgerüstete Waffe . Und wir werden auch hier Texte für die Verteidigung und Texte hinzufügen 40 Macht der Waffe. Und ich werde das einfach duplizieren. Ich will die Linie nicht zu lang machen. Also stat equip, Waffe, Macht und stat sind mehr Verteidigung Fall sparen, dass. Ich denke, das ist alles, was wir hier tun müssen. Und wir müssen nach unten scrollen, wo aktualisieren wir die Statistiken? Nachdem wir Nein gesetzt haben, das Statistik-Menü, aktualisieren wir das Statistik-Menü. Also hier sollten wir arbeiten, nachdem wir das Bild gesetzt
haben, wir müssen auch ein paar Dinge hier drin. Also der Stat, ein Zitat, Waffen, das ist offensichtlich falsch. Lassen Sie mich das ändern. Waffe. Stat ausgestattet, um zu passieren. Geben Sie Punkt txt ist gleich dem vom Spieler ausgewählten Punkt ausgerüsteten Waffennamen. Duplizieren Sie das. Stat sind mehr Verteidigung Punkt ausgewählt Waffe ausgestattet Rüstung Namen. Speichern Sie das. Jetzt müssen wir mehr diejenigen, die die Macht und die Rüstung Verteidigung vertreten werden. Es wird also die Stat-Waffenleistung sein. Der Text entspricht dem ausgewählten Spielerversprechen. Diese Waffenkraft. Duplizieren Sie das. Stat, sind mehr, wie wir es die Stat-Rüstungsverteidigung nennen. Ok? So die stat Rüstung Verteidigung Punkt txt Spieler, die sind mehr Verteidigung. Da gehen wir. Speichern Sie das. Was ist das Problem hier? Und es ist eine ganze Zahl. Oh, wie schön zu String, Punkt zwei Saiten. Das war's also. Denken Sie daran, ein paar Herausforderungen vor, das war ein Hinweis. Deshalb ist es ein Hinweis, weil wir manchmal vergessen, was das Problem ist. Jetzt Zeit, um die Waffen aus den Gegenständen hinzuzufügen. Aber zuerst müssen wir überlegen, was passiert, wenn wir tatsächlich Waffen ausgerüstet haben. Als wir die Waffe ausgerüstet
haben, wollen wir die Waffe, die wir
bereits halten, loslassen und sie wieder in das Inventar legen. Wir müssen also die Gegenstände verfolgen, die der Spieler hat, die Spielerstatistiken. Also jede Spielerstatistik, wir werden hier zwei weitere Variablen erstellen, die vom Typ Item-Manager sein werden. Und es wird das ausgerüstete sein. Ich bekomme das Wort immer falsch. Ich hoffe, es ist nicht völlig falsch. Ausgerüstete Waffe und das ausgestattete auf der Seife ausgestattet und das ausgestattete sind. Okay, also retten wir das. Und jetzt ist es Zeit für eine Herausforderung. Und deine Herausforderung ist, ausgerüstete Waffe und alles. So erstellen Sie zwei Methoden, um Waffen und Rüstungen ausgestattet. Jeder sollte ein Argument der Waffen Slash Rüstung zu nehmen ausgestattet. Sagte die ausgerüstete Waffe Slash Rüstung setzen den Namen der Waffe und die Geschicklichkeit Schrägstrich den Unterschied. Also all das sollte in den Spielerstatistiken gemacht werden. Wenn ich mich nicht irre, dann bist
du auch eine Herausforderung für dich. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Also zurück in unseren Spielerstatistiken, fügen
wir XP hinzu, wir fügen HP hinzu, wir fügen Mono hinzu. Und wir können auch Waffen ausrüsten. Also, wo sollen wir es tun? Ich denke, unter Nachfrage, lass es uns hier drinnen machen. Es wird also eine öffentliche Leere Ausrüstungswaffe sein. Und es wird ein Argument des Item Managers nehmen und es wird die Waffe sein, die auszurüsten ist. Und hier drinnen werden wir die ausgerüstete Waffe setzen. Warum habe ich solche harten Namen von vier unserer Variablen gewählt. So wird die ausgerüstete Waffe der Waffe zum ausgestattet gleich sein. Der ausgerüstete Waffenname wird gleich dem ausgerüstet sein, um zu geschehen. Lassen Sie mich das einfach kopieren. Ausgerüsteter Waffenpunktname und das ausgestattete zur Waffenmacht. Versuchen wir es mit der Macht. Okay, also Waffenkraft ist die ausgerüstete Geschicklichkeit, um Punktwaffe zu öffnen. Speichern Sie das, wird das duplizieren, weil es ziemlich dasselbe ist. Also statt ausgestattet, um anzuhängen, ist dabei, die ausrüsten Armen Waffe zu sein, um auszustatten. Rüstung auszustatten. Und die ausgerüstete Rüstung ist gleich dem Arm auszustatten. Und die ausgestattet. Und versuchen wir es. Das Steroidhormon. Vielleicht wird das einfacher. So ausgestattet Rüstungsname, unsere Marie de France. Kopieren Sie das, fügen Sie es hier und fügen Sie es hier ein. Artikelname und sind mehr Verteidigung speichern, dass. All dies sollte also korrekt sein. Wird später überprüfen, ob wir eine Art Fehler haben. Jetzt zurück im Items Manager, müssen
wir nach den Waffen und Rüstungshinweisen suchen. Also hier drin suchen wir nach dem Artikel. Wenn es sich nicht um ein Element
handelt, werden wir ein anderes erstellen. Wenn der Gegenstandstyp gleich dem Elementtyp
Punkt eins ist und wenn der ausgewählte Charakter Punkt ausgestattet Gegenstand, während es so die ausgerüstete Waffe, ich meine, ist anders als leer. Das heißt, wir haben eine Art Waffe hier drin,
ausgerüstet, um Namen zu passieren. So ausgerüsteter Waffenname, weil wir einen Item-Manager mit einer leeren Saite verglichen haben. Wir werden in das Inventar gehen. Wir werden auf die Instanz zugreifen. Und wir werden einen Artikel hinzufügen
, der dieses Element sein wird. Es ist derjenige, der wir derzeit sind, und wir werden den ausgewählten Charakter Punkt hinzufügen, der ausgestattet ist, um zu geschehen. So ausgerüstete Waffe. Also, was das tut, ist es überprüft. Erstens, versuchen wir, eine Waffe hinzuzufügen? Ja, das sind wir. Hat sich der Charakter bereits auf ihn geöffnet? Ja, das tut er. Das bedeutet, dass wir diesen Gegenstand zum Inventar hinzufügen müssen und stattdessen werden
wir ihn durch die ausgewählte Waffe mit Punktpunkten ersetzen. Und wir werden es auf diese oder keine Bewegung setzen, um hinzuzufügen. Dies sollte die Methode sein. So ausgestattet. Wir müssen Waffe ausrüsten und wir müssen ihm einen Parameter übergeben und es wird dieser sein, also ist es der aktuelle Gegenstand, an dem wir arbeiten. Und schließlich müssen wir ein weiteres Else-if hinzufügen. Und wir werden überprüfen, ob der Elementtyp gleich dem Elementtyp Punkt ARMA ist. Wenn ja, dann werden wir überprüfen, lassen Sie uns das einfach kopieren, weil es ziemlich dasselbe ist. Also werden wir überprüfen, ob die ausgerüsteten, Lassen Sie uns versuchen, diese Rüstung ausgestattet Armen Namen. Wenn ja, dann werden wir einen Gegenstand hinzufügen, der ausgewählte Charakter Rüstung ausgestattet. Und dann werden wir ausrüsten und Narmer und es wird auch das sein. Also lasst uns all die retten. Gehen wir zurück in unser Spiel. Mal sehen, ob das funktioniert. Und weißt du, wir müssen vielleicht auch die Statistiken irgendwann aktualisieren, aber darüber werden wir uns später Sorgen machen. Also lasst uns unser Spiel laufen. Schalten wir das aus. Schauen wir uns den Spieler an und Sie werden sehen , dass wir keine Waffen ausgerüstet haben, keine Rüstung ausgerüstet. Also werde ich etwas Rüstung holen. Wir öffnen das Menü, gehen zum Gegenstand,
wählen die Goldpanzerung aus, die wir verwenden werden. Wir werden es auf Jimmy setzen. Und ja, da gehen wir. Also haben wir die ausgerüstete Rüstung auf dem Jimmy-Charakter. Wenn wir zu den Statistiken gehen und es gibt ein Problem, weil wir die Instanz des Wertes nicht festgelegt haben. Machen wir uns darum Sorgen. Später. Wir fügen Jimmy eine goldene Axt hinzu. Okay, also los gehst du. Die Goldene X. Wenn wir versuchen, Jimmy die silbernen Akte hinzuzufügen, erscheint
die Goldene Axt und unsere Artikelliste. Ausgezeichnet. Und lassen Sie uns das Sarah hinzufügen. Wählen Sie die goldenen Akte an dieser Sarah, und Sie können sehen, dass wir bereits ein geringes Problem und Duplizierung von Gegenständen haben. Um das hinzuzufügen, Sarah, jetzt Sarah, sollten
die Heiler eine silberne Rüstung und eine goldene Axt haben. Also, wenn das erledigt ist, gehen
wir zurück in, lassen Sie uns unsere Statistiken sehen. Wir müssen die Werte sehen. Gehen Sie zu Canvas, sperren Sie das, scrollen Sie nach unten, und das Element Zeichen, wo sind wir? Okay, also hat die Stat Waffe ausgestattet, also Stat ausgestattet, um zu passieren, Mal sehen. Die Waffenkraft sollte gehen und hören. Die Rüstungsverteidigung sollte hier reingehen. Die ausgerüstete Waffe sollte hier reingehen, und die ausgerüstete Ehre sollte hier reingehen. Wir werden all das speichern, wird den Code erneut ausführen. Wir schalten das Menü aus, sprechen ein paar Waffen, und los gehst du. Coppa Artikel. Verwenden Sie es bei Jimmy. Benutze den Gott 14, Sarah, benutze die goldene Rüstung für Jimmy, benutze diese silberne Rüstung für Sarah. Gehen wir zu den Statistiken und schauen wir uns hier rein. Was wir so gerüstet haben, ist, dass die silbernen Akte Rüstung auszustatten ist nichts. Dann aus irgendeinem Grund wird die ausgerüstete Rüstung nicht richtig angezeigt, also werden wir sehen, wie wir damit umgehen können. Mal sehen, was das Problem ist. 0, okay, hier drin können wir sehen, dass wir die Rüstungsverteidigung benutzen, nicht die Rüstung. Wie hieß es? Lassen Sie mich wieder dorthin gehen, wo diese Rüstungen ausrüsten. Also, da Sie gehen, die stat ausgestattet Rüstung, außer dass jetzt alles gut funktionieren sollte. Lass uns unser Spiel laufen. Lasst uns die Gegenstände abholen. Geben wir Jimmy die silberne Rüstung. Geh zurück zu Statistiken, wähle Jimmy, Da gehst du. Sie können sehen, dass die ausgerüstete Rüstung das Silber ist und es hat
auch eine Rüstung Verteidigung von sechs. Also haben wir endlich unser Inventar erstellt. Endlich haben wir unsere Artikel im Inventar überprüft. Wir haben eine Menge Dinge getan. Wir haben die Gegenstände benutzt. Wir, das war ein großer, riesiger Abschnitt, also hoffe ich, es gefällt euch und ich sehe euch im nächsten Video.
67. Abschnitt 9: Shop: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir nur den Grundstein für unseren Shop legen. Also zuerst, stellen Sie sicher, dass Sie alles auf Ihrem Canvas-Prefab anwenden, weil wir bereits viel hinzugefügt haben. Wir haben nicht auf die Überschreibung „Prefabs“ oder „Canvas“ angewendet. Stellen Sie sicher, dass Sie alles anwenden, was Sie haben, um
den Spielmanager Prefabs zu erstellen , oder ziehen Sie einfach den Spiele-Manager. Und hier, stellen Sie sicher, dass Sie auch die Änderungen auf den Player anwenden. Und wenn Sie damit fertig sind, lassen Sie uns eine neue Szene erstellen. Wir nennen das „Save the“. Also, diese neue Szene, können
wir die Hauptkamera behalten. Wir brauchen keine Follow-Cam. Wir können nur einen statischen Laden haben, in dem wir nicht bewegen, die Kamera ist nur ein Schuss, und Sie bewegen sich herum und das Geschäft. Oder wenn Sie es anders machen wollen, als voran zu gehen. Also hier drinnen werden wir, zuerst zu den Prefabs gehen und wir werden das Gitter hinzufügen. Also fügen wir das Raster hinzu, Sie mit der rechten Maustaste und gehen Sie zum Prefab entpacken vollständig. Das ist also ein sehr wichtiger Punkt. Jetzt ist es Zeit, die Fliesen zu verwenden. Ich habe Ihnen eine Reihe von Dateien zur Verfügung gestellt, also gehen wir in die Ressourcen. Da gehst du, es ist drinnen. Lassen Sie mich einfach diese Datei hinzufügen, damit wir mit der rechten Maustaste klicken oder zurückgehen. Wir werden jaggen und das Indoor. Und da gehst du. Da haben wir das Indoor. Jetzt erstellen wir eine neue Kachel-Palette wird die Indoor-Create genannt werden. Und wir werden es innerhalb der Innenfliese erstellen. Da gehen wir. Also jetzt haben wir eine neue Fliesenpalette. Jetzt müssen wir den Sprite-Modus auf Multiple setzen. Wir müssen die Änderungen anwenden. Wir müssen zum Sprite Editor gehen. Und hier habe ich herausgefunden, dass die perfekte Größe 16 ist. Von 16 war ein Offset der Spitze. Wir werden das alles in Scheiben schneiden. Da gehst du. Das wird also eine sehr schöne Scheibe geben, mit Ausnahme der Kante hier unten. Sie werden also feststellen, dass es keine Scheibe an Ort und Stelle gibt, weil wir es um eins versetzt haben. Sie können es hier sehen. Und weil wir es um eins versetzt haben, können
Sie sehen, dass es hier unten keine Scheibe gibt. Das werden wir später erledigen. Aber wenn wir alles schneiden, wird
es ein großes Problem im Kachelpalettenfenster geben. Es wird uns nicht erlauben, alles reibungslos zu machen. Und wenn Sie Ihre eigenen Sprites haben, dann müssen Sie Ihre eigene Art finden, es zu schneiden. Sie können es sogar manuell tun. Also werden wir all das anwenden. Wir werden die Piloten schleppen. Und hier werden wir sicherstellen, dass wir die Endo-Datei für die Kachel-Assets auswählen. Wir wählen das aus. Und da gehst du. Wir können damit beginnen, alles zu löschen. So erstellen wir ein Objekt oder wählen Sie mehrere Dateien aus. Löschen Sie 0. Gehen Sie einfach aus der Bearbeitung, löschen Sie. Und wir werden fortfahren und alles und
unsere Welt von Objekten in den Hintergrund entfernen . Zu den Hintergrundobjekten. Also, da gehst du hin. Jetzt können wir frisch anfangen. So zum Beispiel, wir werden dies als Hintergrund haben. Und da gehen wir und ziehen das einfach auf. Und Sie können sehen, dass wir es größer machen müssen. Lasst uns versuchen, es 32 zu machen. Bewerben. 16. Ich glaube, 16 wird die gute Zahl sein. Da gehst du. Und jetzt können wir anfangen, Teppiche hinzuzufügen und so weiter. Und für die unteren Kanten gehen
wir wieder zum Sprite Editor. Wir werden hier eine Box erstellen, die die Größe haben wird. Also genau die gleiche Breite wie die oben, aber ein bisschen kleinere Höhe, also ist es 16 mal 15. Also werden wir hier wieder mehrere Dateien erstellen. Und das wird 16 mal 15, 16, 15 sein. Und wir setzen es in die richtige Position. Das hier auch? Nein. Das hier auch. 16 von 15. Und ich glaube, wir brauchen noch einen. Dieser sollte 16 sein. Da gehen wir. Leider habe ich keinen schnelleren Weg gefunden, dies zu tun. Also mache ich alles manuell. Ich bin mir sicher, dass es einen glatteren Weg und einfacheren Weg gibt, einfach zu kopieren und einzufügen. Aber da gehen wir. Also haben wir die aufgeschnitten, wir werden uns bewerben. Aber stellen Sie sicher, dass Sie dies nicht einfach in inhere ziehen. Also müssen wir die spezifischen Sprites bekommen, die auf dem Boden sind. Wir müssen zwischen diesen Sprites unterscheiden. Also gehen wir hin. Wir wählen die letzten paar aus. Also sind es diese 123. Da kannst du sie hier sehen. Wir schleppen sie hier rein. Ja. Es befindet sich in der Indoor-Datei und wie Sie sehen können, sind
sie nicht korrekt eingerichtet. Also, was wir tun können, ist, das ein bisschen größer zu machen. Zuerst gehen wir in den Bearbeitungsmodus. Dann werden wir diese beiden auswählen. Zum Beispiel, klicken Sie auf die Bewegung, wird es hier setzen. Wählen Sie erneut Verschieben aus. Und wie ich bin, da gehen wir As, ähm, und ich sage, wie ich bin, weil Sie hier sehen können , dass die USA ein Hotkey und VM auch als Hotkey sind. So wie ich bin, und da gehen wir, haben
wir unsere Fliesen aufgestellt, jetzt können wir alles zeichnen. Und es fragt uns, wo wir die Szene retten wollen? Wir gehen zu den Szenen, wird hier ein geschärft erstellen. Und da gehst du, Rette das alles. Jetzt ist es Zeit für eine kleine Herausforderung. Und Ihre Herausforderung wird es sein, Ihren eigenen Shop zu erstellen. So erstellen und einrichten Sie Ihren eigenen Shop mit den Fliesen und laden Sie Ihre eigenen Indoor Slash Shop Fliesen und erstellen Sie einen Shop, wenn Sie nicht die, die ich Ihnen zur Verfügung gestellt haben, verwenden möchten, können
Sie gehen zu Open Game Art oder jede andere Website und finden Sie alles, was Sie brauchen. Also, bevor ich gehe, werde ich gehen. Sie müssen auch den Player hinzufügen. Also müssen wir
den Prefabs-Player finden und wir müssen natürlich sicherstellen, dass wir
zum Beispiel den Hintergrund ändern . Sie können sehen, dass es eine sehr große Abfrage ist, um die Polygone kleiner zu machen und sicherzustellen, dass die Kanten hinzugefügt werden, zum Beispiel, um eine Wand, die solide ist und der Spieler von dort nicht verlassen kann. Also überlasse ich Sie es, um Ihren eigenen Shop zu erstellen. Und im nächsten Video zeige
ich dir, was ich erstellt habe, und wir werden weitermachen. Also sehe ich dich dann.
68. Einrichtung von Shop: Willkommen zurück meine Spiele-Entwickler in diesem sehr langen Video. Ich weiß, es ist etwa 20 Minuten, aber es ist alles Gebäude UI. Wie Sie wissen, ist das persönlich. Ich zeige Ihnen einfach das Layout und dann können Sie Ihr eigenes erstellen. Also, was wir hier gemacht haben, haben wir eine Zelle Panel für Panel und Exit Shop-Schaltfläche erstellt, eine Währung, um Wert des Artikels zu verwenden und so weiter und so weiter. Lassen Sie uns also keine Zeit mehr verschwenden und beginnen Sie mit unserem Shop-Menü. O k. Lasst uns anfangen. Ich glaube, das wird eines unserer längeren Videos sein. Zunächst einmal müssen wir unsere Änderungen begehen. Wir müssen sicherstellen, dass wir alles unter Meeresbeständen Stil,
Stile ignorieren und OK treffen. Jetzt Phase und jetzt werden wir unsere Änderungen zu begehen. Erstellen Sie einen Laden, verpflichten Sie sie. Zurück in unserem Spiel. Da gehst du. Das ist mein kleiner Laden. Und bevor wir vergessen, stellen Sie sicher, einen Level-Manager hinzufügen und setzte tiefe Hintergrund-Kacheln, die. Also jetzt, wenn wir das Spiel laufen, da gehst du. Also mal sehen. Da gehen wir. Wir können uns nicht durch die Wände bewegen. Wir können uns nicht durch die Stühle und Objekte bewegen, die wir erstellt haben. Es ist also nicht sehr schick, es ist sehr einfach, also nichts zu schickes hier drin. Ich kann Platz zu verlassen, so, oder ein Ort, um zu betreten, aber der Spieler kann durch, dass bewegen. Jetzt ist es an der Zeit, das Shop-Handbuch zu erstellen. Dafür. Wir werden den Canvas in die Hierarchie hinzufügen. Da gehen wir. Und hier drinnen werden wir ein paar Sachen machen. Also öffnen wir die Leinwand, wir können die Fliesenpalette loswerden, schließen Sie die Registerkarte. Wir werden das Menü duplizieren und wir werden dieses D-scharfe Menü nennen. Also Shop-Menü. Und hier lassen Sie uns einfach das Menü ausschalten, halten Sie das einzige Shop-Menü offen. Und wir werden hier ein paar Änderungen vornehmen. Das erste, was wir tun werden, sind die Knöpfe. Also werden sich die Tasten ändern. Anstelle von Artikeln hier, werden wir den Kauf-Button haben. Anstelle der Statistiken wird die Zellenschaltfläche haben. Und der letzte, der das Speichern sein wird,
wird der Exit-Button sein. Nicht so sexy Taste, die Exit-Taste. Und wir werden die letzten beiden Schaltflächen löschen, die schließen und beenden. Wir gehen zum Kauf. Wir lassen mich einfach minimieren. Und natürlich werden alle diese auf der Zelle,
dem Ausgang, und so weiter geändert . Die Zelle hat also diese Onclick-Entitäten oder -Objekte. Und wir werden den Text eingeben. Der Text auf der Schaltfläche wird durch auf der Zelle sein wird Zelle sein. Auf der Ausfahrt wird Exit Shop sein. Drücken Sie Enter. Und wir werden diesen Knopf etwas größer machen. Außerdem arbeiten wir am Gitter. Lassen Sie mich das Gitter eigentlich etwas größer gestalten. Also werden wir die Größe der Zellen erhöhen, weil wir auch das Geld hier hinzufügen, damit wir nicht wollen, dass es passt oder alles und wir werden es in der y auch erhöhen. Und mal sehen, bewegen Sie es oben und die Zellengröße, lassen Sie uns es noch mehr für den Ausgang Shop erhöhen. Also der Exit-Shop wird dies ein bisschen kleiner machen, oder ist es jetzt zu klein, wir werden die Größe des Textfelds vergrößern. Und wie ich gesagt habe, wann immer wir UI erstellen empfohlen sollten Ihre eigenen Kreationen zu tun. Denn all dies ist sehr subjektiv und Sie können ändern, was Sie wollen. Und ich ziehe es einfach nach unten. Also, da gehst du hin. Laden verlassen. Nein. Läden verlassen, verkaufen und kaufen. Okay, jetzt, da wir die Haupttasten haben, ist
es Zeit, alles andere einzurichten. Also wird der Charakter und der Herbst gehen, die Statistik-Panels gehen, wir brauchen nur das Element-Panel und hier, und wir werden auch ein paar Änderungen vornehmen. Also lassen Sie mich das minimieren, weil wir arbeiten meistens erscheinen. Also, was machen wir hier drin? Nun, wir werden zwei Sätze von Paneelen haben. Also werden wir das Zellenfeld haben oder das von Panel spielt eine Rolle für Panel. Und dann haben wir das Zellenfeld. Also, da gehst du, verkaufe Pfanne. Also, was haben wir in der Fahrrad-Verkleidung? Wir werden die Schaltfläche „Verwerfen“ entfernen, die Schaltfläche „USA“. Wir werden es in den Kauf umbenennen. Und wir werden den Text auch hier zu
kaufen ändern wird die Beschreibung des Artikels und die Elemente Anzeigetafeln halten. Also wird alles hier gleich sein. Das Auswahlfeld muss nicht hier drin sein. Und das hätten wir wahrscheinlich tun sollen und es dann duplizieren sollen. Aber keine Sorge darüber. Wir werden auch hier einen Text Mesh Pro hinzufügen, oder einfach einen Text. Und es wird der Wert des Produkts sein. So wertvoll. Und hier drin werden wir nur Wert schreiben und wir werden nur eine von ihnen wird sich ändern. Wie immer müssen wir es als das mittelalterliche setzen. Wir müssen es komplett schwarz machen. Und wir werden es neben dem Kauf-Button nach unten ziehen. Also ja, da gehen wir, das war's. Und das wird der Wert des Artikels sein, den wir kaufen, während wir auf dem Zellenfeld. Lassen Sie mich einfach und würden wir an der Zelle arbeiten, oder die Bibel hätte das ausschalten sollen. Aber wir arbeiteten an der Zelle. Anstelle der Schaltfläche Kaufen wird
dies also die Zelle sein. Und die Worte auf werden auch Zelle sein. Okay, das war also das Zellenpanel. Alles ist hier drin eingerichtet und die Buttons hier oben, das große BY und die große Zelle bringen uns zu, von Panel zu Panel. Dies ermöglicht es uns, einen Artikel zu verkaufen. Dies wird das sein, was wir bereits im Inventar haben und dann können wir es verkaufen. Während in der Bypass-Diode wird eine Art von Ladenbesitzer haben, die das Panel öffnen wird, wird das C entfernen, was wir verwendet haben. Dieser Knopf muss gehen, das wird das Tschüss sein. Und auch hier, der Ladenbesitzer, haben
wir ein paar Artikel für uns zu kaufen. Also brauchen wir den Wert, den wir hier haben. Duplizieren Sie also den Wert. Legen Sie es hier hoch. Da gehst du. Also jetzt haben wir den Wert des Artikels, und ich bin sicher, dass wir das ein bisschen größer machen müssen. Lassen Sie mich also die richtigen Werkzeuge auswählen und die Größe so weit wie möglich vergrößern. Da gehen wir. Und auf den Wert hier unten wird auch die gleichen Anpassungen vornehmen. Also gehen wir hin. Also jetzt haben wir die Zelle Panel für Panel. Ich denke, das ist alles, was wir brauchen, o und wir brauchen auch ein Label hier oben auf der Shopkarte. Also werden wir mit der rechten Maustaste und neue Benutzeroberfläche, fügen Sie den Text Mesh oder wissen, was wir könnten einfach einen dieser Werte verwendet haben. Und lassen Sie uns einfach Namen und Wert. Und wir werden, wir sind, wir,
wir wollten den Wert hier drinnen duplizieren. Und wir schieben es im Shop-Menü nach oben. Und wir werden es hierher bringen. Also gehen wir hin. Und das wird V der Währung sein, die wir verwenden werden. So können Sie jede Währung wählen, die Sie wollen. Ich werde Bitcoins verwenden. Und das ist, weil derzeit El Salvador gerade ein bisschen legalisiert wurde. Es ist also ein gesetzliches Zahlungsmittel. Wir können Bitcoins verwenden, wenn Sie nicht vertraut mit Bitcoins sind empfohlen, über eine Lastschrift zu lesen, sagen große Technologie, vor allem für Spiele-Entwickler bewegen und jede Art von Programmierer ehrlich. Und das wird die Menge an VDC sein. Vdc bedeutet, aber sind weniger Menge an Bitcoin. Okay, toll, jetzt haben wir alles vorbereitet. Jetzt ist es an der Zeit, unser Gold im Auge zu behalten und so weiter und so weiter. Und natürlich auch die Schaffung eines Shop-Managers. Zunächst einmal, was wir tun müssen, ist, dass wir hier einen Game-Manager hinzufügen müssen. Da gehst du. Wir haben alles vorbereitet. Wir müssen unsere Bitcoins im Auge behalten und wie werden wir das tun? Und wir sollten es nicht machen, dass ein Kind der Leinwand es hier aufstellen wird. Wie sollen wir das machen? Nun, wir hätten die Menge an Gold verfolgen können, die wir auf dem Spieler haben. Das ist eine gute Idee. Aber da wir einen Game-Manager mit dem Inventar und so weiter haben, denke
ich, dass der beste Ort, um dies zu tun, ist im Game-Manager-Skript. Also lasst uns den Spielmanager öffnen. Und hier drin werden wir ein, ein
weiteres Publikum und Seile und Spiel schaffen . Ich meine, aktuelle Bitcoins. Und wir werden das alles im Auge behalten. Jetzt. Offensichtlich sollten wir es nicht öffentlich machen, weil wir nicht wollen, dass ein anderes Skript Zugriff darauf hat. Aber jetzt werden wir es einfach so behalten, wie wir eine Instanz haben. Und ich glaube nicht, dass es notwendig ist, eine andere Funktion zu erstellen, nur um die aktuellen Bitcoins zu erhalten. Also werden wir das speichern, okay mit diesem Setup, das nächste, was wir tun müssen, ist zu gehen und einen Shop-Manager zu erstellen. Also gehen wir in die Skripte,
warten, bis das jeden Tag kompiliert
wird, wir gehen in die Skripte, wir gehen in die Skripte,erstellen hier einen neuen Ordner, den wir den Shop aufrufen werden. Und im Laden werden wir
ein C-Sharp-Skript erstellen , das als Shop-Manager bezeichnet wird. Drücken Sie die Eingabetaste, warten Sie, bis das kompiliert wird Wir werden es der Leinwand hinzufügen. So auf der Leinwand, wie Sie jetzt sehen können, wird
der Canvas den Menü-Manager,
den Dialog-Controller und einen Shop-Manager haben . Ok, großartig. Lassen Sie uns den Shop-Manager und Visual Studio öffnen. Und was sollen wir hier machen? Zunächst müssen wir eine Instanz dieser Klasse erstellen. So erstellen wir eine öffentliche statische Shot-Manager-Instanz. Wir werden die Instanz darauf setzen. Und was müssen wir hier drinnen tun? Zuallererst brauchen wir einen Verweis auf das Shop-Panel, das Panel und das Zellpanel. Also werden wir öffentliche Spielobjekt erstellen, und wir werden das Shop-Menü haben. Das ist also das ganze Geschäft viele, die wir haben, haben Zugang auch zum Kauf und Verkauf Panel. Und wir müssen alles aufbauen und Einheit. Aber bevor wir das tun, müssen
wir eine Methode erstellen, die das Shop-Menü öffnet. Also gehen wir in eine öffentliche Leere, offene Shop-Menü erstellen. Und hier drin bekommen wir einfach das Shop-Menü und wir setzen das Aktive auf wahr. Okay, toll, also weißt du schon, was das tut. Nun der nächste offensichtliche Schritt ist, dass wir unseren Spieler stoppen wollen, wenn er die Geschäfte
öffnet oder wenn wir anfangen, mit
dem Ladenbesitzer zu sprechen und wir haben den Shop geöffnet, wir wollen, dass unser Spieler einfach aufhören. Es muss sich nicht bewegen, während man mit den Ladenbesitzern spricht. Es wird also Teil deiner Herausforderung sein. Deine Herausforderung besteht darin, Spieler davon abzuhalten, sich zu bewegen. Ja, wieder, wenn wir den Laden öffnen, sollte
der Spieler aufhören, sich zu bewegen. Ich gebe Ihnen ein paar Hinweise. Erstellen Sie zunächst eine Variable und Game Manager und aktualisieren Sie die Variable auf eine der Bedingungen und ändern Sie die Variable, wenn wir das Shop-Menü öffnen. Also mit dem gesagt, mit all diesen, haben
wir das schon vorher getan. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also, wo waren wir? Zuerst müssen wir in den Spiele-Manager gehen. Und wir müssen hier ein weiteres Volumen hinzufügen, das der Shop eröffnet wird. Nur geöffnet, um wieder konsistent zu bleiben, viele offene Dialogfenster geöffnet, Shop viele geöffnet. Und wo sind die Bedingungen? Also werden wir hier eine Bedingung hinzufügen, wenn der Laden geöffnet ist. Was müssen wir noch tun? Erstellen Sie Variablen, aktualisieren Sie, ändern Sie die Variable, wenn wir den Shop öffnen. Also gehen wir zurück in den Shop-Manager. Und hier, wenn wir sagten, dass der Shop aktiv auf wahr zugreifen wird, wird
der Spiele-Manager auf die Instanz zugreifen, wird auf den Shop geöffnet zugreifen und wir werden es auf true setzen. Oh, okay, großartig. Das ist also getan. Was sollen wir sonst tun? Nun, offensichtlich müssen wir in der Lage sein, den Laden zu schließen, also erstellen wir ein öffentliches Lückenmenü. Und ich weiß, dass ich nicht alles ausprobiere, aber wir haben das meiste davon bereits abgedeckt, also versuche ich, es ein bisschen schneller durchzugehen. Also werden wir diese beiden Zeilen benutzen. Und wir werden den Satz aktiv auf false und den Spielmanager Tür Instanz oder Shop offen auf false setzen. Jetzt müssen wir die Möglichkeit haben, zwischen den Panels zu wechseln. Also müssen wir zwischen der Zelle Antikörper Panel wechseln wird zwei weitere Methoden erfordern. Und wir hätten all das auf dem onclick tun können, aber lassen Sie uns einen anderen Weg versuchen und versuchen, nur die Methoden zu verwenden. Was ich meinte, ist, dass wir die Spielobjekte mit dem onclick auf die Schaltflächen ein- und ausschalten können. Aber jetzt erstellen wir eine Methode oder Methoden, um all das zu tun. Genug reden, lassen Sie uns das alles anwenden. Also werden wir per Panel öffnen. Und in der Fahrrad-Panel Zugriff auf die durch Panel gesetzt aktiv auf wahr. Und wir müssen das Zellenfeld so einstellen, dass es aktiv auf false gesetzt wird. Wird das duplizieren, weil es im Grunde dasselbe ist. Und wir werden das Zellenfeld öffnen. Also durch paneled false, Zell-Panel, wahr. Ok, großartig. Und was wir endlich tun müssen, ist, wenn wir den Laden eröffnen. Wenn wir also das Shop-Menü öffnen, müssen
wir auch sicherstellen, dass das Bitcoin korrekt markiert ist. Haben wir eine Referenz? Nein, wir müssen den impro nicht hinzufügen, also verwenden Sie die m pro Zeile, damit wir auf die
Offensichtlich den Text Mesh Pro zugreifen können, wir hier eine Variable erstellen, die ein serialisiertes Feld sein wird. Und es wird Zugang zu unseren Bitcoins bekommen. Also werden wir es den Text Mesh pro GUI nennen. Und es wird der aktuelle Bitcoin-Text sein. Speichern Sie das. Und wo ist es jetzt? Wenn wir das Shop-Menü öffnen, möchten
wir die aktuellen Bitcoin-Texte einstellen. Es wird also der aktuelle Bitcoin-Text sein. Der Text ist gleich BTC zwei Punkte. Und hier werden wir einen Integer-Game-Manager verketten. Dot Instanz Punkt wird auf die Bitcoin aktuelle zugreifen, aber Münzen. Ich denke, das reicht, oder müssen wir eine Zwei-Saite hinzufügen? Nein, da gehen wir. Speichern Sie das. Lassen Sie uns nun unser Spiel öffnen und sehen, ob irgendwas davon tatsächlich funktioniert. Also haben wir ein paar Dinge zu tun. Öffnen Sie also die Leinwand, öffnen Sie
Shop, Shop-Drop-Menü , und lassen Sie uns das Shop-Menü hinzufügen. Lassen Sie uns das einsperren. Wir fügen den Bypass, das Zellenfeld, den aktuellen Bitcoin-Text hinzu. Speichern Sie das. Jetzt müssen wir die Tasten öffnen und sicherstellen, dass wir alles richtig einrichten. Was ist das? War das so. Okay, also repariere das. Okay, was wir jetzt tun müssen, ist, dass wir einige Funktionalitäten zu unseren Buttons hinzufügen müssen. Also zuerst arbeiten wir an der großen Schaltfläche, die das Panel öffnet. Also öffnen wir es. Wir werden die Leinwand als Objekt hinzufügen. Wir werden auf den Shop-Manager zugreifen. Und was bewirkt das? Es öffnet V für Panel, wird zum nächsten großen Zellenknopf gehen. Wir werden auch die Funktionalität auf der Leinwand hinzufügen. Gehen Sie zum Shop-Manager. Und wir werden das Zellmenü öffnen. Öffnen Sie also das Zellenfeld und den Exit-Button. Das wird also den Laden verlassen. Wir gehen, Hopps, Nahaufnahme. So Function Manager, Shop-Menü schließen. Also gehen wir hin. Lasst uns das retten. Was müssen wir sonst noch tun? Mal sehen, haben wir eine andere Open Source, offen schließen. Okay, und wir müssen noch eine Sache machen. Und das ist, wenn wir tatsächlich unseren Shop öffnen, müssen
wir ihn nur nach Menü einstellen. Also gehen wir auf das Menü oder das Fahrrad Panel Punkt gesetzt aktiv, wahr. Dies wird also, sobald wir den Shop öffnen, werden
wir auf das Fahrradpanel zugreifen. Speichern Sie das hier drin. Lassen Sie uns warten, bis dies kompiliert wird. Lassen Sie uns unser Spiel laufen und sehen, ob irgendwas davon funktioniert hat. Also, jetzt, äh, lass mich zum Game-Manager gehen und uns die Möglichkeit von Bitcoins geben. Geben wir uns 32. Das ist wirklich gute Nummer, speichern Sie das, und versuchen wir es. Geh in die Zelle. Oh, ich arbeite hier unten. Also Zelle. Nichts davon funktioniert, weil, und Sie können auf dieses Problem stoßen, warum funktionieren unsere Tasten nicht? Weil wir kein Ereignissystem haben. Was bedeutet ein Ereignissystem? Nun, ich zeige Ihnen das andere Drehbuch und die andere Szene. Ich meine, also gehen wir in die Stadt, um doppelklicken zu können. Sie werden feststellen, dass wir ein Ereignissystem haben und das ist es, was es uns erlaubt, tatsächlich mit den Tasten zu interagieren. Dies ist, was verfolgt, was wir auf unserem Spielmenü klicken. Und weil in dieser Canvas und dem Ereignissystem
getrennt sind , wenn wir eine Canvas mithilfe des Prefab hinzugefügt
haben, haben wir kein Ereignissystem bekommen. Also, was wir tun werden, ist, dass wir im Ereignissystem die Leinwand ziehen. müssen wir sicherlich nicht tun, denn wenn wir hier die Leinwand anwenden, wird
alles, was wir vorher gemacht haben und das andere im Shop-Menü zerstört werden. Also zurück hier mit unserem Shop-Menü, werden
wir mit der rechten Maustaste und gehen zu Ihren Augen und fügen ein Event-System hinzu. Wir speichern das jetzt, wenn wir unser Spiel laufen, ich bin mir ziemlich sicher, dass alles funktionieren sollte. Also, da gehst du hin. Verkaufen, wir verkaufen, kaufen, kaufen, ausgang shop, wir verlassen hacken. Und leider haben wir noch keine Möglichkeit, Debussy zu aktualisieren, aber wir werden dorthin kommen. Ich hoffe, Sie haben dieses sehr,
sehr lange Video genossen und wir sehen uns im nächsten.
69. Shop: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir
den Shop aktivieren und deaktivieren , basierend darauf, ob wir nah genug an den Ladenbesitzer sind. Wie Sie sehen können, haben
wir die kleine Trigger-Box. Wenn wir drinnen sind, können
wir den Laden eröffnen. Wir können in die Zelle gehen, um das Warum. Natürlich können wir unseren Spieler nicht bewegen, während wir diesen offen haben, Sie können sehen, dass unser BDC 32 ist. Wir verlassen den Laden. Wir können uns wieder bewegen. Wenn wir versuchen, es woanders zu öffnen, können wir es nicht. Vergeuden wir also keine Zeit mehr. Und lass uns weitermachen und einen Ladenbesitzer einrichten. O k. Also Zeit, um ein Geschäft zu erstellen. Ich habe bereits einen Ladenbesitzer hinzugefügt. Also habe ich einen dieser Sprites benutzt, den ich dir zur Verfügung gestellt habe. Ich habe einen der Untergang benutzt. Ich hatte ihn hier drin, und ich habe ihn hier oben reingelegt. Ich habe auch darauf geachtet, das Sprite in Scheiben zu schneiden und das Bild hier hinzuzufügen. Okay, jetzt mit unserem Ladenbesitzer, Sprite fertig, ist
es Zeit, voran zu gehen und ein neues Skript im Shop zu erstellen. Und es wird ein C-Sharp-Drehbuch namens Ladenbesitzer sein. Drücken Sie die Eingabetaste, warten Sie, bis es kompiliert. Da gehen wir. Also, wenn wir jetzt auf den Ladenbesitzer gehen, lassen Sie uns das Scripting hier hinzufügen. Und wir werden auch ein paar Dinge hinzufügen. Also zuerst fügen wir ihm einen Collider hinzu. Also eine Box kollider 2D gerade um sie herum. Mal sehen, wie groß das ist. Ja, da geht's, das reicht. Und wir werden noch einen Box-Collider hinzufügen und das wird ein Auslöser sein. Der erste ist, einfach nicht in der Lage zu sein, durch ihn zu gehen. Der zweite wird V-Bereich sein, wo wir tatsächlich auf den Laden zugreifen können. Also erstellen wir einfach eins. Und hier haben wir den falschen Box-Collider bewegt. Also lasst uns das noch einmal versuchen. Und wir machen das hier kleiner, das ein bisschen größer. Also, da gehst du hin. Nun, mach es ein bisschen groß, damit wir mehr Platz zum Einziehen haben. Und da gehen wir, stellen Sie sicher, dass dies ein Auslöser ist. Die zweite, das Feuerzeug. Der große Box-Collider. Ja. Ok. Nun gehen wir weiter und öffnen das Shop-Skript oder Shopkeepers Skript. Und hier müssen
wir zunächst einen Boolean erstellen, der überprüft, ob wir den Shop tatsächlich öffnen können. Es ist also ein privater Bool kann Shop eröffnen. Es ist also kein serialisiertes Feld. Wir müssen es nicht sehen, aber was wir sehen wollen, ist eine Reihe von Elementen. Also erstellen wir ein serialisiertes Feld. Es wird eine Liste sein. Und dann sage ich Array, ich meinte Liste, und es wird eine Liste von Elementen sein. Also der Items Manager, das ist der Typ und wir werden es die Artikel zum Verkauf nennen. Und das einzige Problem hier beim Erstellen von Listen ist, dass es nicht im Inspektor angezeigt wird, um dies zu speichern. Wir werden wieder in eine Einheit gehen. Und da gehen wir. Sie können sehen, dass wir auf dem Ladenbesitzer die Gegenstände haben, sagen wir, okay, großartig. Was wir jetzt tun müssen, ist, dass wir in der Lage sein, das Shop-Menü und die Kleidung öffnen. Und Ihre Herausforderung besteht darin, Ein- und Ausstieg auszulösen. So erstellen Sie ein auf Zucker geben und verlassen Sie in den Ladenbesitzer. Überprüfen Sie für den Spieler in ihnen und sagte, dass die Shop boolean auf wahr oder falsch öffnen
kann basierend auf, Sie sollten wissen, basierend auf was. Also pausieren Sie das Video jetzt und gehen Sie den Trigger erstellen, geben Sie ein und beenden Sie es. Okay, willkommen zurück. Also hier drin werden wir einen eigenen Trigger Enter erstellen. Und wir werden FV Kollision überprüfen. Die DAG ist gleich dem Spieler. Das ist also etwas anderes als das Vergleichs-Tag. Wir greifen tatsächlich auf das Tag der Kollision zu und vergleichen es dann mit dem Spieler. Und wenn es der Spieler ist, dann kann Shop öffnen ist gleich wahr. Wird duplizieren oder Novak, es ist nicht beim Trigger Exit auf die dupliziert und wir werden dies einfach kopieren. Da gehen wir. Fügen Sie es hier ein. Kann Shop öffnen ist falsch. Da gehen wir. Also jetzt, wenn der Spieler und Donnerstag Kollision, wir setzen es auf wahr,
das bedeutet, dass wir den Laden öffnen können. Wenn wir außerhalb davon sind, können
wir den Laden nicht eröffnen. Jetzt müssen wir eine Eingabe von einer bestimmten Taste erhalten, um den Shop öffnen zu können. Also ein Update werden wir überprüfen, ob wir den Shop öffnen können und Eingabepunkt geknöpft werden kann. Das Feuer, das ich glaube, es hieß. So. Obwohl es sich um eine String-Referenz handelt, werden
wir es nur Firewalls nennen. Wenn wir einen Fehler haben oder etwas nicht geöffnet
wird, werden wir zurückschauen. Und wir müssen auch sicherstellen, dass der Player, so dass das Player-Skript mit einer Instanz und der deaktivierten Bewegung auf false gesetzt ist. Also müssen wir sicherstellen, dass der Spieler
herumlaufen kann und du wirst später sehen, was ich damit meine. Und schließlich müssen wir sicherstellen, dass der Laden noch nicht geöffnet ist. So FV, Shop-Manager, Punkt-Instanz, dot aktiv, dot gameObject dot ist aktiv und Hierarchie. Aktiv und Hierarchie. So können wir hier eine Eingabe hinzufügen. Da gehen wir. habe einfach nicht diese lange Schlange. Also müssen wir zuerst sicherstellen, dass wir den Laden eröffnen können. Wir müssen sicherstellen, dass wir die Eingabetaste drücken. Wir müssen sicherstellen, dass der Spieler in der Lage ist, sich zu bewegen. Also haben wir es getan. Wir haben die Bewegung noch nicht aktiviert. Und schließlich müssen wir sicherstellen, dass das Shop-Menü noch nicht geöffnet wurde. Ok, großartig. Und hier anstelle von Spielobjekt, müssen
wir Shot-Menü sein, weil die Shop-Manager-Einstellungen, wann immer wir Shop-Manager-Instanz Punkt GameObject schreiben, wir referenzieren das Spielobjekt, das den Shop-Manager hat, das ist die Leinwand, die wir brauchen, um auf das Shop-Menü zugreifen. Okay, also mit dem Don, was werden wir hier drinnen machen? Nun, natürlich werden wir den Laden eröffnen. Also Shop-Manager, Punkt-Instanz, Dot, Open Shop-Männer. Speichern Sie das. Und bevor wir das testen, gibt es noch eine Sache, die wir tun müssen,
und das ist, eine Liste von Artikeln im Shop-Menü zu setzen. Also, wenn wir zum Shop-Manager
gehen, müssen Sie hier eine Liste von fünf Artikel Manager erstellen. Und es wird auch die Artikel zum Verkauf sein. Also in der Ladenbesitzer, öffneten
wir den Shop und dann sind wir, bevor wir den Shop öffnen, können
wir den Shop-Manager,
Shop-Manager dot Instanz Punkt Artikel zum Verkauf zugreifen . Und es wird gleich den Artikeln zum Verkauf sein, die wir hier setzen. Dies ist also das Objekt, das dann Shop-Manager ist, während dieses ist das, das wir für den Ladenbesitzer verwenden, Lassen Sie uns zu verwirrend für Sie gehen. Ich empfehle Ihnen, den Namen zu ändern. Lassen Sie uns voran und ändern Sie den Ladenbesitzer Artikel zum Verkauf. Ok. Also gehen wir hin. Shop Halter Artikel zum Verkauf. Wenden Sie das an. So, jetzt die Artikel zum Verkauf im Shop oder die Ladenbesitzer Artikel zum Verkauf. Also werden wir all das retten. Wir werden wieder in die Einheit gehen. Wir werden unser Spiel laufen und wir gehen neben den Ladenbesitzer und hatten den Feuerschlüssel. Und da gehen wir, wir müssen die Zelle und den Austrittsladen kaufen, und wir können den Laden verlassen. Wenn wir den Laden eröffnen, können wir uns bewegen? Nein, das können wir nicht. Wenn wir den Laden verlassen, gehen wir. Wir können uns bewegen. So ausgezeichnet. Alles scheint zu funktionieren. Im nächsten Video wird tatsächlich zeigen die Artikel, die wir kaufen und verkaufen wollen. Also, wenn das erledigt ist, sehe
ich dich im nächsten Video.
70. Produkte zum Kauf und Verkauf: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir die Möglichkeit erlauben, die Artikel
zu kaufen oder zu visualisieren, die wir kaufen und verkaufen möchten. Also, wie Sie gerade gesehen haben, habe ich ein paar Gegenstände abgeholt. Ich ging zum Ladenbesitzer, ich klicke auf das Menü und voila, Ich kann sofort sehen, dass ich die Handlungen und alles, was auf dem Ladenbesitzer
verfügbar ist , zu kaufen und wir haben alle diese manuell vom Ladenbesitzer rechts
hinzugefügt hier. Wenn ich es aufheben, können Sie sehen, dass der Ladenbesitzer Artikel zum Verkauf. Da gehst du, das Silber wirkt, die goldene Rüstung und das alles. Und jetzt, wenn ich zum Zellenpanel gehe, dann gehst du. Das sind die Gegenstände, die ich abgeholt habe und die ich kann. Jetzt tun sie momentan nichts, aber im Moment ist unser Hauptziel, sie alle zu visualisieren. Vergeuden wir also keine Zeit mehr. Und lasst uns anfangen. Oh, also Zeit,
die Artikel, die wir kaufen wollen, und die Artikel, die wir verkaufen wollen, zu visualisieren . Das wird also ziemlich ähnlich wie die Art und Weise sein, wie wir die Elemente im Menü „Elemente“ behandelt haben. Also gehen wir in unseren Code. Das erste, was wir brauchen, sind Verweise auf den Artikel Slot-Container, die Schaltfläche und das Symbol Slot Container Elternteil sein wird. Also gehen wir in den Menü-Manager. Und wenn wir hier nach oben scrollen, können
wir einfach den Artikel Slot-Container kopieren und einen für die Eltern. Also kopieren wir das, wir fügen es hier ein. Wir werden das retten. Und wenn wir das bimanuelle Panel öffnen, wollen
wir das alles aktualisieren. Also, wie aktualisieren wir es? Nun, es ist auch ziemlich ähnlich der, die wir hier verwenden. Also im Menü-Manager, wo wir die Elemente im Inventar aktualisieren, werden diesen ganzen Code kopieren. Und wir werden es hier einfügen. Aber anstatt das Inventar zu verwenden,
so dass, wenn wir durch alle Elemente im Menü-Manager suchen, verwenden
wir, um durch das Inventar und den Shop-Manager zu suchen, wir gehen voran und schauen durch die Elemente zum Beispiel, Speichern Sie das. Und noch eine Sache, die wir ändern müssen, ist die Menge. Wir gehen also davon aus, dass der Ladenbesitzer immer eine unendliche Menge an Zugang hat. Wir werden uns nicht aus dem Weg gehen und einige Arten von beschränkter Menge an Waffen
umsetzen. Wir werden es nur für den Moment so unendlich halten, nur der Einfachheit halber. Also müssen wir sicherstellen, dass das leer ist, wir werden das speichern. Und wenn wir diese Art von if condition if-Anweisung nicht erstellen, werden
Sie feststellen, dass Sie es versuchen können, aber da der Standardzustand dieses Bildes mit 999am unteren Rand ist, müssen
wir sicherstellen, dass wir es auf eine leere Zeichenfolge zurücksetzen. Also, jetzt gehen wir in den Ladenbesitzer und lassen Sie uns ein paar Artikel hier hinzufügen. Also fügen wir eine goldene Axt hinzu, fügen
Sie eine goldene Rüstung hinzu. Wir fügen noch zwei hinzu. Wir fügen hier oben ein Silber und eine silberne Rüstung hier unten und eine goldene Akte am Ende hinzu. Wir werden das retten. Wir werden unseren Code ausführen. Und mal sehen, ob das funktioniert. Wenn wir zum Ladenbesitzer gehen, gehen
wir zum Bimanual und da gehst du. Sie können sehen, dass wir
unsere Kaufartikel aktualisiert haben und wenn wir auf einen von ihnen klicken, passiert nichts. Wenn wir versuchen zu kaufen, passiert
nichts und das Zellmenü funktioniert immer noch nicht. Also lasst uns voran gehen und dieses Zellenfeld reparieren. Jetzt in der Zelle Panel können
wir tatsächlich den Bereich aus dem Menü-Manager genau so verwenden, wie er ist, weil wir die Elemente im Inventar verwenden, dass wir eine Bestellung
haben, um sie an den Ladenbesitzer zu verkaufen. Aber es gibt ein kleines Problem. Wenn wir diesen Code kopieren und ihn in den Shop-Manager auf dem Fahrradpanel legen, wird
es perfekt funktionieren. Sie können es sogar selbst testen. Es gibt kein Problem mit. Aber als professioneller Programmierer, und wenn wir diesen Kurs durchlaufen, ist
es besser, fortgeschrittenere Techniken und Gewohnheiten zu verwenden. Und eine dieser Gewohnheiten ist, nie doppelten Code zu haben. Wir wollen also eine Möglichkeit, mit der wir eine Art von Methode erstellen
können, die beide Funktionen mit dem Element Container Elternteil ausführen kann. Ich meine die Artikel zum Verkauf, wenn wir auf
dem Zellenpanel verkaufen und gleichzeitig für das Fahrrad-Panel arbeiten. Also lasst uns weitermachen und so etwas tun. Die Art und Weise, wie wir dies tun, ist, dass wir eine Methode erstellen, die zwei Argumente hat. Und eines dieser Argumente wird
das Inventar sein , das wir durchschauen werden. Also werden wir nach unten scrollen und hier unten werden wir eine private Leere erstellen. Und es wird Update Items und Shop genannt werden. Und es wird zwei Argumente brauchen. Es wird das Element Slot Container Eltern nehmen, weil wir, wie ich gesagt habe, oder vielleicht habe ich nicht, wir haben zwei Arten von Artikel Container Eltern, eine ND für Panel und eine in den Zellfeldern. So können Sie direkt hier die Elementanzeige für das Zellenfeld und die Elemente anzeigen Banner für das Bi-Panel sehen. Dies ist also der erste Teil des Arguments, das wir senden möchten. Also ist es das Element Slot Container übergeordnete transformieren. Und die zweite ist die Liste der Elemente, die wir durchschauen werden. Es wird also vom Typ List Item Manager sein. Und wir werden es die Elemente nennen, die durchschauen müssen. Also Gegenstände zu durchschauen. Und jetzt werden wir diesen Code aus dem geöffneten durch Panel ausschneiden. Und wir werden es hier einfügen. Und statt der Artikel zum Verkauf, werden
wir durch die Artikel suchen, um durch zu schauen. Und der Artikel Slot-Container ist das gleiche wie n hier. Also habe ich das bereits vorprogrammiert. Und wenn wir das Bibel-Menü öffnen, werden
wir fortfahren und die Update-Artikel aufrufen und einkaufen. Und der Artikel Slot Container übergeordnete. Wir werden dies den Artikel Slot-Container nennen,
oder die Gegenstände, die von Container oder Container gedacht werden. Lass es uns hier oben stellen. Also die Elemente, die von Container und dem Element Slot Zellencontainer gedacht. Also werden wir das retten. Also, wenn wir den Artikel Shop von der bi aktualisieren, die gehen, um den Artikel Slot nach Container Eltern senden. Und die Liste, die wir durchschauen, sind die Artikel zum Verkauf. Wir werden das retten. Aber wenn wir das Zellenfeld öffnen, werden
wir die Artikel aktualisieren und einkaufen. Und eigentlich werde ich das hier nach oben bringen. Halten Sie also Alt gedrückt. Bewegen Sie das nach oben. Ja, da gehen wir. Hier spritzt man. Und wir werden die Zelle Itemset verwenden, Slot-Container Elternteil. Und die Liste, die wir durchschauen werden, ist die Inventar-Punkt-Instanz, Punkt, get items list. Also gehen wir hin. Nun, all das sollte perfekt funktionieren. Also lasst uns in die Einheit gehen. Lassen Sie uns voran und fügen Sie hier ein paar Artikel hinzu. Also fügen wir eine goldene Akte hinzu, die wir
hier eine goldene Rüstung holen können , nur damit wir sie in unseren Artikeln sehen können, wenn wir verkaufen wollen. Also werden wir wieder rennen und du hast etwas vergessen. Wir müssen in die Leinwand gehen, nach unten scrollen. Lassen Sie uns das schließen. Wir werden den Artikel Slot-Container hinzufügen, den Kauf und die Zelle. Also die Zelle, diese hier. Lasst es uns abschließen. Die angezeigten Elemente Banner aus der Zelle gehen die Zelle und die Elemente Anzeige-Panel auf dem Käufer gehen in das bye, speichern Sie das, führen Sie das Spiel, und lassen Sie uns dies testen. Lasst uns die Gegenstände abholen. Danke. Gehen wir in den Ladenbesitzer. Hallo, da. Von Yep, da gehen wir. Dies sind die Artikel, die für uns zum Kauf zur Verfügung stehen. Und wenn wir auf Zelle klicken, da gehst du. Dies sind die drei Artikel, die wir abgeholt haben. Nun, das macht immer noch nichts, aber zumindest funktioniert es völlig einwandfrei und 100% genau. O K, Großartig. Mit diesem vollständigen, im nächsten Video, werden
wir tatsächlich anfangen, unsere Artikel zu verkaufen und zu kaufen. Wir sehen uns in der nächsten.
71. Artikel kaufen: Willkommen zurück, meine Spiele-Entwickler. Lassen Sie mich Ihnen in diesem Video zeigen, was passiert. Wir werden ein paar Gegenstände sammeln. Wir werden auf den Ladenbesitzer zugreifen. Wenn wir auf „Kaufen“ klicken, sehen
wir, dass wir bei der Auswahl eines der Artikel die Beschreibung,
den Namen und den Wert dieses Artikels erhalten . Wenn wir zum Beispiel auf den klicken, sagen
wir die goldene Rüstung, sein Wert ist 35. Wenn wir es verkaufen, können
wir sehen, dass wir eine goldene Kugel haben, aber ihr Wert ist 26, weil das immer ein bisschen billiger ist. Also, das sagte, wurde das gezeigt? Das ist keine Zeitverschwendung mehr. Und lasst uns anfangen. Oh, okay. Jetzt Zeit, um einige Funktionalitäten zu den Schaltflächen hinzuzufügen , die wir instanziieren, und das Kauf- und Verkauf-Panel. Aber es gibt ein kleines Problem. Wir können die eigentliche Schaltfläche nicht ändern. Warum? Weil wir das gleiche Prefab auf der Zelle verwenden und Panels
kaufen, wie wir auf dem Items Panel verwenden. Das wird also ein bisschen ein Problem sein. Was wir tun werden, ist, dass wir auf die Schaltfläche „Elemente“ gehen. Und hier drinnen werden wir modifizieren. Also werden wir überprüfen, ob wir im Menü arbeiten, ob wir im Shop arbeiten. Wenn für die Arbeit im Shop gehen, um für die Arbeit in der Zelle oder in der BI zu überprüfen. Lassen Sie uns also voran gehen und beginnen, das zu implementieren. Zunächst einmal, wenn wir die Taste drücken, werden
wir überprüfen, ob der Menü-Manager, Punkt-Instanz, Punkt, aktiv und Hierarchie. Ich meine die.menu, wir müssen auf das Menü zugreifen, bevor wir das tun. Also die haben wir Zugriff auf das Menü, wenn Sie zum Menü-Manager hier oben gehen, so dass die Gewinnung, so dass das Menü nicht zugänglich ist. Also werden wir das in eine Öffentlichkeit ändern, damit wir darauf zugreifen können. Also in hiere.me. Also, wenn wir in der Speisekarte arbeiten, weil denken Sie daran, wir haben ein Shop-Menü und ein reguläres Menü. Wenn wir im Menü Punkt,
aktiv und Hierarchie arbeiten , dann werden wir die Klammern öffnen und wir werden den Code verwenden, den wir verwendet haben. Und bevor wir mit diesen beiden Codezeilen fortfahren und sie sind nicht so gut. Sie möchten also nichts
im Menü-Manager ändern , das Sie hier ändern können.
Es ist besser, diese Informationen,
die Elemente auf Schaltflächennamen und die Elemente auf Schaltflächenbeschreibung an
den Menü-Manager zusenden die Elemente auf Schaltflächennamen und die Elemente auf Schaltflächenbeschreibung an
den Menü-Manager zu und ändern, dass ein viel besserer Weg. Aber ich werde das behalten und ich werde einen Kommentar hinzufügen scheinen, dass dies eine schlechte Codierung ist. Es ist besser, den Namen und
diese Beschädigung an das Menu Manager-Skript zu senden . Und auf diese Weise können wir auch sicherstellen, dass diese beiden privates oder serialisiertes Feld sein können. Okay, wenn das erledigt ist, werden wir als
Nächstes überprüfen, ob das Shop-Menü geöffnet ist. Also, wenn der Shop-Manager Dot-Instanz, Dot Shop-Menü, Punkt aktiv und Hierarchie, dann werden wir ein anderes Mal überprüfen, ob der Bimanual offen ist. Also, wenn wir das kopieren, weil es ziemlich dasselbe ist. Wir fügen es hier ein. Und wir werden prüfen, ob das VI-Panel aktiv ist. Ich rief „Get Menü“ an. Es spielt keine Rolle, es ist ziemlich dasselbe. Weißt du, was ich meine? Und was machen wir hier drin? Wir werden zunächst die else-Anweisung erstellen. Else kann ein anderes erstellen,
wenn Sie möchten, nur um sicherzustellen. Wenn Sie das also kopieren, fügen Sie das hier ein, wenn das Zellenfeld in der Hierarchie aktiv ist, werden
wir etwas anderes tun. Aber was werden wir eigentlich tun? Nun, wenn wir auf den Button klicken, was wollen wir passieren? Wir möchten zunächst, dass der Name des Elements ausgefüllt werden soll. Wir möchten, dass die Beschreibung des Artikels ausgefüllt wird. Wir möchten den Wert des Artikels erhalten. Das ist so ziemlich es. Ich denke, wenn wir noch etwas brauchen, denken Sie daran. Wir machen es im laufenden Betrieb. So genau wie professionelle Spieleentwickler, aber wir wollen nicht, dass all dies innerhalb der Artikelschaltfläche behandelt wird. Stattdessen ist es viel besser, Breite und der Shop-Manager. Also hier drin, wir aktualisieren, wir öffnen, schließen. Wir werden hier zwei weitere Methoden erstellen. Eine wird eine öffentliche Leere sein, die nach Element ausgewählt wird. Und es wird in eine Variable nehmen, die der IT-Manager oder vom Typ Item-Manager und der Artikel zu kaufen wird. Also, wenn wir das ausgewählte Element über die Schaltfläche „Elemente“ aufrufen, werden
wir es mit dem Element auf der Unterseite zur Verfügung stellen. Ich hoffe, das ist klar. Nun, die andere Methode, die wir verwenden möchten, ist, dass wir diese kopieren, fügen Sie sie hier ein, und es ist die ausgewählte. Zellenelement, das wir verwenden werden und bevor wir weitermachen weil wir die Texte und die Beschreibung und den Wert verwenden, um alles zu setzen, brauchen
wir tatsächlich einen Verweis auf sie. Also oben im Shop-Manager, lasst uns ein paar Referenzen holen. Zunächst werden
wir ein serialisiertes Feld erstellen. Es wird vom Typ Item-Manager sein und es ist das ausgewählte Element. Das ist also etwas, das wir für
ein anderes serialisiertes Feld getan haben , das die Texte enthält. Also Text, Mesh, Sonde, GUI, es wird das nach Element, Name, Das nach Element sein. Weil Korruption und die nach Elementwert. Und wir werden diese Zeile duplizieren und statt y werden
wir verkaufen, verkaufen und verkaufen. Und diese werden anders sein, und Sie werden sehen, warum in nur ein bisschen. Damit speichern Sie jetzt, dass wir Verweis auf alle verschiedenen Texte und D-Sharp-Menü haben. Scrollen wir nach unten und sehen, was wir hier tun können. Zunächst werden wir auf den ausgewählten Artikel zugreifen und es wird der Artikel zu kaufen sein. Dann werden wir den nach Elementnamen Punkttext zugreifen. Und es ist gleich dem ausgewählten Element mit diesem Namen, Punkt-Elementname. Also Name und Artikelname sind sehr unterschiedlich. Der Name ist der eigentliche Name, den wir hier setzen. So zum Beispiel ist dies der Ladenbesitzer, aber der Artikelname ist etwas, das wir hier und den Items Manager hinzufügen, also Artikelname, Golden Axt. Dann müssen wir die Beschreibung ausfüllen. Also nach Artikelbeschreibung, nach Artikelbeschreibung Punkttext ausgewähltes Element, diese Artikelbeschreibung. Wir werden das retten. Und schließlich der Wert. Und das wird das Zellenelement C sein. Lassen Sie uns den Elementwert eingeben und bewerten. Der Text ist gleich. Und hier drin, lass mich überprüfen, ob wir etwas verketten müssen. Also lass mich den Laden ausschalten. Der Wert, der c, Das war, okay, also ist es ein einzelner Text. Also werden wir Wert zwei
Punkte plus T ausgewählten Artikel Fall verketten . So wählen Sie, es ist nicht unter ausgewählten Gegenstand, Gedanken, Wert und Münzen. Also haben wir diese Variable bereits erstellt, als
wir die Elemente hier im Items-Manager erstellt haben. Also der Wert und die Münze des Gegenstands. Ok, großartig. Was das nicht, Lasst uns das retten. Nun gehen wir und versuchen, es über die Schaltfläche Items anzurufen. Wenn es sich also im BI-Panel hier befindet, werden
wir ihm sagen, dass wir auf
den Shop-Manager Punkt-Instanz Punkt zugreifen wollen , der nach Artikel ausgewählt wurde. Und wir können hier sehen, dass wir den Artikel zum Kauf brauchen. Es ist also der Artikel auf der Unterseite, das ist der Artikel, den wir kaufen möchten. Und hier werden wir die andere Methode aufrufen, die das Element, die
Zelle, das ausgewählte Zellenelement ist . Und jetzt ist es Zeit für eine kleine Herausforderung. Und Ihre Herausforderung besteht darin, dieses Zellenmenü zu beenden, so genannte das ausgewählte Zellenelement aus der Schaltfläche „Elemente“. Das habe ich schon für dich getan. Schließen Sie die Methode im Shop-Manager ab. Es ist das gleiche wie in der fast überprüfen um zu sehen, ob alles mit dem Debug Dot Loc funktioniert. Und warum sage ich, dass es fast dasselbe ist? Nun, weil, weißt du, wann immer wir in
einem Spiel oder einem RPG-Spiel arbeiten , fast jedes Spiel. Ich glaube, wenn Sie einen Artikel verkaufen möchten, ist
sein Wert geringer, als wenn Sie ihn tatsächlich kaufen möchten. Also, wenn Sie etwas verkaufen wollen, zum Beispiel, sagen wir, Sie wollen die goldene Platte Rüstung kaufen. Sein Wert ist 100. Aber wenn man es verkauft, ist
sein Wert vielleicht 75. So ist es nicht das gleiche, wenn Sie etwas verkaufen wollen, anstatt wenn Sie verkauft
kaufen möchten , müssen Sie den Wert reduzieren, wenn Sie einen Artikel verkaufen möchten. Mit diesem gesagt, pausieren Sie das Video jetzt und gehen Sie die Herausforderung zu tun. Okay, willkommen zurück. Wie bist du damit weitergekommen? Es ist also ziemlich genau das Gleiche. Wir werden dies kopieren, fügen Sie es hier ein, und statt Artikel zu kaufen, wird
dies der Artikel zu verkaufen sein. Wir werden es hier einfügen, so dass es der Artikel zu verkaufen und der Wert ist, anstatt nur Münzen abzuwerten, werden
wir es mit multiplizieren, sagen
wir 0.75 eth. Und wird das funktionieren? Wird uns das einen Fehler geben? Ich denke, das könnte es. Also lassen Sie es uns einfach so halten, wie es ist. Vielleicht wird es nicht. Also werden wir das alles retten. Wir werden in die Einheit gehen. Wir gehen in die Leinwand und wir werden all diese setzen. Also der nach Elementname. Stellen Sie also sicher, dass Sie den Wert,
den Beschreibungswert und die Elementwerte hinzufügen . Also ist es hier drin, die Zelle. Also lassen Sie uns das Käufer-Panel schließen, das sich hier geöffnet hat. Also der Elementname, die Elementbeschreibung und das 0 plus es ist der Wert hier unten. Wir werden das alles retten. Wir werden den Code ausführen und hoffentlich haben wir keine Fehler oder gehen, um unser Spiel zu laufen. Und lasst uns einfach das scharfe verlassen. Lasst uns ein paar Gegenstände abholen. Gehen wir zum Ladenbesitzer, kaufen. Wenn wir auf das Silber klicken, gehen Sie. Sie können sehen, dass wir eine silberne Rüstung haben. Fema, mach diese größere silberne Rüstung. Dies wird von Monstern zu verteidigen und sein Wert ist 15. Wenn wir in die Zelle gehen und wir wählen, oder wählen wir die goldene Rüstung. Sein Wert ist 35. Wenn wir auf die gehen, um diese Rüstung zu verkaufen, klicken
wir darauf und nichts scheint zu funktionieren. Warum ist das so? Und das ist, weil im Laden und im ausgewählten oh, okay. Also haben wir die Zelle, den Zellenelementnamen,
die Zellenelementbeschreibung, den Verkaufswert nicht geändert . Jetzt sollte das funktionieren. Deshalb kopieren und einfügen Sie nie und tun es einfach. Sie müssen immer sicherstellen, dass Sie wissen, was Sie kopieren und einfügen. Also jetzt gehen wir zu dem Ladenbesitzer, der die goldene Rüstung kaufen will 35, gehen wir zu soliden. Sein Wert ist 26,25. Okay, deshalb müssen wir es in eine ganze Zahl konvertieren. Also n hier, fügen wir einfach die Klammern hinzu und wir werden int schreiben, schließen das, speichern,
und das sollte es in eine ganze Zahl konvertieren. Aber wie Sie sehen können, 35 wenn wir wollen,
bis 2006, wenn wir setzen wollen. Also, wenn das erledigt ist, hoffe
ich, Sie genießen es. Ich hoffe, Sie genießen den Kurs, obwohl ich manchmal ein paar Fehler mache, ich mag es, sie hier drin zu behalten. Und weil ich es wirklich denke, besonders wenn Sie ein Anfänger sind, können
Sie sehr überwältigt werden, aber durch das, was passiert. Du denkst also, oh, wie geht mein Lehrer so gut und woher bekommt er all das Wissen und warum kann ich nicht so sein? Ich zeige Ihnen gerne, dass ich immer Fehler mache. Ich muss immer zurückgehen und manchmal auch lange,
lange dauert, weil ich nicht sicher bin, was das Problem ist. Ich gehe testen, benutze Debug. Ich gehe immer zurück und sehe, wo das Problem ist. Wie Sie sehen können, vergessen wir manchmal sogar was,
was, was, was ist die Variable, die wir verwenden. Für das sagte, ich hoffe, Sie genießen, wenn Sie tun, verlassen eine Rezension bei hilft mir eine Menge und lässt mich wissen, was Sie von dem Kurs denken, so dass keiner im nächsten Video wird auf
unser Inventar zugreifen und die Schaltflächen des Kaufs und verkaufen, richtig arbeiten. Also sehe ich dich in der nächsten.
72. So erstellst du die Arbeit: Willkommen zurück meine Kollegen Spiele-Entwickler zu einem brandneuen Video. Und in diesem haben wir endlich fertig, Artikel zu kaufen und zu verkaufen. Also, wenn wir in den Ladenbesitzer gehen, haben wir ein paar Sachen abgeholt. Natürlich haben wir noch ein paar Dinge zu beheben. Wie zum Beispiel, auf der gerade jetzt, wenn wir das Shop-Menü öffnen, hatten
wir den Bypass und öffnen. Wir müssen es ausschalten. Aber das sind kleine Details, die nicht so wichtig sind, besonders wenn es um den Code geht. Also öffnen wir die Zelle, wir wählen die Goldene Axt, wir verkaufen sie und sie verschwindet und wir bekommen 18. Also wählen wir aus, wenn wir versuchen, es erneut zu verkaufen, wie Sie sehen können, können wir es nicht. Wenn wir zu der Portion gehen, ist es fünf, wir sollten 55 Bitcoins haben. Und wenn wir das lösen, das ist 26, denke
ich, wir bekommen 780 etwas, 81, da gehen wir. Ich bin nicht so gut in Mathe. Wenn wir versucht haben, zu kaufen, sagen
wir, ich kaufe die goldene Ax Ay von der goldenen Rüstung, bevor ich sie verkaufe. Da gehst du. Ich kann sie wieder verkaufen, weil sie zu meinem Inventar hinzugefügt werden und nicht nur hier drin. Wenn ich ausgehe, gehe ich weg. Ich habe das Menü „Elemente“ geöffnet. Ich habe sie hier in meinem Menü, bereit zu arbeiten, um gegen Monster zu kämpfen. Also kann Jimmy jetzt in einen Laden gehen. Wie cool ist das? Ein Dämon kann endlich gehen und kaufen, Dinge im Laden
verkaufen. Das ist beispiellos. Also auf dieser Bombshell, lasst uns keine Zeit mehr verschwenden und loslegen. Oh, Zeit 40, letzte Etappe unseres Ladens. Wir wollen tatsächlich Artikel kaufen und verkaufen. Also gehen wir in unseren Shop-Manager hier drin. Und wir werden zwei Methoden erstellen. Einer für den Kauf und der andere, na ja, natürlich für den Gipfel. Also lasst uns hier reingehen und wir werden eine öffentliche Weiterleitung nach Artikel erstellen. Und wir werden zunächst überprüfen, ob wir die Menge an Bitcoin benötigt haben. Also, wenn Spiel Manager Punkt Instanz Punkt, wurde es die aktuelle Hüfte genannt, aktuelle Bitcoins ist größer als oder gleich dem ausgewählten Element Punktwert in Münzen, dann können wir gehen zu kaufen und wie kaufen wir? Nun, zuerst müssen wir aus dem aktuellen Bitcoin entfernen. Also minus gleich dem Wert der ausgewählten Elemente. Also zuerst, weißt du, wenn du etwas
kaufst, musst du etwas dafür geben. Und dann müssen wir es unserem Inventar hinzufügen. Also Inventar
Punkt Instanz, Punkt, Elemente hinzufügen, und wir werden das ausgewählte Element hinzufügen, um es. Da gehst du, spart das. Und das sollte alles im hinteren Ende der Programmierung beenden. Jetzt am Frontend wollen
wir sicherstellen, dass wir das Gold aktualisieren, das wir noch haben. Ich meine, aktualisieren Sie die Bitcoins, die wir haben. Was schämt sich, Bitcoin Gold zu nennen. Jedenfalls, obwohl es viel besser ist. Also lasst uns weitermachen. Also müssen wir den Text aktualisieren, weil ich mich noch erinnere, war es nur der Wert? Lassen Sie mich die Menge an Bitcoin sehen, okay, also BTC zwei Punkte, okay, also BTC zwei Punkte, wir werden mit einer Zeichenfolge verkettet, die die Spiel-Manager-Punkt-Instanz sein wird, Punkt Bitcoin, Bitcoins, und da gehst du. Ich denke, das ist alles, was wir tun müssen. werden wir retten. Und jetzt müssen wir diese Methode nach Artikel dem Kauf-Button zuweisen. also im Shop-Menü, im Fahrrad-Panel und im Kauf-Button Wenn wiralso im Shop-Menü,
im Fahrrad-Panel und im Kauf-Buttonnach unten scrollen, wissen
wir, dass wir den Charakter nicht öffnen wollen. Was ist das? Wir müssen hier reingehen? Der Shop-Manager,
von, nach, nach Artikel. Da gehen wir. Speichern Sie das, führen Sie das Spiel. Wenn Sie das Menü öffnen, gehen Sie zu Items. Sie können sehen, dass wir nichts haben und es immer noch nicht zu schließen, wenn wir schließen, dass so einfach zu tun, und wir haben es noch nicht getan. Also öffnen wir uns, du gehst zur Speisekarte, wir kaufen die Acts, die Goldene Axt. Und wir können schreiben, weil wir nicht genügend Mittel haben. Eine Nachricht hier drin wäre sehr schön, so können wir Süßigkeiten von der goldenen kaufen. Also lasst uns auch eine silberne Rüstung kaufen, wir haben noch sieben Bitcoins. Wir verlassen Shop, wir gehen zu den Artikeln und da gehst du. Also, wie cool ist das jetzt? Wir können tatsächlich Artikel kaufen und sie in unserem Inventar sehen. Das ist so cool. Ok, großartig. Gehen wir zurück. Jetzt ist es an der Zeit, die Zellenknopf-Methoden zu erstellen und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht darin, die Zellenknopf-Methoden zu erstellen. Aktualisieren Sie also das aktuelle Gold. Warum habe ich es als Gold behalten? Lassen Sie mich das ändern. Bitcoin, willkommen im Backend unserer Welt. So aktuelle Bitcoin mit dem Wert der Elemente, entfernen Sie die Elemente aus der Liste, aktualisieren Sie den Text und setzen Sie das ausgewählte Element auf null. Und ich sage dir, warum in nur ein bisschen. Aber für jetzt, gehen Sie die Herausforderung. Okay, willkommen zurück. Also öffentliche Leere Zelle Element, Ich hoffe wirklich, dass Sie die Herausforderungen zu tun, weil sie eine gute Möglichkeit, zu lernen sind. Wenn Sie bis zu diesem Zeitpunkt noch nicht
mindestens 50 Prozent der Herausforderungen von diesem Punkt an getan haben. Denn das ist meiner Meinung nach der letzte Abschnitt für das finale Video. In diesem Abschnitt musst du dich bemühen und jede einzelne Herausforderung erledigen. So wird der aktuelle Bitcoin um den Wert erhöhen. Es wird also ein int sein. Wir wollen es zu einem Ende umwandeln. Und lassen Sie uns das einfach hier kopieren, denn es ist ziemlich dasselbe. Also kopieren Sie es, fügen Sie es hier ein. So ausgewählter Artikel, Punktwert und Münze mal 0,75. Ok, großartig. Und dann werden wir es aus dem Inventar entfernen Door Instanz Punkt entfernen Sie das Entfernen Element, das ausgewählte Element. Und schließlich müssen wir aktualisieren. Also werden wir den Text bekommen und ihn hier einfügen. Und wie gesagt, wir werden das ausgewählte Element so einstellen, dass es gleich Null ist. Und warum mache ich das? Sparen Sie und lassen Sie mich Ihnen zeigen, warum. Also werde ich es auskommentieren. Wenn du hier reingehst, wenn wir unser Spiel laufen, holen
wir einen Gegenstand ab und verkaufen ihn. Wir können es verkaufen. Es wird nicht aktualisiert. Warum wird es nicht aktualisiert? Weil wir der Zellenschaltfläche nicht zugewiesen haben. Das Zellenelement. Wo verkauft es Gegenstände, wenn das Spiel wieder ausgeführt wird. Und das ist sehr wichtig. Also kommen wir zu Zelle, hey cell, das ist für 2006. Wir verkaufen es. Da gehen wir. Wir bekommen 58. Und wir können es oft lösen , oft, oft. Also, was müssen wir hier drinnen tun? Wir müssen das ausgewählte Element auf null setzen. Und dann werden wir eine if-Bedingung hier erstellen, die
sicherstellt, dass, wenn es ein ausgewähltes Element oder kein ausgewähltes Element gibt, wir dies tun können oder,
oder nur, wenn es ein ausgewähltes Element. Also auf der, wenn es einen ausgewählten Artikel gibt, dann können wir voran gehen und einkaufen. Versuchen wir es noch einmal. Stellen Sie sicher, dass Sie das Spiel ausführen. Dieser Shop wollen wir verkaufen, diesen Artikel verkaufen. Da gehst du, damit wir es verkaufen können. Aber wenn wir noch einmal darauf klicken, obwohl wir klicken können, Okay, so können wir, einmal, da gehen wir. können wir nicht mehr. Und das ist das Finale, sagen
wir mal in der Rüstung. Ich bin mir nicht sicher, warum ich Chink in der Rüstung angerufen habe. Wir werden das Menü aktualisieren. Wie sollen wir das machen, wenn wir einen von ihnen gehen? So in hier können Sie sehen, dass wir die Elemente aktualisieren, so dass wir einfach öffnen Zellen-Panel wieder. Also öffne das Zellenfeld. Jetzt können Sie sehen, dass wir, wenn wir einen der Artikel verkaufen, da gehen Sie, verkaufen, diese Zelle getroffen
haben. Du kannst es nicht mehr verkaufen. Sie können das Element nicht auswählen, und Sie können die Zelle nicht so stark drücken, wie Sie möchten. Das ist eine solide, sobald Sie Ihre Bitcoins bekommen und Sie gehen, um andere Dörfer zu erobern und so weiter. Ich hoffe, Sie genießen den Kurs. Ich hoffe, Sie haben den Laden genossen. Ich weiß, es gibt nicht viel Kampf- und Spielmechanik, aber es ist sehr, sehr wichtig. Dies konzentriert sich mehr auf Codierung, wie man bestimmte Dinge vermeidet, wie man interessante Umgebungen erstellt, wenn man will, und wie man Reaktionen zwischen mehreren Skripten behandelt. Also ich hoffe, Sie genießen,
ich hoffe, Ihr Gehirn beginnt zu verletzen, weil all die Möglichkeiten, die wir unseren
Shop-Manager und Ladenbesitzer und Artikel Buttons und das Inventar und
denItems Manager und das Menü verbunden haben Shop-Manager und Ladenbesitzer und Artikel Buttons und das Inventar und
den Manager und all das, all das sind auf eine schöne Weise miteinander verbunden, die immer zu funktionieren scheint. Ich hoffe, Sie genießen und wir sehen uns im nächsten Video.
73. Teil 10: Quests erstellen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben
wir, wie Sie sehen können, einen Quest-Manager mit ein paar
Quests erstellt , die wir in ihm und Quest-Markern haben. Also, wenn wir unser Spiel laufen, werden
Sie sehen, dass für jede unserer Quests, wir haben ein Element oder ein o k, Zeit für einige Quests. Welches RPG hat keine Quiz? Ist es überhaupt ein RPG? Wenn es keine Quests gibt, gibt es
vielleicht, ich weiß es nicht. Lassen Sie uns ein Quest-System erstellen und zeigen wir Ihnen nur ein wenig, wie das funktioniert. Dies ist also eine meiner professionelleren Zeichnungen, wie Sie sehen können. Also haben wir ein Seil, einen Feldweg, wir haben eine Höhle mit einem Eingang und etwas Gras. Und wir haben Jimmy, wo das Auge rot geworden ist. Und wir haben die Quests hier drin. wir also, wir haben drei Quests. 1, wir müssen den Drachen töten, das Schwert
holen, die Stadt retten. Okay, also werden wir eine Art Checkbox-System haben, also müssen wir Dragon wird überprüfen sammeln. Wenn wir den Drachen töten, wird sich eine
Art Höhle und eine andere Szene öffnen und das gab ein Schwert darin haben, so dass wir in die Höhle gehen können, bekommen zu sortieren, und dann vielleicht zu einer anderen Szene gehen. Und deshalb habe ich diesen perfekt geformten Pfeil erschaffen
, der besagt, dass
wir nach dem Töten eines Drachen von diesem Ort kommen können. Vielleicht hätte der Pfeil in die andere Richtung zeigen sollen. Aber jedenfalls kommen wir aus einer anderen Szene. Wir finden die Höhle, wo wir das Schwert kriegen müssen. Wir kriegen das Schwert. Wir gehen zurück und retten die Stadt. Ich weiß es nicht. Wie auch immer, wir werden uns etablieren. Lassen Sie uns voran und
beginnen Sie zunächst, die Questmarken und die Anfragen zu erstellen, die haben werden. Also lassen Sie uns in Unity gehen und wir werden in die Skripte gehen, wird hier einen neuen Ordner erstellen. Und ich denke, wo sollte ich meinen Kamera-Controller,
Spiele-Manager und Menü-Manager setzen ? Lassen Sie uns einen Ordner erstellen. Oh, das ist, das ist ein C-Skript. Löschen. Lassen Sie uns einen Ordner erstellen , den wir den wohingegen den Ordner nennen. Okay, also braucht es etwas Zeit, um den Ordner zu verarbeiten. Wir nennen es die Manager. Manager. So ist der Kamera-Controller auch ein Manager. Und wir werden es einfach in Manager für jetzt, wenn Sie
einen besseren Namen für den Ordner oder einen besseren Ort für die Skripte finden , werden sie dort platzieren. Und wir werden einen neuen Ordner erstellen. Und die Skripte für die Quests und y ist Einheit. So langsame Quests, ich werde rot. Lasst uns das retten. Ich fühle, dass die Einheit kurz davor abstürzt. Also innerhalb der Quests werden
wir ein C-Sharp Skript erstellen, das wir den Manager nennen werden. Geben Sie ein, warten Sie, bis es kompiliert wird, und der Kostenmanager wird im Spiele-Manager hinzugefügt, weil das
offensichtlich der beste Ort ist, um einen Kostenmanager zu sparen, da wir durch mehrere Szenen gehen und wir den Überblick über Anfragen behalten müssen. Okay, toll, damit fertig, lassen Sie uns sparen, und jetzt öffnen wir den Kostenmanager und Visual Studio und sehen, was wir hier tun müssen. Also zuerst brauchen
wir die Namen. Also werden wir voran gehen und
ein serialisiertes Feld erstellen , in dem wir ein Array von Strings erstellen werden. Und weil es keine Liste ist, weil wir nichts entfernen oder hinzufügen werden. Es ist also kein Problem, es als Array zu behalten. Und es werden die Questnamen sein. Wir werden ein, ein anderes Array erstellen, aber dieses Mal wird es von Booleans sein und es wird
die Quest-Marker abgeschlossen sein . Dies werden also die Marker sein, wie wir gesagt haben, wir werden Marker für jede der Quest haben und wir werden ein Ziel haben. Also lasst uns voran gehen und das speichern. Speichern Sie das, gehen Sie zurück in die Einheit, und lassen Sie uns ein paar Quests hinzufügen. Und mal sehen. So haben wir Anfragen abgeschlossen und Anfragen Namen. Lasst uns weitermachen und ein paar Quests hinzufügen. Lässt den ersten leer. Und wir haben vielleicht vier, vielleicht fünf. Mal sehen. Also, was sollen wir hier drin haben? Also besiegen, schleppen. Sicher, warum nicht? Nehmen wir an, wir betreten einfach eine Höhle. Nur, nur das Betreten einer Höhle löst eine der Quests. Vielleicht sollte das in Ordnung sein. Die Höhle noch eine Marmelade. Nehmen Sie Monster, so nehmen Monster verkauft. Okay, speichern Sie das. Jetzt müssen wir das nächste, was wir tun müssen, ist, dass wir diese Quest-Marker komplette Array erstellen müssen. Und die Art und Weise, wie wir das machen werden. Und wie Sie sehen können, müssen wir dies zu einem großen C speichern , dass jetzt Marker abgeschlossen haben. Okay, jetzt müssen wir die Quest-Marker erstellen abgeschlossen. Und warum sage ich Create und füge hier nicht einfach ein paar Marker hinzu, genau wie wir es für die Namen getan haben. Nun, weil wir diese Marker nicht manuell erstellen wollen. Wir wollen, dass das automatisch geschieht. Also wollen wir einen Weg, wann immer wir beginnen, sagen
wir, der Kostenmanager zwei, erstellen diese Quest-Marker abgeschlossen und es wird die gleiche Länge wie der Quest-Name sein. Es wird also Teil Ihrer Herausforderung sein, eine Reihe von Bullen zu erstellen. Setzen Sie also das fertige Kostenmarker-Array als neues Array und starten Sie. Dieses Array sollte die gleiche Größe wie das Array der Quests haben, die wir erstellt haben. Ich werde dir einen Hinweis geben. Wenn Sie nicht auf die Hand hören wollen, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Und weniger Chance, Sie müssen
nur eine einfache Syntax gleicher neuer boolescher Wert mit der Länge des Questmarkers erstellen , oder dies sollten die Anforderungsnamen sein, während dies ein alter Name war. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also, wie wir gesagt haben, und beginnen, die Quest-Marker abgeschlossen ist gleich dem neuen fett. Die Größe sollte die Kosten sein. Marker Namen, Punktlänge. Speichern Sie das. Zurück in Unity, führen wir unseren Code und wir sollten hier drin haben, ja, da gehen wir, vier Elemente für jede der Anfragen, die wir haben. Das war also ein sehr einfaches Video. Wir legen nur die Grundlagen fest,
um jedes Mal mit unserem Quest-System auf die nächste Ebene zu gehen. Ich hoffe, Sie genießen es und ich werde Sie im nächsten Video sehen , wo wir Code erstellen, der tatsächlich nach diesen Molekülen sucht.
74. Quests markieren: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir nur
Wege erstellen, mit denen wir unsere Quest-Marker überprüfen und deaktivieren können. Also momentan, wenn ich unser Spiel laufe, wenn wir die überprüfen sagen wir die zweite und die letzte, wenn wir die Q-Taste drücken, werden
Sie feststellen, dass die letzte ausgeschaltet wurde. Das Element drei, das immer noch springt, wurde eingeschaltet und wir bekommen eine falsche. Aber wenn wir auf die erste wieder dequeue klicken, werden
Sie feststellen, dass wir wahr werden, weil wir überprüfen, ob die Niederlage Dragon Quest abgeschlossen ist. Vergeuden wir also keine Zeit mehr. Wir müssen nur ein paar Methoden erstellen und loslegen. Oh, okay, SOL, Zeit, um unsere Quests auf vollständige und unvollständige zu überprüfen. Wie sollen wir das machen? Nun, lassen Sie mich mit einer sehr professionellen Zeichnung erklären. Das erste, was wir tun werden, ist, dass wir nach einer Questnummer suchen. Also wollen wir einen Weg oder eine Methode, wo wir ihm eine Suche nach Anfragen Namen geben können. Es wird die Position dieser Quest in unserem Questlog finden. Und dann werden wir prüfen, ob diese Anfrage abgeschlossen ist. Wenn wir die Prüfung abgeschlossen haben, ob diese Anfrage abgeschlossen ist, können
wir entweder den Markt abschließen. Alles, was wir können es unvollständig markieren. Ich weiß, ich war mit 18 hier, aber das ist alles, was wir mit dieser kleinen coolen Zeichnung wissen müssen. Also lasst uns damit beginnen, dies in unser Spiel zu implementieren. Also das erste, was wir tun werden, ist, dass wir hier eine Methode
erstellen, die nach suchen wird, um tatsächlich eine
Get-Anforderungsnummer zu erhalten. Dies wird also eine Zeichenfolge nehmen und es wird eine Zeichenfolge für die Suche sein. Und wie bekommen wir die Nummer, auf der sich die Quest befindet? Das wird Teil Ihrer Herausforderung sein. Deine Herausforderung besteht darin, die Questnummer zu erhalten. Sie müssen also alle Namen durchlaufen, die wir haben. Sie müssen überprüfen, ob einer dieser oder einer der Kosten gleich der Quest ist, die wir finden möchten. Sie müssen die Position zurückgeben. Und wenn wir die Kosten nicht finden, die wir wollen, müssen
Sie eine Warnung ausdrucken. Und die Art und Weise, wie Sie eine Warnung ausdrucken, besteht darin, die Debug-Punkt-Protokollwarnung zu verwenden. Also mit diesen Informationen, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also hier drin werden wir eine for-Schleife erstellen. Es wird int I gleich 0 sein. Während ich kleiner ist als die Questnamen Punktlänge oder ja, Namen Punktlänge. Und wir werden jedes Mal erhöhen. Wir werden die Klammern öffnen und hier werden wir überprüfen, ob die
Questnamen an Position I gleich der Suche sind, dann werden wir I zurückgeben.
Und wenn wir zu keinem Zeitpunkt in R zurückkehren, und einige von euch haben diese Problem. Und hier ist der ganze Quest-Marker, weil er einen Rückgabetyp von int hat, es muss eine Rückkehr geben, und nicht alle Codepfade geben einen Wert zurück. Nehmen wir zum Beispiel an, wir durchlaufen alle Questnamen und wir
finden keine , die den gleichen Namen haben wie Anfragen, die wir finden müssen. Es wird keine Rückkehr geben und das ist ein großes No-Nein, wenn es darum geht, Typen mit Methoden zurückzugeben. Also, was wir tun werden, ist,
dass wir einfach 0 zurückgeben und deshalb haben wir die erste Quest als EMT- und Debug-Punkt-Log-Warnquest diese
zu finden, die nicht existieren. Speichern Sie das. Okay, jetzt durchläuft diese Must-Methode alle Namen und prüft, ob einer von ihnen gleich den Kosten ist, die wir finden möchten. Als nächstes werden wir eine Methode erstellen, die überprüft, ob die Anforderung abgeschlossen ist. Es wird also ein öffentlicher Bool Check sein. Wenn abgeschlossen. Und es wird ein String-Argument nehmen. Das wird auch die Suche sein, um zu überprüfen. Und was machen wir hier drin? Nun, wir werden zuerst eine ganze Zahl erstellen. Es wird also ein Ende sein, die Kostennummer zu überprüfen. Und wir werden die neu erstellte Methode verwenden,
die get, GET-Anforderungsnummer ist, und wir werden ihm die Quest senden, um zu überprüfen. Jetzt haben wir die Position unserer Suche zu überprüfen. Dann schaffen wir eine Bedingung. Und wenn die Questnummer zu überprüfen ist anders als 0, denn wenn wir keine Rücksendungen haben, wird eine Art von Warnung erhalten. Also hier drin müssen wir sicherstellen, dass es anders ist als 0. Wir werden die Quest-Marker an der Position
der Quest-Marker-Nummer zurückgeben , die überprüft werden soll. Und schließlich, wenn wir nichts bekommen, werden
wir falsch zurückgeben. Also, wenn Sie immer noch verwirrt darüber sind, wie diese Rückkehr funktionieren wird, sagen wir, wir fangen an, wir erhalten die Nummer, indem wir die Methode verwenden, die wir hier erstellt haben. Also, jetzt haben wir die Nummer der Quest zu überprüfen. Wir stellen dann sicher, dass es anders ist als 0. Wenn ja, dann werden wir etwas zurückgeben, wenn es nicht der Fall ist. Was passiert also hier drin, wenn wir
dieses und hier die Quest-Marker an der Position abschließen, die wir finden wollten. Also ist es entweder wahr oder falsch. Wenn wir zurückkehren, ist das alles. Die Methode hört auf, fortzufahren. Wenn dies nicht der Fall ist, wird die Methode fortgesetzt und wir werden false zurückgeben. Also lasst uns das retten. Und schließlich die letzten beiden Methoden, die die Quest abgeschlossen sind
oder wo wir die Quest als abgeschlossen markieren oder wir können sie als unvollständig markieren. Vielleicht wollen wir die Frage zurückkehren. Vielleicht kehren Sie irgendwie die Suche aus irgendeinem Grund um. Ich bin mir nicht sicher, warum, aber es ist gut, eine davon zur Verfügung zu haben. Schließlich werden wir zwei öffentliche Methoden haben, die nichtig sein werden. Und wenn Sie möchten, können Sie diese auf eigene Faust erstellen. Sie sind nicht zu hart. Als abgeschlossen markieren. Und es wird auch eine Zeichenfolge haben, die die Suche nach Markierung sein wird. Und wir werden hier enden, gehen Sie weiter und holen die Nummer zu überprüfen. Und es wird die Suche sein, zu markieren. Und wir gehen zu Quest-Marker an der Position Quest abgeschlossen, Quest-Nummer zu überprüfen. Und es wird gleich wahr sein. Das liegt daran, dass wir es als vollständig überprüfen. Und wir werden hier eine zweite Methode erstellen, die zwei Quest-Marker sein wird oder Quest markiert, tut mir leid, unvollständige Frage. Markieren. Alles hier ist wahr, bis auf das, was nicht falsch sein sollte. Ok, großartig. Schließlich weiß ich, dass das eine Menge Code ist, ohne etwas zu testen, außer uns allen, als es wert ist. Es ist nicht sehr kompliziert. Du kannst es nochmal durchschauen. Es gibt nichts. Also finden wir die Nummer. Wir prüfen, ob es vollständig ist. Wenn dies der Fall ist, markieren wir es als vollständig oder wir können es als unvollständig markieren. Das war's. Hier drin ist nichts zu kompliziertes. Schließlich müssen wir eine Möglichkeit schaffen, eine der Methoden zu überprüfen. Also werden wir eine if-Bedingung hier erstellen, wird in einem Eingabepunkt eine Taste nach unten nehmen. Und wir werden einen Schlüsselcode verwenden. Was sollten wir verwenden? Ich denke, Q für die Quest. Und bevor ich vergesse, wenn Sie Ihr Spiel erstellen möchten, müssen
Sie alle diese Eingaben entfernen. Also werden wir ausdrucken,
zuerst, überprüfen, ob abgeschlossen. Also werden wir überprüfen, ob eine bestimmte Quests, die Sie wollen, dass diese abgeschlossen. Welche Kosten wollen wir also überprüfen? Gehen wir zurück in Unity und suchen wir nach Niederlagenverfolgung. Also werden wir das kopieren. Wir werden es hier einfügen, und das ist eine String-Referenz. Sie müssen sicherstellen, dass es richtig ist. Wir werden die Quest als abgeschlossen markieren, und wir werden ihr die andere schicken. Also schicken wir ihm die Eingangshöhle oder noch das Fitnessstudio. Also werden wir diese noch die Sprungquest als abgeschlossen markieren und eine von denen als unvollständig oder vollständig markieren, wenn wir unser Spiel
starten und dann werden wir es als unvollständig markieren wird die letzte sein. Nun, wir nehmen das Monster verkauft. Also Mark und komplett, öffne das in, hier drin. Speichern Sie das. Und lassen Sie uns unser Spiel laufen und sehen, wie es funktioniert, okay, nur dafür sorgen, dass wir unseren Gewinn erzielen. Also werden wir den letzten als abgeschlossen prüfen, und wir werden den Q-Button drücken. Da gehen wir. Sie können sehen, dass
wir zuerst überprüfen, ob der Niederlage Drache abgeschlossen ist. Also nein, es ist nicht vollständig. In hier können Sie sehen, dass wir die Vollständigkeit stoppen oder das Monster verkauft oder nehmen Monster Seele Quest abgeschlossen war, aber wenn wir die Q kalt, wir markiert es als unvollständig, während die Stahlmarmelade, die direkt darüber ist, als abgeschlossen markiert wurde. Nun, wenn wir versuchen, den ersten zu drehen, sollten
wir hier eine wahre bekommen, und das sollte ausgeschaltet werden. Also haben wir das Q getroffen, wir bekommen noch ein falsches, weil wir dieses überprüfen sollen, nicht das letzte. Also jetzt sollten wir eine wahre hoffentlich bekommen. Ja, da gehst du. Wir müssen wahr sein, alles funktioniert. Wir überprüfen unsere Quests. Ich hoffe, Sie genießen es und wir sehen uns im nächsten.
75. Quest: Willkommen zurück, meine Spiele-Entwickler. Wie Sie jetzt sehen können, haben wir eine Karte und wir haben einen Sprung. Aber während der Sprung dort keine Geminalkarte gibt, wie wird es erscheinen? Nun, wenn wir unser Spiel laufen, haben
wir einen speziellen Knopf, der den Sprung erscheinen lässt. Es ist G-Weg, es funktioniert nicht. Warum funktioniert es nicht? Oh, weil die Marmelade immer noch nicht eingeschaltet wurde. Also, wenn wir es einschalten und jetzt das G. Ja, dann gehen wir los. Du hast gerade gesehen, wie die Marmelade erscheint. Vergeuden wir also keine Zeit mehr. Und lassen Sie uns einige Questobjekte erstellen. 0 Fall. Also, wie werden wir Objekte und alle Quests verwenden? Und wie werden wir das alles tatsächlich umsetzen? Mal
sehen, ob wir etwas zu begehen haben. Ja, da gehen wir. Wir brauchen, was haben wir getan? Wir haben die Fähigkeit hinzugefügt, Quests zu überprüfen, dass, und lassen Sie uns sehen, wie es geht, um alle funktionieren. Sagen wir mal, Jimmy reist herum. Er hat keine Ahnung, wo ein bestimmtes Objekt ist. Er geht einmal, zweimal, dreimal durch denselben Ort. Aber schließlich nimmt er eine Art Karte auf. Und wenn er eine Karte aufnimmt, an denselben Ort
geht, findet
er einen Sprung. Was wir also tun werden, werden wir, was wir tun werden, ist, dass wir einen Weg
erstellen, Objekte wie die Karte erstellen, die, wenn wir sie abholen, zum Beispiel, eine bestimmte Quests als abgeschlossen markiert werden. Und wenn diese Quest als abgeschlossen markiert ist, wird zum Beispiel der Stau erscheinen. Okay, also hoffe ich, das war nicht zu verwirrend. Lasst uns anfangen. Also werden wir zuerst Unity eröffnen. Und in unserer Szene fügen wir hier irgendwo einen Sprung hinzu. Also werde ich nach einigen Arten von Marmelade suchen. Ja, dieser rote Juwel wird es tun. Und wir machen diese als Hintergrund privat. Dann komm hoch. Spieler. Da gehen wir. Also werden wir es auf drei skalieren. Und ja, da gehen wir. Wir können es sogar ein bisschen größer machen. Machen wir es fünf. Es ist ein wichtiger Stau zu finden. Okay, also diese Marmelade, wie im Wasser, sagen wir, okay. Ich weiß nicht, warum es im Wasser ist, es ist unter Wasser. Und dann werden wir weitermachen und hier ein Skript erstellen, das das Questobjekt sein wird. Also in den Skripten, in den Quests, werden
wir mit der rechten Maustaste erstellen ein C-scharfes Skript wird das Questobjekt sein. Warten Sie, bis das kompiliert ist und wir werden das in die rote Turnhalle ändern. Und wir werden den Kostenträger hinzufügen. Und wir werden es öffnen und das Drehbuch. Also, was brauchen wir? Und hier brauchen wir drei Variablen. Zunächst müssen wir überprüfen, ob das Objekt aktiviert wird. Wir brauchen eine Zeichenfolge für die Quest, die wir überprüfen müssen, und einen Boolean, um sicherzustellen ob wir wollen, dass dies erscheint oder verschwindet, wenn wir etwas aufheben. Warum müssen wir verschwinden? Nehmen wir an, zum Beispiel ist
eine Höhle geschlossen. Wenn wir zum Beispiel in die Stadt sparen, wollen
wir, dass sich diese Höhle öffnet oder dass ein Stein vor der Höhle
verschwindet und dann können wir sie betreten. Also werden wir ein serialisiertes Feld erstellen. Es wird ein Spielobjekt und das Objekt, das aktiviert werden soll. Dann erstellen wir ein weiteres serialisiertes Feld. Und es wird vom Typ String sein und es wird
die Suche sein , um zu überprüfen oder abzuschließen. Ich bin mir nicht sicher, ob du es nennen kannst, was
immer du willst, was dich bequem für dich macht. Und schließlich müssen wir ein serialisiertes Feld erstellen, das es ein- und ausschalten wird. Also aktivieren, wenn abgeschlossen, speichern Sie das. Okay, jetzt erstellen wir eine Instanz des Kostenmanagers. Also werden wir einen öffentlichen statischen Quest-Manager erstellen. Und wir werden eine Instanz erstellen. Speichern Sie das, und starten Sie die Instanz gleich. Ok, großartig. Jetzt zurück in unserem Questobjekt, werden
wir eine Methode erstellen, um auf die Fertigstellung zu überprüfen. Wir löschen einfach den Start und Update für jetzt. Also werden wir eine öffentliche Leere erstellen, Fertigstellung
prüfen, und wir brauchen keine Parameter. Was wir hier drinnen tun werden, ist, dass wir eine Bedingung schaffen. Und hier werden wir auf die Quest-Manager nicht Instanz zugreifen. Und wir werden prüfen, ob abgeschlossen ist. So die Suche zu überprüfen, was wir bereits etabliert haben und hier die Zeichenfolge. Und wir werden das Objekt bekommen, das wir aktivieren wollen. Und wir werden aktiv werden. Aktiv, F komplett Also das Objekt, das wir aktiv setzen wollen, sei es eine Höhlentür, die Marmelade oder irgendetwas anderes. Dann werden wir eine Welle für uns erstellen und aktualisieren. Es stellt sich also heraus, dass wir ein Update und ein Update benötigen, um nur eine Art Schlüssel zu erstellen. Und wenn der Eingabepunkt Keydown bekommt, Keycode. Und Marmelade, Marmelade ist, Gee, ich hoffe, es wird nicht benutzt und an jedem anderen Ort, überprüfen Sie auf Vollendung. Okay, was passiert jetzt, wenn wir die G-Taste drücken? Wir gehen auf die Fertigstellung zu überprüfen, werden überprüfen, ob die Anfrage abgeschlossen ist, dann wird das Objekt auf aktiv gesetzt. Also gehen wir zurück in die Einheit. Und hier drin, Mal sehen, was wir haben. Das Objekt, das wir aktivieren wollen, wird das Regime sein. Nun, wie Sie sehen können, ist dies nicht der beste Ort, um dieses Objekt zu setzen. Wir werden überprüfen oder aktivieren abgeschlossen. Wir setzen es auf eine aktive, so dass es nicht mehr angezeigt und angefordert wird. Wir müssen überprüfen, mal sehen, in Game Manager, was wir haben. Springt immer noch. Sicher, warum nicht? Also stehlen Sie das Fitnessstudio. Vergewissern Sie sich, dass Sie korrekt kopiert und eingefügt haben. Jetzt werden wir unsere Spielsoftware laufen laufen, wir laufen, wir laufen. Und wenn wir die G-Taste drücken, passiert nichts. Denn wenn wir uns den Spielmanager ansehen, den Stahl, funktioniert der Stau nicht. Wenn wir also das Q treffen, wird es eingeschaltet. Und jetzt, wenn wir das G treffen, nein, es funktioniert immer noch nicht. Okay, das Problem ist also, dass der rote Edelstein nicht einmal aktiv ist, also können wir nicht wirklich auf das Anforderungsobjekt zugreifen. Das ist der ganze Sinn. Es ist also inaktiv. Wir müssen es so einstellen, dass es funktioniert. Also machen wir etwas anderes. Wir fügen ein, wo ist es zu
den Artikeln gehen oder nicht die Elemente, die ich in der Sprites-Umgebung meinte. Mal sehen, wir haben hier irgendwo eine Karte. Da, da ist eine Karte. Wir werden hier drinnen bearbeiten. Auf der Karte hier, wo ist sie? Glätten Sie es. Damit legen Sie die Sortierebene auf den Player fest. Skalieren Sie es auf zwei. Wir werden einen kleinen Box-Collider um ihn herum hinzufügen und wir werden sicherstellen, dass es ein Auslöser ist. Und wir werden die rote Marmelade holen. Wir werden die Komponente kopieren, wird auf die Karte gehen. Wir fügen eine Komponente hinzu, die der Kostenträger sein
wird, wird die Komponente basieren, wie wir es als num einfügen können. Okay, also entfernen wir einfach diese Komponente. Da gehst du. Nun ist das Objekt, das aktiviert werden soll, der rote Stau. Immer noch der Sprung aktiviert, abgeschlossen. Und wir werden das hier entfernen. Wir brauchen sie nicht. Speichern Sie das. Jetzt, wenn wir unser Spiel laufen, werden
wir versuchen, den Sprung einzuschalten. Wir können testen, weil das Element
im Spiele-Manager nicht vollständig ist. Wenn wir abgeschlossen haben, da gehen Sie, das Element erscheint. Wenn wir nun die G-Taste drücken, dann gehen wir. Also, jetzt haben wir die Marmelade erscheinen. Sehr nett. Jetzt gibt es ein paar Verbesserungen hier drin, die du tun kannst. Sie können beispielsweise ein Objekt aktivieren, wenn Sie die Karte tatsächlich aufnehmen, z. B. zerstören Sie es. Sie können es Ihrem Lagerbestand hinzufügen. Wenn Sie es in Ihrem Inventar haben, können
Sie Dinge damit machen, aber das ist nur die Grundlagen dafür, wie unsere Questobjekte funktionieren werden, wenn wir vorwärts gehen. Ich hoffe, Sie haben dieses sehr einfache Questobjektsystem genossen, und wir sehen uns im nächsten.
76. Quests fertigzustellen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wie Sie sehen können, haben
wir einen Knoten versteckten Juwel. Also, wenn wir unser Spiel laufen, wenn Sie sich erinnern, beendet
die Q-Taste die Stahl-Edelstein-Quest. Wenn wir also die Q-Taste drücken, verschwindet ein Juwel, das andere erscheint. In diesem Video werden wir in der Lage sein,
unsere Quests dynamischer mit dem Quest-Manager abzuschließen . Vergeuden wir also keine Zeit mehr. Und wenn Sie den Kurs genießen,
wie immer, stellen Sie sicher, eine Rezension zu hinterlassen. Es hilft mir wirklich, und ich weiß, was du von dem Kurs hältst. Also lasst uns nicht mehr und wieder verschwenden, und lasst uns anfangen. Oh, okay, jetzt brauchen wir eine Möglichkeit, automatisch und dynamisch nach der Fertigstellung zu suchen. Wir wollen nicht,
jedes Mal, wenn wir prüfen wollen, ob etwas abgeschlossen ist, um eine bestimmte Taste zu treffen. Um das zu tun, müssen wir auf den Quest-Manager zugreifen. Also im Anfrage-Manager wollen
wir alle Objekte durchlaufen, die wir
haben und jedes Mal, wenn wir als vollständig oder unvollständig markieren, auf die Fertigstellung überprüfen. Also werden wir eine neue Methode in hier zu schaffen, wird eine öffentliche Leere sein. Also öffentliche Void Update-Anforderungsobjekte. Und das wird sicherstellen, dass alle von ihnen entweder erscheinen oder verschwinden. Also, weil es so einfach ist, werde
ich es dir als Herausforderung geben. So finden Sie alle Objekte des Typs Questobjekte. Stellen Sie sicher, dass es mehr als eine Schleife durch alle von ihnen gibt. Überprüfen Sie, ob sie vollständig sind oder nicht. Rufen Sie sie in beiden Methoden an, wo wir unsere Quests markieren. Also pausieren Sie das Video jetzt und lesen Sie die Herausforderung noch einmal. Wenn Sie nicht bekommen, was Sie tun sollten, und gehen Sie die Herausforderung. Oh, okay, willkommen zurück. Also hier werden wir ein Array von Typ Anfrage Objekte erstellen. Und es wird die Questobjekte genannt werden. Und es wird feine Objekte des Typs sein. Also Objekte, nicht Objekte, Objekte des Typs. Und es wird von Typ sein, natürlich, Questobjekte. Dann, wie wir gesagt haben, werden
wir überprüfen, ob es mehr als einen gibt. Wenn es keine gibt, dann brauchen wir es nicht zu tun und Fehler zu vermeiden. Also Questobjekte Punktlänge größer als eins, größer als 0, meine ich. Und hier drinnen werden wir alle durchlaufen. Also für jede Anfrage, Objekt, Anforderungsobjekt, halten Sie es einfach und Questobjekte. Da gehen wir. Was wir tun werden, ist, dass wir auf das Anforderungsobjekt zugreifen. Und wir werden auf die Fertigstellung überprüfen. Das war's. Da gehen wir. Und schließlich, was müssen wir tun? Nennen Sie sie und beide Methoden, bei denen wir unsere Kosten markieren. Also, wo markieren wir unsere Anfragen hier? Wie war die Methode „Update-Kosten“? Aktualisieren Sie also Anfrageobjekte und aktualisieren Sie Kostenträger. Okay, mit dem fertig, endlich brauchen
wir das Q2, Okay, also bei den Marken so vollständig, dass wir den GMP aufhalten. Okay, toll, also lass uns aufmachen. Wir werden diesen Sprung duplizieren. Wir werden es tun, whoops. Wo ist der zweite Sprung? Lass es uns hier oben stellen. Lass es uns einschalten. Und was wir tun werden, ist, dass wir die hinzufügen, okay, also haben wir entfernt, lassen Sie uns das Questobjekt zu ihnen hinzufügen. Also im Skript und den Quests, lassen Sie uns sie wieder wählen. Questobjekt. Das fragliche Objekt ist dieses. Und für den zweiten ist es dieser. Die, wo ist sie? Wo ist der Game-Manager? Immer noch Edelstein? Fügen Sie es hier ein. Und dieser wird das komplette aktivieren, während dieser deaktiviert
werden soll oder so sollte es deaktiviert werden, wenn abgeschlossen. Also werden wir all das retten. Und wenn wir die Q-Taste drücken, wenn Sie sich erinnern, setzen wir aktiv auf den Stillsprung. Also, wenn wir laufen, hoffentlich das jetzt, wenn wir das Q getroffen haben, gehen wir. Einer von ihnen wurde eingeschaltet und der andere wurde ausgeschaltet. Also, wie cool ist das? Jetzt haben wir eine Möglichkeit, auf die Spielobjekte zuzugreifen und immer sicherzustellen, dass sie
automatisch funktionieren , ohne dass wir nach Beendigung der Anfrage irgendwelche zusätzlichen Tasten drücken müssen. Ich hoffe, es gefällt euch und ich sehe euch im nächsten Video.
77. Quests aktivieren: Willkommen zurück, meine Spiele-Entwickler. Wie du dich im vorherigen Video erinnerst, haben
wir unser Questsystem etwas dynamischer gemacht. Jetzt ist es Zeit, auf die nächste Ebene zu gehen. Also, wenn wir unser Spiel laufen, wie Sie sehen können, eine Jam so sehr gut, Wir können es sehen, die andere ist irgendwo verschwunden. Wo könnte es sein? Nun, lasst uns versuchen, diese Karte aufzuheben Wo, wie ihr sehen könnt, haben wir das zweite Juwel gefunden. Wie cool ist das? Vergeuden wir also keine Zeit mehr und lassen Sie
uns unser Quest-System nur ein bisschen mehr automatisieren. Okay, jetzt, da wir Spielobjekte basierend auf Quests dynamisch aktivieren und
deaktivieren oder aktivieren und deaktivieren können , ist
es an der Zeit, dass wir eine Quest aktivieren, wenn wir einen bestimmten Raum oder eine bestimmte Zone betreten oder so weiter. Also, was wir tun werden, ist, dass wir Fragen erstellen werden. Also gehen wir weiter in die Karte, die wir gerade hier erstellt haben, den Box-Collider, den wir hatten. Und wir werden es löschen. Wir werden bereits wissen, was wir es behalten können, wenn wir wollen. Und wir werden das Anforderungsobjekt für jetzt
entfernen, Komponente entfernen. Und da gehen wir. Und wir werden neben der Karte Questzone hinzufügen. Diese Karte ist also eine Questzone und wenn wir sie betreten, gibt es Dinge, die Kegel passieren. Erstellen Sie also C-scharfes Skript, und wir werden dies die Quests nennen oder warten, bis es kompiliert wird. Und wir werden es der Karte hinzufügen. Und wir werden die Ruhezone eröffnen. Also, was machen wir hier drin? Wir suchen zwei Arten von Kostenaktivatoren. Der erste ist, wenn der Spieler einfach durch den Kampfplatz geht, beginnen
wir sofort die Quest. Nehmen wir zum Beispiel an, wir gehen durch eine bestimmte Zone und die Monster erscheinen. Der zweite Typ ist, dass wir mit einem bestimmten MPC sprechen und die Quest von ihnen bekommen wollen, und dann starten wir die Anfrage, wenn wir Lager können. Dies sind also die beiden Arten von Kosten, die in der Regel in Gewinnen gefunden werden. Also brauchen wir hier ein paar Variablen. serialisierte Feld ist also vom Typ string und es wird die Kosten
sein, als ein anderes serialisiertes Feld zu markieren, das vom Typ bool sein wird und es wird Mark as complete sein. Dann werden wir ein weiteres serialisiertes Feld erstellen und dies
wird überprüfen, ob seine Markierung auf Enter. Also wird es bool,
Mark on und TR sein . Also sagen wir, wir haben eine Quest, wo wir es auf Enter markiert haben. Also, wenn wir betreten , ist
eine Höhle, Anfrage abgeschlossen, und dann die Jama Peers, zum Beispiel, ist es aus der Spitze meines Kopfes. Und dann haben wir einen privaten Boolean. Und das bedeutet, dass wir markieren können, denn wie gesagt, dies ist ein Trigger Enter. Hoppla, hat die Herausforderung einfach verschenkt. Ich meine, es ist ein Auslöser. Also zurück in unserem Code hier drin, was sollen wir tun? Lassen Sie uns einfach den Start und das Update löschen. Ich sage, dass jedes Mal und jedes Mal, wenn es sich herausstellt, dass wir sie brauchen. Also lasst uns anfangen. Zunächst einmal, was brauchen wir? Wir müssen eine Methode erstellen, die die Suche markiert. Es ist also eine öffentliche Vorwärtsmarkierung. Und hier drin werden wir überprüfen, ob die Marke als vollständig. Dann greifen wir auf den Quest-Manager zu. Wir greifen auf die Instanz zu. Wir werden die Markierung Quest als abgeschlossen, als abgeschlossen zugreifen. Und dann geben wir ihm das Fragezeichen. Und wenn es nicht als vollständig markiert ist, dann werden wir dasselbe tun, aber statt Mark als vollständig, werden
wir als unvollständig auf den Markt bringen. Das könnte also nicht sehr nützlich sein. Warum markieren wir bestimmte Quests als unvollständig? Aber später, wenn Sie das Spiel spielen, werden
Sie feststellen, dass einige Quests müssen als unvollständig überprüft werden. Also zum Beispiel, sagen wir, was können wir sagen? Zum Beispiel, aus irgendeinem Grund wollen wir den Bereich verlassen, dann markiert das es als unvollständig. Wir wollen jede Art von Sprüngen entfernen, die da sind. Oder vielleicht wollen wir, wenn wir das falsche Schwert aufheben oder so, ich bin mir nicht sicher, aber es könnte nützlich sein. Es ist gut, dies als eine Art Debug und Ihr Spiel zu haben. Die nächste Sache ist, einen Unternehmer eingeben zu schaffen, der für
alles überprüft und ich werde es Ihnen als Herausforderung zeigen. Ihre Herausforderung besteht also darin, eine Quest zu markieren. So schaffen Sie einen Unternehmer. Geben Sie 2D ein, suchen Sie nach dem Player-Tag. Überprüfen Sie, ob diese nicht als Markierung auf abgeschlossen sind. Also müssen einige Zonen als abgeschlossen markiert werden, wie wir gesagt haben. Andere. Oder markieren Sie auf Enter Amin und andere sind markiert, wenn wir den Dialog starten. Wenn es einfach ist, sollte die Anfrage einfach nicht einfach sein. Und wenn nicht, sollte das nicht sein, nicht. Überprüfen Sie nun, ob der Boolean markieren kann,
nun, das ist pausieren Sie das Video jetzt und gehen Sie die Herausforderung zu tun. Okay, willkommen zurück. Also, Trigger, Geben Sie 2D, scrollen Sie nach unten und wir werden noch einmal überprüfen, Ich denke, wir haben diese sieben Mal maybe.com Tag Player getan. Und hier werden wir überprüfen, ob seine Markierung auf Enter. Wenn es so ist, dann werden wir einfach die Suche markieren, unsere Methode und hier. Und wenn es nicht ist, dann werden wir nur
sagen , dass kann markieren ist gleich wahr. Speichern Sie das. Und schließlich ein Update, das wir sehen werden. Ich habe dir gesagt, dass wir immer Updates erstellen müssen. Wie ich scrollen nach oben und sehe, dass ich wieder Update entfernen. Also hier drin benutzen wir einfach die Dosenmarkierung. Sagen wir mal, es ist eine Art Hebel, den wir drücken müssen. Der Liebhaber kann nur mit interagieren, wenn wir in
einer bestimmten Position sind und wenn wir ausgelöst werden, wenn wir in der Quasi-Zone sind, bedeutet
das, dass wir markieren können. Und wenn wir markieren können und wir das Feuer drücken, dann sind die Kosten abgeschlossen und etwas um uns herum passiert. Also, wenn wir markieren und Eingabe Punkt nach unten geknöpft werden, möchte
ich das Feuer 151 verwenden. Dann werden wir gleich falsch markieren können. Also lösen wir die Kosten nicht noch einmal aus oder haben etwas seltsames passiert. Und dann wird die Marke Quest funktionieren. Da gehen wir. Und es gibt noch eine Sache, die wir berücksichtigen sollten , und das ist, wenn wir wollen, um die Zone vollständig auszuschalten, oder im Fall unserer Karte, zum Beispiel, zerstört. Wenn wir also die Karte haben, sagten
wir, wir brauchen sie nicht in unserem Inventar zu haben. Du könntest die neue urbane Geschichte haben, aber was ist, wenn du sie zerstören willst? Also werden wir hier eine Variable erstellen, die
ein öffentlicher Pool sein wird und bei der Markierung deaktiviert wird. Dadurch wird die Zone bei der Markierung aktiviert. Und in der Markierung Quest, nachdem wir überprüft, ob wir die Quest abgeschlossen oder Bemerkung der Quest unvollständig, das Spielobjekt. Punkte sind aktiv wird das Gegenteil sein und y ist das Gegenteil von deaktivieren bei der Markierung. Warum ist es das Gegenteil? Denn wenn wir bei der Markierung deaktivieren wollen, setzen
wir auf true. Und wenn es auf true gesetzt ist, dann müssen wir deaktivieren. Das bedeutet, dass wir aktiv auf false setzen müssen. Deshalb wird dies mit einem Ausrufezeichen negiert. Speichern Sie das wieder in unserem Spiel. Welchen Kunden wollen wir? Wir wollen die Marmelade. Also immer noch die JAM, kopieren Sie das, fügen Sie es auf der Karte und Barkers vollständige Markierung auf Enter und die Aktivator-Markierung speichern Sie das, führen Sie das Spiel. Schauen wir uns unsere Edelsteine erscheinen,
sehen, ob sie verschwinden. Also jetzt gehen wir, gehen, gehen, und jetzt, wenn wir die Karte betreten, sollte
diese Chance verschwinden und diese sollte erscheinen. Also hoffentlich, ja, da gehen wir. Die Karte verschwindet, der Stau verschwindet, der endgültige GM erscheint aus irgendeinem Grund nicht. Warum ist das so? Oh, Kay, warum ist es nicht erschienen? Denn oh, das Problem ist, dass der Stau inaktiv ist, also finden wir das Objekt nicht. Also, um dieses Problem zu umgehen, was wir tun werden, ist in der roten Marmelade oder dem ersten Truck Durcheinander Rechtsklick, wir erstellen ein leeres Spielobjekt. Dies wird das Questobjekt sein, wird es aus dem Kind entfernen und dann den roten Sprung hinzufügen. Also, jetzt ist das Questobjekt auf der gleichen Position und wir werden es setzen, wird es einfach behalten. Also, was passiert, ist, dass wir diese Komponente kopieren, als neu
einfügen, und wir werden diese entfernen Komponente entfernen. Und das sollten wir all unseren Questobjekten antun. Wenn wir nun alle unsere Objekte durchschauen, werden
wir dieses Questobjekt finden und dann schalten wir ein oder lassen den roten Stau erscheinen. Und schließlich müssen wir sicherstellen, dass es
die rote Marmelade ist , die wir aktivieren wollen und hier. Wenn wir also all das retten, wenn wir jetzt unseren Gewinn ausführen, sollte
der Sprung, der nicht erschienen ist, erscheinen. Also, jetzt gingen wir auf die Karte und da gehen wir. Einer verschwindet, der andere erscheint, und alles funktioniert perfekt. Ich hoffe, Sie genießen so weit, wie die Quests funktionieren. Wir bauen langsam von Grund auf und machen alles dynamisch. Das letzte Stück des Puzzles ist die Aktivierung Quests, wenn wir den Dialog mit bestimmten MPC beenden. Also sehe ich dich dort.
78. Quests nach Dialog aktivieren: Willkommen zurück meine Kollegen Spiele-Entwickler zu einem brandneuen Video. Und dieses Video, wenn wir unser Spiel laufen, werden
Sie feststellen, dass wir einen Stau auftauchen, einer ist nicht da. Also gehen wir zum Heiler. He, Heiler. Wir haben ein bisschen geredet. Da gehst du. Als wir das Gespräch beendet haben, verschwindet das Fitnessstudio. Dieses Gemma erscheint und wir haben
ein Questobjekt aktiviert , nachdem wir mit einem Heiler gesprochen haben. Wie cool ist das? Wie Sie sehen können, haben
wir ein wirklich schönes dynamisches Kalkulationssystem erstellt. Vergeuden wir also keine Zeit mehr. Und lasst uns anfangen. Oh, okay, jetzt ist es an der Zeit, eine Quest
als abgeschlossen zu markieren , nachdem wir den Dialog mit einem bestimmten Charakter beendet haben. Jetzt können Sie eine weitere Option hinzufügen, bei der Sie auswählen können, ob Sie Anfragen annehmen möchten oder nicht. Ich empfehle, dass Sie das versuchen. Aber im Moment bleiben wir einfach an die Grundlagen, wo wir nur sicherstellen, dass wir am Ende eine Quest haben. Also, was wird tun, dass ich Sie einfach durch den Plan nehmen schnell. Wir werden
dem RequestHandler eine Möglichkeit hinzufügen , um zu überprüfen, dass
wir am Ende des Gesprächs eine Art Quest aktivieren und dann auf
dem Dialog-Controller tatsächlich eine bestimmte Frage aktivieren. Okay, also lasst uns anfangen. Gehen wir zunächst in unseren Code und gehen wir zum Dialog-Controller. Wo befindet sich der Dialog-Controller? Es gibt keinen Dialog-Controller, dass wir es irgendwo schließen. Also Sie Dialog Controller. Und lassen Sie uns den Dialog-Controller öffnen. Okay, da gehen wir. Also ein paar Variablen hier drin, und sie werden alle privat sein, weil wir sie alle vom Dialog-Handler
bekommen, der sich auf einem der MPC befindet. Nehmen wir also an, private String-Quest zu markieren als ein privater boolescher Wert
, der mehr von der Quest abgeschlossen sein wird, Mark Complete und falsch sein könnte, wenn wir die Frage unvollständig markieren möchten, zum Beispiel. Und dann ein weiterer Boolean, der v ist, sollte Westen markieren. Okay, jetzt müssen wir herausfinden, wo wir
den Dialog beendet haben und tatsächlich anfangen, die Quests zu überprüfen und zu markieren. So beenden wir den Dialog, nachdem alle Dialogsätze abgeschlossen sind. Okay, also schalten wir den Box-Collider aus. Wir deaktivieren das Dialogfeld geöffnet ist. Das ist für den Spieler, wieder zu laufen. Und hier drin werden wir prüfen, ob wir Kosten markieren sollten. Wenn wir also Anfrage markieren sollten, sollten die Kurzzeichenanfragen wieder auf false gesetzt werden. Genau wie wir es vorher getan haben. Wir stoppen einfach die Dosenmarkierung. Wir wollen nicht, dass es weitergeht. Dann überprüfen wir, ob wir die Quest abgeschlossen markieren wollen, werden
wir auf den Spiel-Manager Punkt-Instanz zugreifen, Punktmarkierung als abgeschlossen. Und wir kommen, natürlich, geben ihm die Game Manager Punkt Instanz 0. Also müssen wir zum Kostenmanager gehen. Ich dachte, viele Manager zu haben, kann wirklich verwirrend sein. So Instanz Punkt, erhalten oder markieren Quest als abgeschlossen. Und es wird die Kosten für Mark sein. Und sonst. Offensichtlich hätten wir das ohne die Klammern tun können, aber keine Sorge. Lassen Sie uns das einfach kopieren. Markieren. Unvollständig. Speichern Sie das. Ok, großartig. Also, was wir jetzt tun, überprüfen
wir, ob wir eine Quest markieren sollten. Wenn wir das tun, deaktivieren wir es. Wir wollen das nicht nochmal durchmachen. Wenn die Markierung vollständig ist, überprüfen
wir das Fragezeichen. Sonst prüfen wir es als unvollständig. Ok, großartig. Jetzt brauchen wir eine Methode, die am Ende aktiviert wird. Also werden wir schaffen, dass wichtig, das aktiviert die Quest am Ende. Und es wird Teil Ihrer Herausforderung sein. Deine Herausforderung ist es, die Quest am Ende zu aktivieren, ich dachte, ich habe diesen Satz schon dreimal gesagt. Erstellen Sie eine Methode, aktivieren Sie Quest am Ende, die zwei Argumente enthält, einen String-Questnamen und eine boolesche Markierung abgeschlossen, und legen Sie die Variablen fest, die wir erstellt haben. Also, was wird diese Methode überhaupt tun? Nun, denn wie gesagt, wir werden anrufen, überlassen
wir die Quests dem tatsächlichen NPC, mit
dem wir nicht im Dialog-Controller umgehen wollen. Wir wollen es im Dialog-Handler tun. Dies ermöglicht es uns, mit
dem Dialog-Handler zu sprechen und alle Variablen festzulegen, die privat sind. Also mit dem erklärt, mit der Herausforderung vor Ihnen,
pausieren Sie das Video jetzt und gehen Sie die Herausforderung zu tun. Okay, willkommen zurück. Also hier drinnen, lassen Sie uns hinzufügen. Methode direkt unter dem Update. Und hier drinnen werden wir eine öffentliche Leere schaffen. Aktiviere Quest am Ende. Und es wird zwei Argumente brauchen. Wir sagten, es wird Quiz Name und Mark Complete Boolean nehmen. Also der Questname und die boolesche Markierung abgeschlossen. Und hier, was wir tun werden, ist das Fragezeichen wird der Hostname sein. So war es Tamar ist gleich dem Hostnamen. Die Markierung war abgeschlossen, ist gleich der Marke abgeschlossen. Also, wenn dieser falsch ist, desto vollständiger wird falsch sein. Okay, also verwenden wir einfach dasselbe, markieren Sie die Anfrage als abgeschlossen. Lassen Sie uns das kopieren. Daher ist die Variablenbenennung sehr wichtig. Und schließlich sollte dies markieren Quest sollte auf true gesetzt werden. Denn wenn wir etwas an der aktivierten Quest bei geschickt haben, und dann natürlich sollte die Quest markieren wahr sein. Ok, großartig. Jetzt müssen wir zum Dialog-Handler gehen und fast dasselbe tun. Also, während der Dialog-Handler, da geht man, das ist der Hundeführer. Also werden wir drei serialisierte Felder erstellen, weil sie
abhängig davon sein werden , was wir für diesen Charakter Sam während des Gesprächs wählen. Boolean sollte also
Quest und anderes serialisiertes Feld aktivieren , weil es eine Zeichenfolge sein wird, die die Suche nach Mark sein wird. Und schließlich serialisiertes Feld mit der booleschen Markierung als abgeschlossen. Komplett. Da gehen wir. Und wir gehen und aktualisieren, wenn wir die Sätze weitergeben. Wir werden auch überprüfen, ob wir die Quest tatsächlich aktivieren wollen. Wenn wir also eine Quest aktivieren sollten, dann greifen wir auf den Dialog-Controller zu. Wo ist es okay, Darla Controller Punkt Instanz, Punkt, aktivieren. Und es dauert in zwei Variablen oder zwei Argumente, Parameter sogar Sie können sie so nennen, dass der Hostname und die boolesche Markierung als abgeschlossen. Der Hostname ist also das Fragezeichen und auch die Markierung als abgeschlossen. Speichern Sie das wieder in unserem Spiel. Sarah, du hast Sarah vergessen. Aber wieder, sie hat immer einen Job zu erledigen. Wieder. Also, wo ist es der Dialog-Handler? Wir können die Sätze ändern,
aber lassen Sie sie jetzt so halten, wie sie sind. Also lasst uns das ein bisschen größer machen. Also sollte eine Quest aktivieren. Ja, das solltest du. Sollte als abgeschlossen markiert werden. Ja, das sollte sie. Wir, während der Manager noch die Edelsteine. Gib es in Sarah. Sarah, Sarah. Ok. Das Fragezeichen ist also der Stahl, der Stau. Wir speichern das, wir führen das Spiel. Hoffen wir, dass das funktioniert. Gehen wir rauf zu Sarah. Hallo Sarah, ich bin Heiler als Ananda Taylor. Da gehen wir. Wie Sie sehen können, habe ich es nicht bemerkt, aber es hat funktioniert, weil dieses Juwel verschwunden ist. Dieses Juwel erscheint und es ist nur, weil wir das Gespräch mit unserem Heiler beendet haben. Also haben wir das gesamte Kalkulationssystem abgeschlossen. Wir haben eine sehr schöne dynamische erstellt , die nach Gesprächen und nach der Aufnahme von Objekten ein- und ausgeschaltet wird. Nur Ihre Phantasie ist hier die Grenze. Sie können dies für Song verwenden, so viele Dinge. Ich hoffe, Sie genießen diesen Kurs. Ich werde dich nicht noch einmal daran erinnern, weil ich es vor ein paar Videos gemacht habe. So wissen Sie, was Sie eine Literaturübersicht machen. Ich würde gerne Ihre Meinung kennen und wir sehen uns in der nächsten.
79. Abschnitt 11: PlayerPrefs: Willkommen zurück meine Spiele-Entwickler zu einem brandneuen Video, in dem wir etwas sehr Dramatisches machen. Wir haben tatsächlich fast die gesamte Karte mit unseren neuen erstaunlichen Fähigkeiten zerstört. Also, wenn wir was, wenn wir das geile Rennen dafür hätten? Ja, das wurde gerettet. Ich weiß, es ist ein bisschen unüberwältigend, aber lasst uns keine Zeit mehr verschwenden, und lasst uns anfangen. O k. Jetzt können wir eine Menge, eine Menge, eine Menge Sachen in unserem neu erstellten RPG machen. Aber wie Sie wissen, hat
jedes einzelne RPG ein Laden und Speichern. Was ist also der Sinn, deinen Charakter aufzubauen, wenn du nicht einmal den ganzen Fortschritt speichern kannst, den du mit diesem Charakter hattest. So Speichern und Laden ist ein sehr, sehr wichtiger Teil eines RPG-Spiels, und wir werden genau das tun. Das erste, was wir tun müssen, ist zu verstehen, wie Speichern und Laden in Einheit funktioniert, und das ist durch die Spielerpräferenz. Lassen Sie uns also erklären, welche Spielerpräferenz ist. Lassen Sie mich meinen Laser anziehen und was ist Player als Referenz oder Player prefs. Es ermöglicht uns, bestimmte Daten wie Strings, Ganzzahlen und Floats zu speichern. Dies sind also die einzigen drei Arten, die wir in Player-Prefs speichern können. Nun fragen Sie vielleicht,
Michael, wie sollen wir speichern können, sagen
wir zum Beispiel Gegenstände oder Quest-Marker, Booleans. Wie werden wir das tun, wenn wir nur auf Strings, Ganzzahlen und Gleitkommazahlen beschränkt sind. Nun, mach dir keine Sorgen um die jüngere Heuschrecke, denn wir werden sehr kreative Wege finden, diese Art von Problem zu lösen. Auf diese Daten kann zwischen Sitzungen des Spiels zugegriffen werden. Daten werden durch einen String-Schlüssel identifiziert. Und ich werde Ihnen nur ein paar Beispiele geben, nur um Ihren Kopf herum zu wickeln und es ist nicht sehr beängstigend. Also setzen wir einfach eine ganze Zahl, wir geben ihm einen Schlüssel, genau wie wir hier gesagt haben, es wird durch einen Schlüssel vom Typ String identifiziert. Und dann setzen wir den Wert eine ganze Zahl, weil wir Abrechnung haben. Und wie laden wir dann diese Player-Prefs? Nun, wir verwenden den get und verwenden den gleichen String-Schlüssel, den wir für diesen NFO hier hinzugefügt haben. Lassen Sie uns also anfangen, all dies zu implementieren und es wird viel einfacher und viel weniger beängstigend erscheinen. Also werden wir Visual Studio öffnen und wir gehen zum Manager. Also lassen Sie uns Visual Studio öffnen. Gehen wir zu den Legenden der Eroberung 2D. Und okay, großartig. Wir gehen zum Questmanager, weil das erste, was wir unsere retten wollen, unsere Quests. Wie werden wir Spieler-Quests retten? Nun, zuerst müssen wir einen Schlüssel erstellen, und dieser Schlüssel wird der Name der Kosten sein, die wir in Angriff nehmen wollen. Und dann wird der Wert eine ganze Zahl oder ein Ende sein, das entweder eine false darstellt. Das bedeutet, dass wir die Quest noch nicht abgeschlossen haben, oder ein Wahres, was bedeutet, dass wir die Quest abgeschlossen haben, aber wie werden wir das falsch und wahr darstellen? Lasst uns tief eintauchen und sehen, wie das geht. Also zuerst werden wir hier eine Methode erstellen. Und es wird eine öffentliche Leere sein. Speichern Sie Questdaten oder das, ich bin mir nicht sicher, wie Sie es nennen möchten. Speichern Sie also Anforderungsdaten. Was machen wir hier drin? Wir werden alle unsere Quests durchlaufen. Überprüfen Sie. Also werden wir zuerst eine Schleife erstellen, die von I gleich 0 geht, während ich weniger als v ist. Wie wurde es genannt? Die Namen, ich glaube, die Suche Namen Punktlänge. Das sind alle unsere Kosten, die wir haben. Und wir werden natürlich um eins erhöhen. Und hier werden wir überprüfen, ob die Quest-Marker an Position i abgeschlossen sind. Und wenn Sie sich nicht sicher sind, wie Sie Spieler Prefs verwenden, empfehle
ich, dass Sie zu den Einheit Hunde gehen. Es ist eine großartige Ressource. Ich habe dir mehrere Male gezeigt und ich glaube nicht, wieder zu gehen, sie sind nur für die Spieler Prefs. Ich empfehle, dass du immer
deine eigenen Recherchen machst und mir nicht nur vertraust, vielleicht lüge ich. Wer weiß es? Also werden wir eine ganze Zahl setzen. Und im Jahr werden wir zuerst eine Zeichenfolge,
einen Schlüssel und dann einen Wert erstellen . Also, was bedeutet der String-Schlüssel hier drin? Es wird der Quest-Marker-Unterstrich sein. Und dann verketten wir es mit den Questnamen. Auf der Position I. Und was ist der Wert dort? Nun, es wird als wahr dargestellt werden. Das bedeutet, dass wir es als eins festlegen. Und dann später, wenn wir Daten laden, verwenden
wir diese, um sie entweder auf true oder false zu setzen. Lassen Sie mich noch einmal erklären, was wir hier gemacht haben. Also schleifen wir uns durch alle unsere Quests. Wir prüfen, ob diese Quest abgeschlossen ist. Wenn ja, dann rufen wir die Spieler Prefs an. Wir sagen, dass wir eine ganze Zahl setzen wollen. Und dann haben wir diesen Schlüssel hier. Also, um die Quest-Marker darzustellen, oder Sie können sagen, setzen Sie es als Quest-Namen. Aber weil wir die Quest-Marker setzen. Also die Quest-Marker, und wir wollen in der Lage sein, es individuell für jede einzelne Quest zu identifizieren. Um dies zu tun, fügen wir ein bisschen Individualität hinzu, indem Anforderungsmarker-Unterstrich mit dem Questnamen verketten. Sie haben also eine Tabelle, in der Sie den Questmarker-Unterstrich haben. Sagen wir zum Beispiel, töte den Dämon,
weiß, dass wir bei Lehman sind, töte den Drachen. So Quest-Marker-Unterstrich getötet der Drache hat einen Wert Ganzzahl von eins. Und dann übersetzen wir das zurück und erstellen die Booleans, ob es wahr oder falsch ist. Okay, jetzt, da wir die wahren Quest-Marker gesetzt haben, ist
es an der Zeit, die falschen zu setzen, die wir noch nicht abgeschlossen haben. Und das wird Teil Ihrer Herausforderung sein. Deine Herausforderung besteht darin, die Quest-Marker verwendeten Spielerprefs zu setzen, um die Quests festzulegen, die unvollständig sind. Halten Sie den String-Schlüssel gleich und nur der Wert des int sollte sich ändern. Also haben wir schon, denke ich, alles abgedeckt. Behalten Sie den gleichen Schlüssel, weil wir arbeiten, Lassen Sie uns es auf der gleichen Dimension nennen, wo wir die Quest
speichern, so dass Sie nicht brauchen, um den Schlüssel zu ändern, nur den Wert ändern. Also pausieren Sie das Video jetzt, und um es als falsch gleich 0 zu setzen, ist
dies ein Hinweis, ich glaube nicht, dass ich es gelesen habe. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Willkommen zurück. Also hier drinnen werden wir sagen, dass sonst, wenn es nicht vollständig ist, dann werden wir diese Zeile kopieren. Wir fügen es hier ein. Wir behalten den gleichen Quest-Marker Unterstrich Questnamen, aber statt eines, weil es unvollständig ist, Es wird 0 sein. Und wir werden später und detaillierter sehen, wie wird diese übersetzen 10, eine wahre und falsche. Und schließlich brauchen wir einen Schlüssel, um dies umzusetzen. Also gehen wir hoch und aktualisieren. Und wir nutzen bereits die Warteschlange. Also, wenn Eingabe Taste nach unten, Keycode Punkt und wir werden eine Taste verwenden, die wir noch nicht verwendet haben. Ich denke, ich, also ich, und wenn wir auf die Ich werde Dot Log debuggen. Und wir werden hier sagen, dass das, was gerettet wurde. Dies ist nur für Debugging-Zwecke. Und dann werden wir Questdaten speichern. Und was ist der Profi? Also hol Knopf, Substantiv, hol den Schlüssel runter. Das. Okay mit dir. Ja, da gehen wir. So sparen Sie Kostendaten, Debug-Daten wurden gespeichert. Gehen wir zurück in Unity und es sollte jetzt kompiliert werden. Also werden wir unseren Gewinn erzielen. Wir werden die I-Taste drücken, und da gehst du. Die Daten wurden gespeichert. Nun, das war unüberwältigend und nichts zu offensichtliches passierte. Aber im nächsten Video werden wir sehen, wie all das funktioniert, wenn wir anfangen, die Daten zu laden. Ich hoffe, dass dir das Video gefallen hat und wir sehen uns im nächsten.
80. Daten speichern: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video, wenn wir den Code ausführen, haben
wir tatsächlich etwas Dramatisches. Wenn ihr euch die Questmarken hier anschaut, haben
wir ein paar davon abgeschlossen. Also wollen wir unsere Daten laden. Wir wollen nicht alle diese Quests durchgehen und sie noch einmal tun. Also werden wir nur die Daten laden. Und Sie können hier sehen, dass Daten geladen wurden und diese Quests abgeschlossen sind. Lassen Sie uns also keine Zeit mehr verschwenden und beginnen Sie mit dem Laden unserer Daten. O k. Also die Zeit beginnen zu laden. Es gibt ein kleines Problem beim Laden von Daten. Was ist, das Problem ist, was passiert, wenn wir bereits alle unsere Quests gerettet haben, okay, also haben wir jetzt den Queststreik, wir retten sie alle. Aber dann während des Gameplays fügen wir eine weitere Quest hinzu. Also, wenn wir gehen, um es zu laden und suchen nach IT, Ops, gibt es keine und wir können es nicht finden. Und das wird uns einen Fehler geben und wir werden uns fragen,
na ja, was zur Hölle passiert ist. Also müssen wir dies vermeiden, indem wir zunächst
überprüfen, ob es tatsächlich irgendwelche Spielereinstellungen gibt, die mit diesem bestimmten Schlüssel festgelegt werden. Obwohl ich dir gesagt habe, dass ich nicht in Unity-Hunde gehen werde, bin ich es anscheinend. Also habe ich die Player-Pref-Aktien und die Unity-Dokumentation geöffnet. Und hier können Sie alles über lesen, Sie können sogar sehen, wo das gespeichert ist und Sie können gehen, um zu
sehen, wie die Daten gespeichert sind und so weiter. Also, wenn wir hier nach unten scrollen, können
wir sehen, dass wir mehrere statische Methoden haben. Und einer von ihnen, Sie können sehen, dass wir die bekommen ND, bekommen, schwimmen Sie den Safe, der Safe fehlerhaft, speichern, und, und so weiter. Und dann haben wir etwas namens Husky. Und dies gibt true zurück, wenn der angegebene Schlüssel existiert und player prefs andernfalls false zurückgibt. Dies ermöglicht es uns, bevor wir etwas bekommen, dies erlaubt uns zu überprüfen, ob irgendetwas drin ist. Also werden wir diesen, den wir laden, als einen Mechanismus der Verteidigung gegen Fehler verwenden. Lasst uns anfangen. Also werden wir unseren Quest-Manager öffnen und wir werden eine Methode
erstellen, die die Ladeanforderungsdaten,
öffentliche Leerlaufdaten sein wird . Okay, also werden wir eine Schleife erstellen, genau wie wir es in den Sparkostendaten getan haben. Ich werde diese Zeile einfach kopieren, weil sie genau die gleiche ist. Ja, wir werden es hier einfügen. Da gehen wir. Und lasst uns einfach eins davon entfernen. Was ist das Problem? Gibt es ein Problem? Also anscheinend, wenn wir genau das einfügen, so werden wir es behalten, da das die Klammern hier schließt. Sie müssen die Klammern zählen. Also, was machen wir hier drin? Nachdem wir alle unsere Namen durchlaufen haben? Wir werden eine ganze Zahl erstellen, die den Wert 2 SAT darstellen wird. Und es wird gleich 0 sein, weil wir
ihm eine Art Wert vier geben müssen , wir setzen eins fort. Und diese quiggly grüne Linie bedeutet eine Warnung. So wird der Wert als zugewiesen festgelegt, aber nie verwendet. Und weil Variablen ein wenig Speicherplatz in Ihrem Computer einnehmen. Visual Studio erinnert Sie also immer daran, dass Sie eine ungenutzte Variable haben. Sie können löschen, um Platz zu sparen. Wie auch immer, das war eine Seite. Jetzt hier drin werden wir die Player-Prefs verwenden. Wir werden den Husky benutzen. Und wir werden den Schlüssel verwenden, den wir hier hinzugefügt haben. Also kopieren wir einfach diese Zeile. Also, wie ich schon sagte, haben wir
zuerst den Schlüssel. Dann haben wir das hier entfernt, und das hier auch. Da gehen wir. Das wird also nach einem König suchen. Und wie ich schon sagte, sind dies die Schlüssel für unsere Quests, repräsentiert durch einen Wort-Quest-Marker-Unterstrich und dann verkettet mit dem tatsächlichen Questnamen an Position I also überprüfen wir, haben wir einen Schlüssel,
der den Namen Quest hat Marker-Unterstrich war der Questname an Position I. Wenn wir dies tun, dann wird der Wert festgelegt werden Spieler prefs, sorry für diesen Spieler prefs dot get ENT. Und wie bekommen wir eine ganze Zahl? Nun, wir verwenden den Marker auf der Partitur und den Namen. Also gehen wir hin. Das ist alles, was wir tun müssen. Wir müssen ihm nur diesen Questmarkt geben. Ok, großartig. Also lass mich noch ein Mal rüber gehen. Was wir hier drin machen, wir durchlaufen alle unsere Namen. Wir haben gerade eine Variable hier erstellt, um den zu setzenden Wert zu speichern. Wir haben auf die Spieler-Prefs zugegriffen und nach
dem Husky gesucht und überprüft, ob wir einen Schlüssel haben, der den Questnamen enthält. Dann setzen wir den Wert, indem wir player prefs dot get k0 verwenden, und dann diese Zeichenfolge direkt hier verwendet, was wir tatsächlich können, lassen Sie mich Ihnen eine der vielen Verwendungen von Variablen zeigen. Wie Sie sehen können, verwenden
wir diesen Marker plus Hostname an Position i 2 mal. Also ein besserer Weg, dies zu tun, als einen String-Schlüssel zu schreiben, und es wird gleich diesem hier sein. Also haben wir das verstanden, fügen Sie sie hier ein. Und die Art und Weise, wie wir schneiden, ist die Verwendung von Control X. Und hier können wir einfach den Schlüssel verwenden, um zu verwenden. Und hier auch Schlüssel zu verwenden. Da gehen wir. Und das sollte gut funktionieren, weil der zu verwendende Schlüssel
an dieser Position ist und sicherstellen, dass er sich innerhalb der Schleife befindet. So wird es immer aktualisiert. Ok, großartig. Nun, da wir den Wert gesetzt haben, also wenn wir die ganze Zahl an dem zu verwendenden Schlüssel erhalten, was genau hier ist, überprüfen
wir, wir erhalten entweder eine Eins oder eine 0 auf, basierend darauf, werden
wir die Marker als vollständig oder unvollständig, oder das komplette entweder wahr oder falsch, genau wie wir hier in verwenden. Zeig dich hier drin. So Quest-Marker, entweder abgeschlossen oder nicht abgeschlossen, und das wird Teil deiner Herausforderung sein. Ihre Herausforderung besteht also darin, die Request-Marker vollständig zu senden. also basierend auf dem Wert, den wir erhalten haben, Legen Siealso basierend auf dem Wert, den wir erhalten haben,den booleschen Wert der Quest-Marker fest. Und nur eine kleine Erinnerung, 0 ist falsch, man ist wahr. Pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Komm zurück. Nachdem wir also den Wert hier eingestellt haben, werden wir voran gehen und eine if-Bedingung erstellen. Und wenn der Wert gleich
0 ist bedeutet, dass wir eine false haben und wir können einfach diese Klammern entfernen. Wir brauchen sie nicht, weil wir nur eine Zeile haben, weil wir Zugang zu der Quest-Markt ist abgeschlossen an der Position I und wir sagen, dass es gleich falsch ist. Und wenn es nicht so anders ist. Und Sie können, wenn Sie genauer sein möchten, können
Sie else-if Wert gleich eins verwenden,
nur für den Fall, dass wir irrtümlich etwas anderes als 1 oder 0 haben, aber ich glaube, Sie können es behalten, wie es ist. So ist die Questmoleküle, die an Position I abgeschlossen sind, gleich wahr. Lasst uns das retten. Was ist das zerrüttete Zeilenproblem? Nein, keine Probleme. Speichern Sie das zurück und aktualisieren Sie wird eine Art Schlüssel verwenden. Also werden wir diese Zeile duplizieren. Wir werden anstelle von ich verwenden die 0. Also i, o und Daten wurden geladen. Und anstelle von gespeicherten Daten werden wir Request-Daten
laden, laden und diese wieder in unserer Einheit speichern. Jetzt, wenn wir das Spiel bei öffnet laufen, bewegen wir uns herum. Mal sehen, welche Art von im Spiele-Manager, lassen Sie uns alle diese auf wahr setzen. Wir werden die Icky treffen, also wurden Daten gespeichert. Wenn wir sie nun alle ausschalten, drücken
wir die O-Taste. Sehr geh. Wie cool ist das? Wir speichern tatsächlich Daten und laden sie dann. Wie cool ist das? Und nicht einmal das, wir haben etwas viel Cooleres, wenn wir das Spiel wieder laufen. Wenn wir hier unten im Quest-Manager schauen, wenn wir die O-Taste drücken, wie nein, ernsthaft,
nehmen Sie sich einen Moment Zeit, um darüber nachzudenken, wie cool ist, dass wir tatsächlich Daten gespeichert haben. Und Sie können deutlich sehen, dass wir keine Manipulationen gemacht haben. Es ist einfach Beta, die mit Ganzzahlen gespeichert wurde. Und nicht nur das, wir haben ganze Zahlen in Boolesche Werte mit nur ein paar Zeilen Code umgewandelt. Also, wenn das erledigt ist, lasst uns weitermachen und alles inszenieren. Wir werden diese verwendeten Layer-Graphen nennen, um Daten zu laden. Laden Sie Daten, um spezifisch zu sein, wir werden das begehen. Und schauen wir uns die Meister an. Whoa, whoa, sieh mal, wie viel wir schon getan haben. Wir haben den Laden fertig gemacht. Wir legen den Grundstein für das Questing-System. Zusätzliche Fähigkeit erstellt Questobjekte betroffen Questobjekte. Ich meine, sieh mal, wie viel wir schon getan haben und wir haben noch viel vor uns. Also hoffe ich, Sie genießen. Ich hoffe, Sie haben Spaß und ich hoffe, Sie sind aufgeregt, wie ich bin, nur um des Ladens einige Wahrscheinlichkeit verwendet Daten. Also sehe ich dich im nächsten Video.
81. Set und Float: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wenn wir das Spiel laufen, wenn wir die O-Taste drücken, ja, da gehen wir. Wir werden zu der Position transportiert, die wir in unseren Spielerprefs gespeichert haben. Also lasst uns keine Zeit mehr verschwenden, und lasst uns anfangen. Okay, jetzt speichern wir Questdaten. Das nächste, was wir brauchen, um als Position des Spielers zu speichern, wie Sie wissen,
wenn Sie durch Ihr Spiel gehen, Position gespeichert und so ist Ihre Szene wird später in das Speichern von Szenen schauen, oder Sie können es einfach nicht auf eigene Faust tun. Es ist sehr einfach. Du hast nur eine Schnur gesetzt. Aber konzentrieren wir uns darauf, Floats zu setzen und sie jetzt zu laden, und vor allem, wenn es um die Position geht. Also, wenn wir hier nachschlagen und die, und jedes Objekt können wir den Spieler wählen, weil wir uns auf den Spieler konzentrieren. Sie können sehen, dass er eine Position auf den x, y und z hat und alle diese gespeichert werden müssen, um die Position richtig zu laden. Also lasst uns das machen. Aber zuerst müssen wir herausfinden, wo wir diese Daten tatsächlich speichern wollen? Und ich glaube, und es ist tatsächlich der beste Ort, um Daten zu speichern, wie die Position ist in der Spiele-Manager. Also lassen Sie uns doppelklicken auf den Game Manager, öffnen Sie ihn und sehen, was wir hier tun können. Also werden wir eine Methode namens Daten speichern erstellen. Also hier unten unter Spielerstatistik, werden
wir eine öffentliche Leere erstellen, Speichern. Und wir werden die Daten für jede Position speichern. Also werden wir den Spieler prefs dot set float aufrufen. Und warum verwenden wir set float not end? Nun, offensichtlich, weil, wenn wir in Unity zurückblicken und hier können Sie sehen, dass die Position des Spielers 1.91.3 war. Also müssen wir den Schwimmer setzen. Und wir werden den Schwimmer setzen und wir werden ihm einen einzigartigen Schlüssel geben. Es wird also der Spieler Unterstrich sein, Pause für Position und Handlungen. Also sparen wir zuerst das X, und wie soll es heißen? Ich meine, was ist der Wert, den wir ihm schicken wollen? Nun, ich werde dir diese Mini-Herausforderung geben, um es zu versuchen. Wir brauchen Zugang zum Spieler. Sie benötigen Zugriff auf die Instanz, benötigen Zugriff auf die Transformation auf diesem Player. Also die Transformation auf dieser Ebene. Endlich brauchen wir die Axt auf dieser Position. Wir greifen also auf das Spielerskript, die Instanz, die Transformation des Spielobjekts, die Position auf der Transformation und das X auf der Position zu. Okay, toll, also haben wir jetzt den Schwimmer für die Position des Spielers x gesetzt, und jetzt müssen wir dir eine Herausforderung stellen. Dann sehen Sie, wie der kommt. Also werden wir die Einstellung der Position y und z beenden
und denken Sie daran, dass jede Achse einen eindeutigen Schlüssel dazu haben sollte. Wir werden eine Methode erstellen, um die Daten zu laden. Warum sage ich, wenn Sie eine Methode erstellen, um die Daten zu laden, erhalten
Sie den Float, erhalten ihn von der Position des Spielers und laden Sie sie in den Vektor 3. Und ich gebe Ihnen nur einen Hinweis darauf, wie Sie in Vektor 3 laden. Wenn du es nicht sehen willst, machst du es selbst. Pausieren Sie das Video jetzt und gehen Sie zur Herausforderung. Wenn nicht gesagt, die Transformation des Spielers gleich neuen Vektor 3, x, y, und z, oder das. Pausieren Sie das Video jetzt und gehen Sie den Shalon O K zurück. Also haben wir diese Zeile mit Control D dupliziert. Ich habe das bereits erklärt. Keine Sorge. Hotkeys können Zeit brauchen, um zu verstehen, warum. Und da gehst du. Also jetzt speichern wir die Position des Spielers bei x, y, und z haben jeweils einen eindeutigen Schlüssel, genau wie ich Ihnen hier sagte, jede Achse hat einen eindeutigen Schlüssel, x, y und z. Jetzt lassen Sie uns die Ladedaten erstellen. Also eine öffentliche Lücke laden Daten. Und hier drinnen werden wir auf den Spieler zugreifen. Die Punktposition der Player-Punktinstanz, Punktinstanz Punkttransformation Entschuldigung. Also zuerst greifen
wir auf die Transformationspunktposition zu und es wird gleich einem neuen Vektor 3 sein. Und wir öffnen die Klammern. Also hier drin müssen wir auf die Player-Prefs zugreifen und den Float bekommen. Und weil dies sehr lange Zeilen sein werden, werden
wir hier einen Enter
treffen, drücken Sie erneut die Enter,
und wir fangen an treffen, drücken Sie erneut die Enter, , alles hier hinzuzufügen. Also zuerst, zuerst, Spielerstatistiken, ich meine Spieler prefs, dot, get, float. Wir müssen ihm den richtigen Schlüssel zur Verfügung stellen. Was ist das? Was passiert ist, tut mir leid. Also müssen wir ein Komma hinzufügen, und hier müssen wir den Schlüssel hinzufügen. Und was ist der Schlüssel? Es ist die Spielerposition x wir fügen sie hier ein. Dann duplizieren wir diese Zeile erneut, duplizieren sie erneut
und stellen sicher, dass der Begriff ungültig wird. Wir müssen das letzte Komma entfernen. Also y, z, und das ist alles dazwischen. Zu tun. Also werden wir all das retten. Wir werden in die Aktualisierung gehen und einen Schlüssel zum Speichern und Laden erstellen, oder zwei Schlüssel, um all das Entladen zu speichern. So und das Update. Und hier werden wir voran gehen und überprüfen ob Eingabe und diese Eingabe wieder. Holen Sie den Schlüssel runter. Ich bin so aufgeregt, dass ich die richtigen Tasten drücken kann. Keycode wird also das I verwenden, weil wir das bereits gemacht haben. Und der Questmanager und du weißt was? Da wir es bereits tun und der Kostenmanager, lassen Sie mich einfach beide Zeilen kopieren. Stützen Sie sie hier drin. Und ich empfehle den wahren durchschnittlichen Code zum Kopieren und Einfügen nicht. Und wir werden die Daten laden. Laden Sie also die Datensicherheitsdaten mit R, wobei Sie all das in Unity speichern, das C nicht kompilieren muss. Wieder gehen wir rüber zu den Gewässern hier drin. Also gehen wir hin. Wir werden die I-Taste drücken. Daten wurden gespeichert, gehen Sie zurück, Datum, sterben rechts, Datum. Okay, jedenfalls wollen wir jetzt die Daten laden. Wir haben die O-Taste getroffen. Ja, da gehen wir. Wie cool ist das? Unser Spieler wird automatisch auf die andere Seite der Seite des,
des Kachel-Kartenraumes umgewandelt , wie auch immer Sie es nennen wollen, nur mit Schlüsseln. Ich hoffe, Sie genießen es, ich hoffe, Sie begehen alle Ihre Änderungen. Einige von Ihnen hätten sich das angeschaut. Oh, mein Gott, ich habe es vergessen. Ich habe nicht für sieben Videos hintereinander begangen, aber das ist ein guter Anfang. Also sehe ich dich im nächsten Video, in dem wir unsere Spielerstatistiken speichern werden.
82. Speicher- und Loading: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wenn wir unser Spiel laufen, beachten Sie zwei Dinge. Die Statistiken hier für alles und den Heiler hier oben, oder Sie können es in der Hierarchie verfolgen. Als wir die Eiche hatten, sind
wir nicht nur die an einen anderen Ort transportiert, aber wir haben auch die Statistiken, dass wir diese Silber Handlungen die Verteidigung begonnen haben, die aktuelle HP, die aktuelle XP hat sich geändert und der Heiler ist verschwunden. Sie ist nicht mehr aktiv. Vergeuden wir also keine Zeit mehr. Und lasst uns mit dem Speichern und Laden von Spielerstatistiken beginnen. Endspieler vielleicht. Oh, verkaufte Zeit, um ein paar Spieler-Prefs zu retten. Wie sollen wir das machen? Die erste Datenmenge, die wir speichern möchten? Natürlich wird alles retten wird gespeichert. Datenmethode ist die, ob der Spieler oder ein beliebiger Charakter mit den Spielerstatistiken tatsächlich aktiv ist und die Hierarchie. Also werden wir eine for-Schleife erstellen. Und ich gleich 0, ich gehe durch die Spielerstatistiken Punktlänge. Und wir werden es jedes
Mal um eins erhöhen und Spielerstatistiken sind hier drin. Also, da gehst du hin. Wir haben bereits eine Reihe von Spielerstatistiken zur Verfügung, so dass wir nicht wirklich darauf zugreifen müssen. In jedem Fall werden wir überprüfen, ob die Spielerstatistiken an Position i Punkt GameObject Punkt aktiv in der Hierarchie. Wenn ja, dann werden wir auf die Player-Prefs zugreifen. Wir werden die ganze Zahl einstellen. Und welche Art von Schlüssel brauchen wir, um ihm zu geben? Obwohl sie Spielerstatistiken haben, bedeutet
das, dass sie ein Spielerunterstrich sind, werden wir es mit dem Namen des Spielers verketten. Also, das wird,
tut mir leid, dass ich das hinzugefügt habe. Das wird die Spielerstatistik an Position I sein , dass der Name des Spielers. Da gehen wir. Also mit dem Namen des Spielers. Und wir werden schließlich hinzufügen, Unterstrich aktiv. Dies wird also den Spieler unterscheiden, indem zunächst der Spieler am Ende oder in der Mitte den Spielernamen
verwendet wird. Und schließlich setzen wir es so ein, ob es aktiv ist oder nicht. Also hier, wenn es in der Hierarchie aktiv ist, dann ist es eine Eins. Speichern Sie das. Und Sie wissen, was zu tun ist und hier. Wenn du willst, kannst du ohne mich weitermachen. Da gehen wir. Speichern Sie das. Ok, großartig. Jetzt sind die nächsten Dinge, die wir hier tun
wollen, gespeichert verschiedene Spieler Prefs, die wir haben. So wollen wir zum Beispiel speichern, sagen wir das Niveau. Also Spieler prefs Punkt gesetzt nth, weil Lovell's ganze Zahlen sind. Und wir werden weitermachen und den Spieler und den Namen benutzen. Fügen Sie es hier ein. Und dann verketten wir damit etwas anderes, das wir die Ebenen darstellen wollen. Also ist es Ebene und es wird
die Spielerstatistik an Position I Punkt links sein. Also Spielerebene. Großartig. Jetzt nochmal, duplizieren wir das. Es ist der Spieler mit Namen, und anstelle von Level haben wir die aktuelle XP. Also werden wir den aktuellen x Strahl speichern. Und lassen Sie mich, lassen Sie mich einfach diese kapitalisierte aktuelle XP machen. Und Sie wissen bereits, was die Spielerstatistiken sind. Wir werden sie alle retten. Also werde ich die Magie der Bearbeitung nutzen um uns zu dem Ort zu bringen, wo ich all diese Arbeit beendet habe. Also sehe ich dich in nur ein bisschen. Okay, Willkommen zurück. Ich hoffe, Sie haben diese Mini-Herausforderung gemacht. Wie Sie sehen können, habe ich alle ganzen Zahlen und auch die Strings festgelegt, die Sie vielleicht bis zu diesem Punkt gekommen sind und sich dieser Herausforderung stellen. So wie Sie sehen können, haben wir alles in Max,
HP Strom, HP Maxima aktuelle Art und Weise, Geschicklichkeitsverteidigung, Waffennamen, Rüstungsname und Waffenkraft, Rüstungsverteidigung. Und ich habe die Waffenkraft und die Rüstungsverteidigung gerettet. Sogar niedrig. Das sollte an der Waffe liegen, die wir ausgestattet haben. Aber weil du vielleicht irgendwann
einmal Power-Ups zu deiner Waffe hinzufügen willst oder vielleicht, ich weiß nicht, sie
irgendwo schmieden, die Waffenkraft
erhöhen, die Waffenverteidigung. Dann können Sie auch hier sparen. Ok, großartig. Jetzt ist es an der Zeit, all diese Daten zu laden. Und wieder, wir werden eine lange Liste haben. Also, was ich tun werde, ist, dass ich nur
die ersten paar Zeilen machen werde und dann gebe ich Ihnen die Möglichkeit, für sich selbst fertig zu werden. Also zuerst müssen wir eine Schleife erstellen. Also werden wir das hier nehmen, es aus dem Safe
stehlen, es in die Ladedaten
einfügen. Und lasst uns anfangen. Sehen Sie, was wir hier tun müssen. Okay, also überprüfen wir, ob der Spieler Get Int
prefs
und wir verwenden, und lasst uns den Schlüssel hier kopieren. Und wir fügen es hier ein. Also bekommen wir die ganze Zahl. Wenn es gleich 0 ist, bedeutet
das, dass der Spieler nicht aktiv ist. Also Spielerstatistiken an Position I, dachte Spielobjekt Punkt aktiv auf false gesetzt. Sonst. Wir setzen es auf wahr. Okay, jetzt können wir
den Spieler ein- und ausschalten , wenn er ein- und ausgeschaltet war, als wir das Spiel gerettet haben. Jetzt ist es Zeit, die Spielerstatistiken zu laden. Also die Art, wie wir dies tun werden, ist, dass wir zu den Spieler-Statistiken gehen, wird auf die Position bei i Dot Player zugreifen. Sagen wir, da gehen wir. Also können wir vor allem vielleicht den Namen senken. Also Name gleich Spieler prefs. Also Spieler Refs. Und wir werden eine Schnur bekommen, die wir den Spieler retten. Auch haben wir den Namen nicht gespeichert, so Ebene Punkt, erhalten. Tut mir leid. Und ich dachte daran, dass es mich darum brauchte. Ich dachte, was, was brauchten wir eigentlich? Wir speichern den Namen. Warum haben wir den Namen gespeichert? Vielleicht könnten wir den Namen speichern. Warum nicht? Nicht? Eine sehr schlechte Idee. Wir werden den Schlüssel hier einfügen, und das ist alles, was wir tun müssen. Also werde ich wieder die Macht des Editierens nutzen, aber bevor ich es tue, werde
ich dir diesen raffinierten Trick beibringen. Also kopieren wir das alles und fügen es hier ein. Und im Grunde, alles, was wir tun müssen, ist, dass wir das bekommen müssen, verschieben Sie es nach rechts bei einem
Gleichheitszeichen oder Zeichen und entfernen Sie diese und dann bekommen ein int. Ich bin mir nicht sicher, ob das schneller ist. Ich denke, es geht schneller. Ich sehe Sie in nur ein bisschen o k also hoffe ich, Sie dauert nicht zu lange. Es hat mich gekostet, ich weiß es nicht. Vielleicht 30 Sekunden, eine Minute, zwei Minuten, und trotzdem ausgereift, lassen Sie uns das alles retten und lassen Sie uns das alles in Unity testen. Also gehen wir zurück in unser Spiel, und jetzt gehen wir weiter und führen unser Spiel. Lassen Sie uns unseren Spieler irgendwo bewegen. Wir werden ihm ein bisschen Erfahrung geben. Also 68, aktuelle XP, aktueller Monat, 33, Ich bin in aktuellen HP 33, aktuelle 10, 22, Geschicklichkeit, sagen wir, es ist 45, Verteidigung 88. Ich möchte mich an diese Zahlen erinnern, aber ich hoffe, dass Sie es werden. Und wir werden ein paar Waffen ausrüsten. Also geh zu Items, benutze für Jimmy, benutze für Sarah die goldene Axt. Und wenn die Waffe funktioniert, bin
ich sicher, dass der Bauer arbeitet. Und mal sehen. So wie Sie die ausgerüstete Waffe auf dem Spieler für den Heiler sehen können, mal sehen, was wir tun werden. Und für die Heilerin werde ich sie ausschalten. Also werde ich den Heiler in der Hierarchie entfernen. Also testen wir, ob wir sparen oder nicht. Und schließlich schlagen wir die Icky. Also vergewissern Sie sich, diese Zahlen zu merken, damit wir nicht billig sind. Ich denke, wir haben alles Setup für den Spieler. Diese Zahlen sind also diejenigen, die wir wollen. Nummer wird erneut I drücken, um die Daten zu speichern. Wir gehen zurück. Wir führen das Spiel. Wenn wir jetzt laden, können
wir sehen, dass wir keinen ausgerüsteten Waffen- oder Waffennamen haben, weder auf dem Spieler noch auf den Heilern. Also, wenn wir die O-Taste schlagen, da gehen wir, Wir werden die ausgerüstete Waffe transportiert, wie das Silber wirkt mit einer Waffenkraft mit 68 aktuellen XP mit allem eingerichtet und der Heiler ist verschwunden, aber sie hat immer noch die Doppelaxt. Wie Sie sehen können, speichern
wir die Player-Prefs. Dennoch gibt es ein kleines Problem. Wenn Sie bemerkt haben, dass die ausgerüstete Waffe, wo ist es? Wir können sie nicht finden. Also, wie werden wir Elemente speichern, während Elemente vom Typ sind, Items Manager, sie sind Listen. Wie sollen wir sie retten? Nun, im nächsten Video werden
wir eine sehr clevere Art finden, das zu tun. Also übertrage deine Änderungen, und ich sehe dich im nächsten Video.
83. Artikellisten mit Assets speichern: Whoa, whoa, whoa, whoa, whoa. Ich weiß, das ist ein langes Video, aber wenn Sie begrenzte Ressourcen haben, müssen
Sie etwas sehr Schlaues zu schaffen, um zu sang, umgangen. Also, wenn wir unser Spiel ausführen, werden
Sie sehen, dass wir, wenn wir die M Taste drücken, zu den Gegenständen gehen. Wir haben nichts. Wenn ich die Speisekarte zurückschließe, hatte
ich die Eiche. Das heißt, ich lade die Daten. Sie können sehen, dass wir keines unserer Artikel abgeholt haben. Aber wenn wir zum Menüpunkt gehen, können
Sie sehen, dass wir viele Gegenstände haben, die wir auf Jimmy,
auf Sarah und so weiter verwenden können . Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, jetzt ist es an der Zeit, unser Inventar zu speichern. Mit Inventar meinen wir, dass wir unsere Artikel speichern müssen. Und wie werden wir unsere Gegenstände retten? Nun, wir haben nur die Player-Prefs für die ganze Zahl, die Zeichenfolge und den Float. Wie werden wir Dinge speichern,
die komplexe Objekte sind, die viele Eigenschaften haben und sagen wir verschiedene Arten von Variablen in ihnen, die wir speichern müssen. Was wir tun werden. Wir werden hier sehr klug sein. Wir erstellen das Asset-Skript eines Elements. Und diese Gegenstände als Skript werden auf dem Game Manager platziert und es wird alle möglichen Gegenstände enthalten, die wir möglicherweise eine Stunde Spiel haben. Dann erstellen wir eine Methode, die mit einer Zeichenfolge diese Elemente Assets durchläuft, den Artikel
abruft und ihn dann dem Inventar hinzufügt, wenn wir laden. Verstehe nichts, ich auch nicht. Lasst uns anfangen und sehen, was wir dagegen tun können. Also zuerst, erstellen Sie das Asset eines Elements. Also gehen wir in die Skripte gehen, gehen in die, wo sollten wir es in
der Manager-Ebene Management Elemente Manager setzen . Das hat es hier reingesteckt. Sicher, warum nicht? Klicken Sie mit der rechten Maustaste auf das Erstellen eines Artikel. Assets, drücken Sie die Eingabetaste, warten Sie, bis es kompiliert, und sie wurden nun dem Spiele-Manager hinzugefügt. Und lasst uns weitermachen. Wenden Sie nur das Asset-Element an, damit wir die Änderungen auf das Prefab anwenden können, nur die, die wir wollen. Wir wollen den Quest-Manager auch nicht anwenden, wissen
Sie, wir können all das anwenden, aber in der anderen, Manager, auf den anderen Spiele-Manager werden die gleichen Kosten haben. Vielleicht wollen wir das nicht. Aber trotzdem, konzentrieren wir uns auf die Aufgabenversuche. Wir öffnen den Vermögensverwalter. Zuallererst werden wir dies zu einem
Singleton-Muster machen , weil wir nicht wollen, dass es irgendwo repliziert wird. Also öffentliche statische Elemente, Asset, Instanz, und dann starten, wenn die Instanz anders als null ist, und die Instanz ist anders als diese, dann werden wir dieses Objekt zu zerstören. Und dann werden wir einfach die Instanz gleich setzen. Okay, das wird sicherstellen, dass wir nur einen Artikel haben, Acid, wir haben nicht viele davon. Zweitens brauchen wir die Gegenstände. Also werden wir ein serialisiertes Feld vom Typ Items Manager erstellen. Es wird ein Array sein, weil wir mehrere Elemente haben und es wird die verfügbaren Elemente genannt werden. Labile. Speichern Sie das. Und wir werden die Methode erstellen wird das Update zu entfernen, ich bin sicher, wird es nicht verwenden, wie wir jedes Mal sagen, und dann verwenden wir es. Wir werden eine Methode erstellen, die den Item-Manager oder das Python -Skript zurückgibt. Und es wird „get item asset“ genannt werden. Und es wird eine Zeichenfolge aufnehmen, die das Element sein wird, um Namen zu erhalten. Es wird also der Gegenstand sein, den wir mit seinem Namen bekommen wollen. Und wir werden für jeden verwenden. Also werden wir uns durch alle verfügbaren Artikel schleifen. So Artikel und Artikel verfügbar. Und wenn wir einen Artikel fangen, ist der
Artikelname gleich dem zu erhaltenden Element, dann werden wir den Artikel zurückgeben. Und wenn wir diese ganze Schleife beenden und den Gegenstand nicht finden, müssen wir,
wie Sie wissen, eine Rückkehr haben. Es wird null zurückgeben. Speichern Sie das. Also weiß ich, dass ich das sehr schnell durchgemacht habe, aber das sind sehr grundlegende Dinge. Also werden wir das retten. Wir gehen zurück in Unity. Wir werden die verfügbaren Gegenstände öffnen und gehen in die Prefabs-Artikel. Gehen Sie zum Manager. Lassen Sie uns dies sperren, wählen Sie alle diese aus, ziehen Sie sie in die Elemente und nicht in die Liste der verfügbaren Elemente. Und da gehst du. Wir retten das alles. Wir können sogar die Änderungen anwenden und jetzt haben wir alle Elemente, Assets zur Verfügung. Das nächste ist, um tatsächlich unsere Gegenstände und den Spielmanager Punkt speichern Daten. Es wird also Teil deiner Herausforderung sein. Und wir werden unsere Artikel speichern und ich werde Ihnen den Schritt-für-Schritt-Prozess geben. Sie müssen also die Anzahl unserer Artikelliste mit dem gesetzten Ende festlegen. Sie müssen alle Elemente durchlaufen und den Elementnamen und die richtige Reihenfolge festlegen. Mit der richtigen Reihenfolge, ich meine, wir werden durch vier Schleifen gehen. Wir werden die Zeichenfolge setzen und der Schlüssel muss durch die Position I dargestellt werden. Also bei jedem Element. Und lassen Sie mich es einfach besser erklären. Wir werden jedes Element haben, weil wir bereits das Element und den Namen haben, um es einzigartig zu machen, müssen
Sie es setzen oder dargestellt mit der Position, wie wir durch die for-Schleife gehen. Und schließlich müssen Sie auch den Betrag des Artikels speichern, den wir haben. Sie müssen nicht überprüfen, ob es stapelbar ist, stellen Sie sicher, dass der Betrag größer als eins ist, und legen Sie die ganze Zahl fest. Also habe ich dir alles gegeben, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay. Also, wie bist du mit dieser sehr, sehr harten Herausforderung hier, wir gehen voran und rufen die Spieler Prefs. Und weil hier bereits eine Menge Codierung haben, werden
wir alle Schimpfen wählen. Ja, alles, alles, alles. Wir werden enden, bis auf die Position, die wir mit der rechten Maustaste gehen. Wir werden auf die schnellen Aktionen und Refactoring klicken, und wir werden diese Methode extrahieren. Also gehen wir hin. Nun, das wird seine Spielerstatistiken genannt werden, um das zu speichern. So, wie Sie jetzt sehen können, haben wir nur eine Zeile, um alle Spielerstatistiken zu speichern. Wir können das minimieren. Wir können das sogar für die Position tun. Also klicken Sie mit der rechten Maustaste auf schnelle Aktionen und Refactoring, Extrahieren Methode, Speichern, Spielerposition, Geben Sie ein. Und dann, wie Sie sehen können, haben
wir eine sehr saubere Methode und wir werden eine
Menge dieser schnellen Aktion und Refactoring von Methoden später durchführen, wie Sie sehen werden, können Sie dies leicht im Menü-Manager tun. Also empfehle ich, dass Sie gehen über vor allem den Spieler. Wie Sie sehen können, macht der Player und das Update eine Menge Dinge. Dies ist also der perfekte Ort, um Sie in Methoden umzustellen. Also haben wir ein klares Update. Ich mag es nie so auf dem Laufenden zu halten. Ich möchte immer umgestalten. Und wann immer Sie viel Code haben, wie gespeicherte Daten, was macht es? Sie müssen den ganzen Code durchschauen. Jetzt können wir deutlich gespeicherte Daten sehen, speichert die Spielerposition, speichert die Spielerstatistiken. Ausgezeichnet. Zurück zur Aufgabe. Wir gehen in die Player-Prefs. Wir werden das Ende setzen. Wir werden die Anzahl der Liste speichern. Es wird also der Zahlenunterstrich, Unterstriche Elemente sein. Dies ist der Schlüssel und der Wert wird das Inventar sein. Punktinstanz, Punkt erhalten Element, Punkt erhalten Elemente, Liste, Punktzahl. Speichern Sie das. Als nächstes werden wir die for-Schleife erstellen. Und es wird im Inventar Door Instance Dot Cutlass, Punktanzahl sein. Und wir werden jedes Mal einen hinzufügen. Und hier drin werden wir zuerst das Element und zu einer Variablen bekommen. So ist der Artikel vom Typ Item Manager, der Artikel im Inventar. Und es wird gleich der Inventar-Punkt-Instanz sein, dot get list an Position. Nun, da wir einen Verweis darauf haben, das nächste, was zu tun ist, die Player-Prefs der Zeichenfolge mit zu setzen, sagen wir, wir werden es Elemente oder Element Unterstrich nennen. Und wir werden mit der Position verketten. Jetzt ist es einzigartig. Und schließlich fügen wir einen Unterstrich hinzu und stellen sicher, dass wir wissen, dass es der Punkt 1, 200 ist, egal welcher Name. Und der Wert wird der Artikel im Inventar sein. Name des Artikels. Da gehen wir. Also, jetzt haben wir den Artikelnamen. Und dann werden wir überprüfen, weil wir den Betrag bekommen müssen. Wir werden überprüfen, ob der Artikel im Inventar, der stapelbar ist. Wenn es so ist, whoops, sorry, wenn es so ist, dann werden wir es mit dem Player prefs dot set
und unterstrich verkettet mit einem Ispeichern und unterstrich verkettet mit einem I und ich hoffe, ich bin nicht zu schnell bewegen. Bewege ich mich zu schnell? Wenn ich es bin, bitte halten Sie mich auf. Offensichtlich kannst du das nicht. Aber wenn Sie möchten, können Sie sich
immer auf den Abschnitt Fragen und Antworten unter den Videos beziehen. Also, was sparen wir? Ich habe alle Grafen vergessen. Also der Artikel der Artikel im Inventar, der Betrag, den ich sage, zählen, IWF, Betrag, Raster. Also, jetzt sparen
wir, wir überprüfen zuerst nach der Zählung. Wir speichern die Anzahl der Artikel, die wir haben. Wir durchlaufen alle Artikel im Inventar. Wir speichern den Artikel an jeder Position und zu dem variablen Artikel im Inventar, wir speichern diesen Namen dieses Artikels mit set string mit einem eindeutigen Schlüssel und hier, der durch Artikelname dargestellt wird und ich, wieder, warum speichern wir den Namen ? Da die Elemente Assets, haben
wir eine Methode erstellt, die ein Element Asset mit dem Namen abruft. So wird dies später verwendet, wenn wir laden. Und schließlich, wo sind wir? Okay, also, und schließlich überprüfen wir, ob es stapelbar ist und wir sparen den Betrag, den wir haben, um ihn auch zu laden. Nun ist der nächste offensichtliche Schritt, diese Daten auch zu laden. Also lass uns das etwas sauberer machen. Also werden wir diese Extraktionsmethode umgestalten und es wird
als Loading Player-Position bezeichnet werden . Diese alle laden die Spielerstatistiken. So Extrahieren Methode. Und jetzt fangen wir an, lassen Sie mich einfach Minima, okay? Und jetzt können Sie deutlich sehen, was wir in Ladedaten tun? Wir laden die Spielerposition und laden Spielerstatistiken. Es ist sehr sauber. Es ist sehr nett. Lasst uns unsere Artikel laden. Wie sollen wir das machen? Wir werden zuerst eine Looping erstellen. Eine Schleife. Wenn Sie möchten, können Sie das Video jetzt pausieren und versuchen, die Elemente selbst zu laden. Ich empfehle es. Es ist sehr wichtig, dass du das selbst ausprobierst. Also pausieren Sie das Video jetzt, gehen Sie zu der Herausforderung Spieler prefs dot GetInt. Und Sie können das an jedem beliebigen Punkt beginnen. Also lassen Sie mich einfach die Anzahl der Artikel bekommen. Das ist sehr wichtig, dass du dich nicht vermasselst. Der Schlüssel. Fügen Sie es hier ein, Punktanzahl. Und ich tat es nicht einmal, Entschuldigung dafür. Wir müssen sicherstellen, dass ich weniger bin als das, und wir erhöhen es. Ich plus, plus. Ok, großartig. Jetzt werden wir eine Variable erstellen, die der Elementname sein wird, und es wird gleich den Player-Prefs, der get string, sein. Und wir werden Element Unterstrich verwenden, kopieren Sie das, fügen Sie es hier ein, und da gehen wir. Speichern Sie das. Jetzt, da wir den Namen des Elements haben, werden
wir das Element erstellen. Der Item-Manager wird also das Element sein, das hinzugefügt werden soll. Es wird gleich den Elementen Assets Punkt-Instanz sein, Punkt erhalten Element Asset mit dem Elementnamen. Speichern Sie das. Außerdem erstellen wir eine Variable für den Artikelbetrag und setzen sie auf 0. 0. Toll, was machen wir hier drin? Wir laden die Spieler prefs, get int, die Anzahl der Elemente. Wir verwenden es, um durch die foreach Schleife. Und an jeder Stelle bekommen wir vor
allem den Namen. Nach dem Erhalten des Namens, wir bekommen das Asset und dann bekommen wir den Betrag, und dann überprüfen wir den Spieler prefs Punkt hat einen Schlüssel, der V Betrag ist und dies sollte Betrag nicht Name gewesen sein. Tut mir leid. Wir kopieren den Ski hier rein und fügen ihn hier ein. Wenn dies der Fall ist, dann ist der Gegenstandsbetrag gleich dem Spieler Prefs. Das ist genau das Gleiche, außer Husky. Wir bekommen die Int. Und wir haben uns geschlossen, das zu retten. Okay, jetzt bekommen wir auch die Menge an mir, trennen diese und sagten das. Und schließlich müssen wir diese Gegenstände dem Inventar hinzufügen. Also Inventar, zum Beispiel, dachte an Gegenstände. Und wir fügen das Element hinzu, das hinzugefügt werden soll. Und nicht nur das, wir müssen auch überprüfen, ob der Artikel als
stapelbar hinzuzufügen und wo es ist und der Artikelbetrag größer als eins ist, dann werden wir den Artikel bekommen, um
Dollarbetrag hinzuzufügen und es wird gleich dem Artikelbetrag sein. Speichern Sie das. Also, was sind die letzten Schritte, nachdem wir den Artikelbetrag erstellt haben, wir überprüft, ob es tatsächlich einen Betrag hat, indem wir den Schlüssel überprüfen. Wenn dies der Fall ist, dann werden wir den Artikelbetrag auf
den Artikelbetrag setzen und wir gehen in den Lagerbestand zu gehen, wird den Artikel hinzufügen. Wir werden prüfen, ob es stapelbar ist. Wenn ja, dann prüfen wir, ob es einen Betrag größer als eins hat. Wenn dies der Fall ist, ist der Punktbetrag des Artikels gleich dem Artikelbetrag. Also lassen Sie uns das speichern und sehen, ob irgendetwas davon funktioniert und unser Gewinn, etwas stimmt nicht. Und es sagt mir, dass ich vermisst habe. Was habe ich verpasst? Was das ist, ist der Spar-Spieler. Hoppla, was ist das? Sollte es idealerweise, sollte ich es nicht löschen? Lassen Sie uns es löschen und sehen, was passiert. Ich bin mir nicht sicher, was das war. Hoffentlich. Nein, das glaube ich nicht. Lass mich nochmal nachsehen. Also haben wir keinen Kuchen. Denk Nein, es ist nichts falsch. Hoffentlich, wenn es so ist, dann werden wir es wissen, speichern Sie das. Geh zurück in die Einheit. Nichts ist mehr falsch. Führen Sie unser Spiel, schlagen Sie die, wo ist es? Mal sehen, welche Gegenstände wir haben. Also Artikel derzeit haben wir nichts. Also, wenn wir diese Gegenstände abholen, da gehen wir. Wir haben diese Gegenstände abgeholt. Artikel. Los geht's. Das sind unsere Gegenstände, die wir treffen, ich, so wurde gerettet. Ausgezeichnet. Wir hören auf, das Spiel zu führen. Wir werden das Spiel wieder laufen. Wir prüfen nach den Artikeln. Wir haben nichts. Wir verlassen, wir drücken die O-Taste. Da gehen wir. So können wir jetzt sehen, dass die Daten geladen wurden. Wir haben keine Gegenstände abgeholt, oder? Alle Artikel sind hier. Ich bin Gegenstände. Wie cool ist das? Auch wenn wir Artikel nicht mit Player-Prefs speichern können, haben
wir eine sehr,
sehr intelligente Art und Weise geschaffen , um das zu umgehen und unsere Gegenstände tatsächlich mit den gefragten Gegenständen zu speichern. Wie cool ist das? Ich bin so froh, dass das funktioniert hat. Es ist eine erstaunliche Möglichkeit, verschiedene Arten von Daten mit minimalem zu speichern. Und auch wenn Sie vielleicht denken, dass Player-Prefs sehr einfach und begrenzt sind, aber wie Sie gesehen haben, können wir es für eine Menge Dinge verwenden. Ich hoffe, Sie haben dieses Video genossen. Ich hoffe, Sie genießen den Kurs. Ich hoffe, Sie hätten gern einen Lehrer. Wenn Sie den Bohrer kennen, lesen Sie bitte den Kurs. Es könnte mir viel bedeuten. Es würde mir viel mit Procreate helfen, mit dem Kurs
durcheinander zu bringen. Die Leute werden sehen, dass es ein guter Kurs ist. Es wird da reingehen. Es wird von dem profitieren, was ich lehre, und das wird mir sehr helfen. Vielen Dank. Wir sehen uns im nächsten Video. Vergessen Sie nicht, Ihre Änderungen zu übernehmen.
84. Teil 12: Audio in Einheit: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video vertiefen wir uns mit Audio. Was, wie füge ich eine Audioquelle hinzu? Was ist ein Audio-Listener? Die vielen, vielen Hintergrundmusik und Soundeffekte, die wir hinzugefügt haben. Wenn wir nun unser Spiel laufen, weiß
ich, dass Sie nichts hören können, aber wenn wir die F-Taste drücken, gehen wir, damit wir den Klang der verwerfenden Tasten hören können. Und während Sie bis zum Ende gehen, stellen Sie sicher, dass Sie alles unter Musik ignorieren, weil es zu viele Informationen sind, die wir wirklich nicht brauchen, um die Änderungen zu übernehmen. Also, ich meine, wir können es ignorieren, aber bis du da bist, verschwenden
wir keine Zeit mehr und fangen wir an. Oh, okay, willkommen zurück. Also, jetzt wollen wir ein bisschen Geschmack zu unserem Spiel hinzufügen, und wir tun das, indem wir Audio hinzufügen. Audio ist also ein sehr zentraler Teil, wenn es um Spiele und vor allem RPGs geht. Also, wie werden wir Musik hinzufügen? Zunächst einmal müssen wir verstehen, was alle Ihre Bedürfnisse, um verfügbar zu sein. Es braucht eine Quelle. Sie brauchen also eine Art Vogel, zum Beispiel eine Quelle. Und dann brauchst du einen Zuhörer
, der manchmal du bist. Also, wo alle Zuhörer und die Quellen. Lassen Sie uns zunächst über den Zuhörer sprechen. Der Zuhörer ist also auf der Hauptkamera. Sie haben vielleicht bemerkt, dass Sie beim Graben durch die Kamerakomponenten usw.
feststellen werden, dass wir einen Audio-Hörer haben. Und wenn wir von 2D ausgehen, habe
ich auf den Button hier drin gesammelt, werden
Sie sehen, dass wir den Audio-Hörer genau hier auf der Kamera haben. Verkleinern. Wir können die Kamera aber größer machen. Leider können wir das Ausmaß des Zuhörers sehen, aber der Hörer ist auf der Kamera und es ist wo wir jede Art von Ton oder Musik hören, die erscheint, nebenbei bemerkt, vielleicht haben Sie es nicht bemerkt, aber es ist sehr cool , um unser 2D-Spiel aus dieser Perspektive und der Art und Weise zu betrachten. Jetzt ist es Zeit, darüber nachzudenken, wie wir 0, 2 hinzufügen werden. Also habe ich dir hier ein paar Songs zur Verfügung gestellt. Sie werden sehen, dass ich Ihnen eine Datei für die Musik und eine Datei für die Soundeffekte zur Verfügung gestellt habe. Also werden wir einen neuen Ordner in den Assets erstellen. Und es wird das Audio genannt werden. Lassen Sie uns hier doppelklicken und ziehen Sie die Musik und Soundeffekte und hier. Wie Sie wissen, können Sie Ihre eigenen Soundeffekte und Musik aus offener Spielkunst hinzufügen. Alles, was ich hier benutze, ist von dort. Also empfehle ich Ihnen, sich die Zeit
zu nehmen, nach Musik zu suchen, einige Soundeffekte, fügen Sie Ihre eigenen, wie Sie Ihr Spiel fühlen wollen, um zu klingen. Welche Art von Objekten, mit denen Sie interagieren möchten, erzeugen einen Ton. Vielleicht willst du ein pumpendes Geräusch machen. Jedes Mal, wenn dein Spieler mit etwas kollidiert, ist
es deine Wahl, geh dran. So können wir hier sehen, dass wir mehrere Musik für den Pfad, das Dunkle haben. Einige von ihnen werden für die Boss-Kämpfe um das Stadtthema sein. Und wir haben auch Soundeffekte hier drin. So haben wir zum Beispiel den Ablagesteil, das Feuerfakt-Monster, und vielleicht werden wir später einige hinzufügen, wenn wir durch den Kurs gehen. Aber jetzt fügen wir eine Audioquelle hinzu. Wie fügen wir das hinzu? Nun, wir können zum Beispiel einfach
das Talent-Thema in die Hierarchie ziehen . Und Sie können hier feststellen, dass das Zählen jetzt als Komponente oder hat eine Komponente, die die Audioquelle ist, wo wir die Lautstärke, die Tonhöhe,
die 3D-Soundeinstellungen ändern können , obwohl wir in einem 2D-Spiel sind, wird es nicht verwenden. Und wir haben hier auch Optionen, um durch Pass-Effekt stummzuschalten, Zuhörer-Effekte zu
umgehen, so weiter und so weiter. Und einer von ihnen ist eingeschaltet. Und die beiden wichtigsten sind die Loop, in der
wir, wenn der Song endet, wieder schleifen und es beginnt wieder. Oder wir spielen auf wach, der den Sound abspielt, sobald die Szene geladen wird. Also, wenn wir jetzt unser Spiel laufen, ich hoffe, Sie können durch das Mikrofon hören, aber es kommt Ton aus dem Spiel und wir können die Lautstärke anpassen und schalten Sie es aus. Wenn wir nun das Spiel wach ausschalten, führen
wir das Spiel. Da gehst du. Es gibt kein Geräusch, das gehört werden muss. Jetzt. Alles funktioniert. Du könntest sagen, okay, gut, in der Stadt fügen wir das Stadtthema hinzu. Sehr gut, aber es gibt ein leichtes Problem. Wie halten wir es auf? Gehen wir jedes Mal in die Szene? Ok. Wie funktioniert ein Spieler, der unser Spiel spielt, der keinen Zugriff auf die Objekte in der Hierarchie hat? Nun, in diesem Fall brauchen wir einen alten, Ihren Manager. Also lasst uns das Stadtthema hier löschen. Entfernen Sie es. Und wir werden in unsere Skripte gehen. Wir werden erstellen, oder wir können tatsächlich erstellen, und die Manager werden ein neues C-Sharp-Skript erstellen, das wird der Audio-Manager sein. Drücken Sie Enter wird auch ein leeres Spielobjekt und die Hierarchie erstellen, die der Audio-Manager sein wird. Und wir können es durch den Raum trennen. Wir können die Position auf 00 zurücksetzen. Das musst du nicht tun. mache ich gerne. Und wir werden den Audio-Manager und zum Audio-Manager ziehen. Hier werden auch zwei leere Spielobjekte erstellen, die die Musik und die Soundeffekte
oder die Effekte kurz sein werden . Und dann gehen wir in den Audio-Ordner. Wir ziehen alle diese bis auf die Links. Die Art, wie ich sie alle wählte. Ich klickte auf die erste, gedrückte Umschalttaste, klickte auf den letzten, und um den Link zu entfernen, halten Sie die Strg-Taste gedrückt, klicken Sie auf diesen. Das ist alles, was Sie tun müssen. Ziehen Sie sie in die Hierarchie. Dies erstellt eine Audioquelle für jede Musik, Musik, was
auch immer Sie sie nennen wollen und stellen Sie sicher, dass Sie
das Spiel auf wach ausschalten , es sei denn, Sie möchten, dass Ihre Ohrtrommeln platzen. Also ziehen wir sie in die Musik und wir tun dasselbe für die Soundeffekte. Ich bin mir nicht sicher, was dieser Desktop ist. Nun, ziehen Sie sie und hier schalten wir das Spiel auf wach aus und wir ziehen sie als Kinder des Soundeffekts. Also jetzt werden wir das speichern, wenn wir unser Spiel laufen. Da gehen wir. Wir hören nichts, es sei denn, wir schalten einen von ihnen ein, aber wir wollen nicht, dass es alleine passiert. Wir wollen es durch unser Drehbuch geschehen lassen. Also lassen Sie uns voran und öffnen Sie das Skript und beginnen zu codieren, wie k. also was brauchen wir? Und hier brauchen
wir zunächst einen Verweis auf alle. Also erstellen wir zwei serialisierte Felder, erstellen ein Audioquellen-Array, um
all unsere Musik oder die Artefakte und alle unsere Musik zu halten . All dies werden also Audioquellen sein und ich werde es
als zusätzliche Referenz nennen , die Hintergrundmusik. Auf diese Weise werden wir wissen, dass es nicht nur Musik ist, sondern die Hintergrundmusik. Als nächstes erstellen wir eine Instanz dieses Objekts. Also gehen wir in öffentliche, statische oder Ihren Manager oder Ihre Manager-Instanz. Und diese Instanz wird gleich sein. Speichern Sie das. Und wir wollen dieses Objekt auf Last nicht zerstören. Später müssen wir möglicherweise sicherstellen, dass es sich um ein Singleton-Muster
handelt, da wir keine Duplikate wünschen, nicht viele Sounds gleichzeitig haben. Konzentrieren wir uns vorerst auf Erstellen. Und jetzt werden wir eine Methode erstellen, die einen bestimmten Soundeffekt
abspielen wird , basierend auf einem Parameter, den wir senden , der eine ganze Zahl sein wird. Bevor wir das tun, gehen wir hier rein. Im Audio-Manager sollten
wir zwei Listen haben. Also werden wir zuerst ziehen, Lockdown. Der Audio-Manager zieht die Musik und die Hintergrundmusik. Und wir ziehen die Soundeffekte und auf die Soundeffekte. werden wir retten. Und ich werde Ihnen eine Herausforderung stellen. Also war ich so eifrig, dass alle von ihnen jetzt sammeln, erstellen Sie eine Methode, die ein ganzzahliges Argument, um welchen Song es spielen sollte. Verwenden Sie dieses Argument, um den Soundeffekt wiederzugeben. Natürlich Zugriff auf das Array mit dem Parameter, auf den wir zugegriffen haben. Und stellen Sie sicher, dass die Eingabe nie außerhalb der Grenzen des Soundeffekt-Arrays liegt. Nehmen wir an, wir haben derzeit neun. Also gehen wir hin. Wir haben neun Möglichkeiten. Also wollen wir keine Eingabe von, sagen
wir, 100 und es ist nicht verfügbar und Soundeffekte. Dies wird also eine Lösung oder ein Problem sein, für das sie eine Lösung finden muss. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Wie hast du das alles bekommen? Ich weiß, dass ich dir noch nicht beigebracht habe, wie man Songs spielt ,
aber an diesem Punkt im Kurs denke
ich, dass du schon die Fähigkeit hast, selbst ein Problemlöser zu werden. Ich hoffe, du fühlst dich nicht betrogen. Ich habe dich gerade verlassen. Also werden wir eine öffentliche Leere erstellen, spielen als Effekte. Und es wird in einem Integer-Parameter nehmen, so dass der Ton zu spielen. Und weil wir nicht wollen, dass es außerhalb der Grenzen liegt, werden
wir überprüfen, ob der Ton abzuspielen kleiner ist als die ASA-Fakten Punktlänge. Dann werden wir hier auf
das Suffix-Array an der Position Sound zugreifen , um dieses Spiel zu spielen. Es ist also ziemlich einfach. Ich glaube nicht, dass viele von Ihnen gestolpert wären, wenn Sie sich nicht sicher wären, wie Sie einen Sound abspielen sollen, Sie hätten in die Unity-Dokumentation gehen können, was ich hoffe, Sie taten. Ich hoffe, du hast nicht nur auf den Bildschirm gestarrt, wir denken, dass ich alles mache. Also, wenn das erledigt ist, werden
wir das retten. Wir brauchen auch ein Update, um dies zu testen. Also werden wir überprüfen, ob wir einen Eingabepunkt bekommen, Schlüssel runter
bekommen, der den Schlüssel runter bekommt. Keycode, was sollten wir verwenden? Ich glaube, das F wurde für nichts benutzt. Oder vielleicht das P trotzdem, lassen Sie es bei F. behalten und wir werden den Soundeffekt an Position abspielen. Mal sehen, welche Position wir spielen wollen. Also ab 0, wenn wir drei Artikel verwerfen wollen, sicher, lassen Sie uns ein Element verwerfen, speichern Sie das, gehen Sie zurück in Unity. Führen Sie unser Spiel aus, drücken Sie die F-Taste. Lassen Sie mich den Klang erhöhen. Vielleicht kannst du das hören. Wie Sie sehen können, ist dies das Unkraut verwerfen Ton, aber zumindest haben wir Hinweise darauf, was passiert. Ich hoffe, Sie haben dieses Video genossen. Ich empfehle, dass, bevor Sie zum nächsten gehen, Das ist unser Test alles. Versuchen Sie, Musik auf wach zu spielen, versuchen Sie, die Musik auszuschalten und zu wach. Im nächsten Video werden
wir tiefer darüber eingehen, wie wir die Musik abspielen
und stoppen und verschiedene in verschiedenen Szenen verwenden können . Also sehe ich dich dann.
85. Musik spielen: Oh, hey, willkommen zurück, meine Mitspielentwickler in diesem Video, wenn wir unser Spiel laufen, wenn wir die F-Taste drücken, dort gehst du. Sie können die Musik im Hintergrund abspielen hören. In diesem Video lernen
wir, wie man Musik abspielt und was noch wichtiger ist, wie wir vermeiden können, dass mehrere Songs sich gegenseitig stören. Also lasst uns keine Zeit mehr verschwenden, und lasst uns anfangen. Okay, jetzt können wir Soundeffekte abspielen. Es ist Zeit, Hintergrundmusik abzuspielen. Also öffnen wir unser Drehbuch hier drin. Wir scrollen nach unten und wir werden eine Methode erstellen, um die Hintergrundmusik abzuspielen. Also leise, spielen Hintergrundmusik. Und es wird auch in einen Parameter nehmen, der die Musik zu spielen ist. Was ist das? Okay, was machen wir hier drin? Nun, wie wir es im Soundeffekt getan
haben, werden wir überprüfen, ob die Musik abzuspielen kleiner ist als die Hintergrundmusik Punktlänge. Und wir werden einfach auf
die Hintergrundmusik an der Position zugreifen Musik zu spielen, zu übernehmen spielen. Okay, also denkst du vielleicht, nun, großartig, lasst uns das in unserem Spiel testen. Aber du musst etwas realisieren. Was ist, wenn wir einen anderen Sound abspielen wollen? Nun, was passiert? Dann? Sie müssen sich übereinander klängen. Eine spielt Soundeffekte ab. Das ist kein Problem, da Soundeffekte sehr kurz sind. Selten haben Sie einen sehr langen Soundeffekt. Sie haben also gesehen, wie, wenn wir den Ablagebutton spielen, es 1 Sekunde angespannt ist. Und wenn wir zum Beispiel haben, verwerfen
wir zwei Gegenstände gleichzeitig. Oder sagen wir zum Beispiel, wir wissen nicht, holen Sie einen Artikel und verworfenen Artikel zur gleichen Zeit, es wird nicht so schlecht sein. Aber wenn wir anfangen, einen Song zu spielen, während der erste nicht aufgehört hat, wird das ein großes Problem sein. Bevor wir also wirklich Musik spielen, müssen
wir zuerst die Musik stoppen. Und das ist eine Methode, die Schuh schaffen wird. Also bitte stoppen Sie die Musik, wenn Sie wissen, was die Referenz war. Wenn Sie keine Methode erstellen, die die gesamte Musik stoppt, müssen
Sie erforschen, wie Sie das in Unity-Hunden tun können.
Ich habe dies hinzugefügt, weil ich im letzten Video nicht Wert gelegt habe und die oder
eine foreach-Schleife verwenden , um die gesamte Musik zu durchlaufen und stoppen Sie alle, weil wir nicht sicher sind, welche gerade spielt. Also pausieren Sie das Video jetzt und gehen Sie, um diese Methode zu erstellen. Oh, okay, willkommen zurück. Also hier drin werden wir die erstellen, stoppen die Musik. Wenn wir hier anklicken, können
wir die Methode sofort generieren. Da gehen wir. Wie cool ist das? Wir haben ungefähr 23 Sekunden gespart. Das ist großartig. Zeit ist Geld. Also für jede Audioquelle, weil wir durch einen Song im Hintergrund in der Musik gehen. Und es ist vom Typ Audioquelle. Und hier drinnen holen wir den Song und wir werden ihn stoppen. Das ist also sehr offensichtlich. Wir wollen nicht, dass es spielt. Und jetzt, wann immer wir einen Song spielen wollen, jeden Song, haben wir den angehalten, der bereits da ist, und dann machen wir weiter. Also lasst uns das testen. Oh, ich meinte hier drin, wenn wir einen Eingang bekommen und den Schlüssel runter bekommen, oder weißt du was? Testen wir es einfach. Und hier. Spielen Sie Hintergrundmusik. Welchen sollen wir spielen? Der letzte um fünf, weil es die Zählung ist und wir in der Stadt sind, nicht wahr? Also fünf, speichern Sie das zurück in Unity. Warten Sie, bis es kompiliert, führen Sie unser Spiel. Was war der Knopf? War es, sagte ich die Ich hoffe, dass das Spiel rettet. Was war es? F Ok. Entschuldigung. Also gehen wir hin. Und jedes Mal, wenn ich die Eingabetaste drücke, werden
Sie feststellen, dass es stoppt und wieder abgespielt wird. Lassen Sie uns etwas versuchen. Lassen Sie uns das kommentieren und sehen, was passiert. Also, wenn wir unser Spiel laufen, hatten
wir die F-Taste. Versuchen wir es noch einmal zu schlagen. Lassen Sie mich das Geräusch ein bisschen abdrehen. Schlag es noch mal. Nun, weil es derselbe Song ist, hört es offensichtlich auf. Nehmen wir also an, wir wollen die
spielen, Hintergrundmusik an Position spielen. Sagen wir, um das wieder in unserem Spiel zu speichern, führen Sie das Spiel, schlagen Sie die F. So können Sie hören, dass wir zwei Songs übereinander haben. Also eine freie Stopp der Musik. Wir sollten nur eine einzelne Musik hören, ein einziger Song abspielen. Ich bin mir nicht sicher, ob du es überhaupt hören kannst. Da gehen wir. Wir haben nur das Battle Music Flugzeug, weil wir alle anderen Geräusche stoppen. So haben wir uns jetzt
vor mehreren Hintergründen geschützt , um Musik gemeinsam spielen zu können. Also hoffe ich, Sie genießen es. Ich hoffe, Sie begehen alle Ihre Änderungen und ich sehe Sie im nächsten Video.
86. Audio aus Code spielen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir Soundeffekte hinzufügen. Wir werden Übergangsmusik hinzufügen. Also, wenn wir Gegenstände abholen, wird
es sehr schwach. Ich hoffe, du hörst. Da gehen wir, damit wir ein Geräusch hören können, wenn wir einen Gegenstand abholen. Wenn wir die M-Taste drücken, gehen Sie zu den Artikeln. Wenn wir eines der Gegenstände auf Jimmy verwenden, dann gehen wir. Du kannst es hören. Wenn wir eines der Gegenstände verwerfen. Da gehen wir, Sie können es auch hören. Lassen Sie uns das Menü schließen und wir haben die Schließen-Schaltfläche Arbeit
getroffen, obwohl es eine Zeile Code ist. Wenn wir zur nächsten Szene gehen. Da gehen wir, Sie können hören, die Musik ändern und zu einer sehr schönen Melodie, die mich daran erinnert, die drei, wenn Sie jemals dieses Spiel gespielt haben, Es ist erstaunlich. Also mit dem besagten, lasst uns keine Zeit mehr verschwenden und lasst uns anfangen. Okay, jetzt ist es an der Zeit, unsere Audiowiedergabe auf die nächste Stufe zu bringen. Wir wollen keinen Knopf drücken, um die Musik zu starten. Wir wollen, dass es automatisch auf jeder Ebene geschieht. Aber die Frage ist, wo sollten wir sagen, wählen, welche Musik auf dem Lovell zu spielen? Nun, ich habe darüber nachgedacht, dass es viele Möglichkeiten gibt, dies zu tun, aber ich glaube, dass eine der besten Möglichkeiten im Hauptmenü des Kamera-Controller-Theaters ist , ist es. Auf dem Kamera-Controller hat
jede Ebene einen eigenen Kamera-Controller, vielleicht nicht im Shop. können wir ändern. Wir werden sehen, was wir tun können. Aber ich glaube, das ist ein perfekter Ort, um hinzuzufügen. Also hier werden wir ein serialisiertes Feld erstellen, das eine ganze Zahl sein wird. Und es wird die Musik sein, die zu spielen ist. Also werden wir wissen, welche Musik wir spielen
müssen, wählen sie hier aus. Und wir werden auch einen privaten Boolean erstellen, der überprüfen würde, ob eine Musik bereits abgespielt wird. Und das ist nur für einen zusätzlichen Schritt der Vorsichtsmaßnahme. Also ein Update, wir werden überprüfen, ob es Musik bereits spielt. Dann werden wir vor allem
die Musik setzen, die bereits auf wahr ist. Warum machen wir das? Nun, weil es ein Update ist. Wir schauen durch diese jeden Rahmen. Also, was wir tun werden, ist, dass wir es auf wahr setzen, also geben wir es nur einmal ein. Und dann werden wir den Audio-Manager bekommen. Also haben wir bereits eine Instanz davon. Also gehen wir Audio-Manager, Punkt-Instanz, Punkt, spielen Hintergrundmusik und wird die Musik zu spielen. Da gehen wir. Also werden wir das retten. Wir werden unseren Audio-Manager vorstellen. Also ein Prefabs, das ist Prefab der AudioManager. Okay, toll, also speichern wir das in der virtuellen Kamera. Und hier werden wir Musik sehen. Sollen wir spielen? Wenn wir zur Audio-Manager-Musik gehen, was haben wir im Audio-Manager und Down-Thema? Also ist es die 5, Ende hier. Fünf, speichern Sie das. Gehen wir zum nächsten Level. Wo ist sie? Also Szenen, Berge. Berge. Berge zu ja, da gehen wir. Berge, um hier hinzuzufügen, fügen wir mal sehen, haben wir die virtuelle Kamera? Ja, das haben wir. Und die Leinwand wurde aktualisiert. Natürlich haben wir hier das kurze Menü, das sich nicht einschaltet. Vielleicht müssen wir andere Dinge wie
zum Beispiel den Spiele-Manager hinzufügen . Also gehen wir in die Prefabs. Spiel-Manager. Wo ist sie? Okay, Audio-Manager. Da gehen wir. Jetzt können wir Sounds hier spielen. Und welche sollten wir wählen? Wir haben, ich glaube, ich habe einen
heroischen Untergang des Sees gewählt . Sie können es sogar anhören, damit wir doppelklicken können, um es zu öffnen und anzuhören. Ich denke, es ist ein wirklich guter Song, erinnert mich an The Witcher 3. Es ist sehr nett. Sogar Stimmung. Wenn Sie ein paar Stimmung für Musik wollen. Ich weiß es nicht. Also jedenfalls, das ist das, wo ist es? Ich wurde abgelenkt. Element drei. Scrollen Sie nach unten Element 3, speichern Sie das Und Sie wollen das nicht überschreiben, wir wollen die Kameras nicht überschreiben. Das war's. Das ist alles, was wir tun müssen. Denn wenn wir es überschreiben, also wenn wir die Änderungen anwenden und hier und die Kamera überschreiben, wenden
wir die Kamera an. Alle anderen Levels haben die gleiche Musik zu spielen. Und ich habe gerade bemerkt, dass das Spiel falsch ist, aber das wollen wir nicht. Also bedenken Sie das. Wir wollen nicht die gleiche Musik auf jedem Level spielen. Also gehen wir zurück in die Stadt. Also, wo sind die Szenen? Runter, um das zu retten? Lass uns das Spiel laufen. Das Spiel. Da gehst du. Sie können sehen, dass die Musik abgespielt wird. Wenn wir zum nächsten gehen. Okay, offensichtlich stimmt etwas nicht. Es gibt Musik, die bereits im Hintergrund gespielt wird. Also müssen wir das reparieren. Und das Problem hier ist, dass, wenn wir unser Spiel laufen, Es ist nicht, dass wir etwas falsch mit dem Code. Es ist nur, dass, wenn wir zum nächsten Level gehen, nicht den alten deinen Manager zerstören. Und doch haben wir hier einen alten, dein Manager. Wenn Sie sich also im ersten Video in diesem Abschnitt erinnern, sagte
ich, dass wir dies zu einem Singleton-Muster machen müssen. Um das zu tun, werden
wir die Schicht öffnen. Also der Spieler war ein Singleton-Muster wird das einfach kopieren. Wir werden es in den Audio-Manager setzen. Und das sollte alles beheben, weil unser Code korrekt ist. Also gehen wir zurück, wir führen unser Spiel. Wir gehen zum Rand hin. Ja, da gehen wir. So können wir sehen, dass wir unsere Musik ändern. Aber leider haben wir immer noch nicht das Problem behoben, dass unsere Kameras, und hier in der virtuellen Kamera, können
Sie sehen, dass es niemandem folgt. Wo ist es in der virtuellen Kamera? Also fehlt die Folgendem. Wir folgen dem Spieler nicht. Ich weiß, es ist ein bisschen frustrierend. Wir sind nicht zu den while-Schleifen gekommen, aber mach dir keine Sorgen. Wir reparieren das in Judenzeit. Ich hoffe, Sie haben es genossen. Bevor wir gehen, müssen wir noch eine Sache tun, und das ist eine Herausforderung. Also spielen Sie Soundeffekte ab, wenn wir den Gegenstand verwerfen, wenn wir einen Gegenstand abholen
und wenn Sie andere Sounds haben, die Sie hinzufügen möchten. Wenden Sie diese auch an. Ich werde nur die ersten beiden vorerst anwenden. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. O K. Willkommen zurück. So können Sie in AudioManager hier sehen, dass wir den
Spiel-Sound-Effekt haben und wir wählen, welchen Soundeffekt wir spielen wollen. Also, wenn wir auf die gehen, der Menü-Manager irgendwo hier drin. So Menü-Manager nein, Wie es hier drin, Nein. Anscheinend müssen wir es aus der Leinwand öffnen. Also Menü-Manager, lassen Sie uns auf das Skript doppelklicken. Ich bin mir nicht sicher, ob 12. Also, wenn wir eine Art von Taste verwenden wollen oder verworfen. Also, da gehen wir, verwerfen Artikel hier, wenn wir es drücken, so aktualisieren wir das Inventar und dann greifen wir auf den Audio-Manager. Zum Beispiel, spielen Sound-Effekt. Und welche sollten wir spielen? Wenn wir die Einheit öffnen, gehen
wir zum Audio-Manager. Es sind die USA oder der erzielte Gegenstand. Da gehen wir. Element drei. Öffnen Sie es und hier bei 3, speichern Sie das. Und jetzt, wenn wir den Artikel hier verwenden, oder weil wir den Artikel bereits verwerfen, bin
ich mir nicht sicher, ob dies die beste Idee ist, um es hier zu tun. So wie wir es eingerichtet haben, verwerfen
wir den Artikel. Also spielen wir hier den Soundeffekt ab. Keine sehr gute Idee, aber auf jeden Fall werden
wir nur den Soundeffekt abspielen. Also kopieren wir das, fügen es hier ein. Was bedeutet der Soundeffekt, um das Element zu verwenden, sein eigenes Element 8. Und da gehen wir, spielen Sound-Effekt-Element 8. Wie Sie sehen können, haben wir hier eingebracht, dass dies verschoben werden sollte. Wegen der Art und Weise, wie wir unsere
alte einrichten , müssen Sie jetzt diese Zeile hier kopieren. Und wir werden es hier einfügen. Wir wollen also nicht den Soundeffekt des verwerfenden Elements hören. Wir werden das retten. Wenn Sie wirklich etwas Code sparen möchten, können
wir tatsächlich voran gehen und schnelle Aktion und Refactoring und
eine Methode nur für diese beiden Zeilen erstellen und dann diese Methoden hier aufrufen. Ich denke nicht, dass das sehr notwendig ist, aber es ist natürlich eine bessere Übung. Es ist sehr hässlich und nicht sehr professionell, wenn man wirklich diese beiden Zeilen hier drin sieht. Aber keine Sorge darüber. Wir werden sparen, wir werden das nur für unser Spiel testen. Wir werden den Code ausführen. Und wir hätten auch vielleicht für den Artikel Pick-up setzen haben eine gute Idee gewesen. Lasst uns ein paar Gegenstände abholen. Klicken Sie für Elemente auf Verwerfen. Da gehen wir. Ich bin mir nicht sicher, ob du es gehört hast. Es ist ein bisschen schwach. Also, jetzt werden wir das bei Jimmy benutzen. Da gehen wir. Es ist ein sehr kleiner Sound, aber das ist alles, was Sie brauchen, wenn es um Soundeffekte geht, vor allem mit der Musik und dem Hintergrund. So toll mit dem fertig, ich habe wieder aufgehört. Lassen Sie uns auch hinzufügen, wenn wir einen Artikel abholen. Also, wo kümmern wir uns um die Abholung des Artikels? Ist es auf dem, wo ist es? Wo ist es der IT-Manager? Ist es hier drin? Ja, ja. Da gehen wir. Wenn wir das Element hinzufügen, werden
wir den Soundeffekt abspielen. Also AudioManager, Punktinstanz, Punkt, spielen als Effekte. Und welcher nimmt den Gegenstand auf. Element fünf. Da gehen wir, Speichern Sie das. Und das Einzige, worüber ich mir Sorgen mache, ist, dass, wenn wir einen Gegenstand
abholen, zerstört wird und hoffentlich die klangliche Tatsache, wir Zeit haben, zu spielen. Also, oder es mag keine Rolle spielen. Wir werden unser Spiel laufen. So können Sie das Geräusch hören. Da gehen wir. Ausgezeichnet. Also hoffe ich, Sie genießen. Ich hoffe, du hattest Spaß beim Hinzufügen von Musik zu unserem Spiel. Sie können sehen, dass es dem Spiel viel mehr, sagen
wir, dynamisches Feld hinzufügt . Also, wenn Sie den Kurs genießen, wenn Sie wie ich als Lehrer sind, obwohl ich manchmal ein paar Fehler, keine Sorgen. Ich mag es, sie nur für Sie zu halten, um den Prozess des Schaffens zu verstehen, weil niemand perfekt ist. Und obwohl ich die Partituren vorbereitet habe, so habe ich dieses Spiel bereits vorbereitet. Großer Schocker. Ich mache manchmal Fehler und ich möchte, dass Sie das verstehen, weil der Prozess nicht einfach ist. Sie werden nicht nur, egal wie viele Stunden Sie haben, egal wie viele Jahre Erfahrung, Sie werden immer auf etwas kommen und wie, warum funktioniert das nicht? Wie repariere ich es? Sie müssen Debugs viel verwenden. Also wollte nur so authentisch wie möglich sein. Damit sagte, wenn Sie die Zeit haben, lassen Sie mir eine Rezension und ich werde Sie im nächsten Video sehen.
87. Teil 13: Main: Willkommen zurück, meine Spiele-Entwickler. In diesem Video erstellen oder legen wir unser Hauptmenü aus. Gefällt es dir also? Ich finde, es sieht irgendwie gut aus. So Legenden der Eroberung und große rote, mutige mittelalterliche Schrift. Und wir haben drei Tasten, um weiterhin ein neues Spiel zu starten und aus unserem Spiel zu verlassen. Also offensichtlich tun sie nichts, nichts tut momentan etwas. Ich finde, es sieht gut aus. Ich mag es. Ich hoffe, es gefällt dir. Ich hoffe, Sie finden Ihre eigenen Ressourcen. Also verschwenden wir keine Zeit mehr. Und lasst uns anfangen. Oh, also Zeit für ein Hauptmenü. Lassen Sie uns in die Datei gehen, eine neue Szene
erstellen. Und wir werden sicherstellen, dass es 2D ist. Und hier drin werden wir es in den Szenen speichern. Und dann nennen wir es das Hauptmenü. Da gehen wir. Speichern Sie das. Oh, okay. Jetzt ist die nächste Sache, wir werden mit der rechten Maustaste klicken und eine Leinwand hinzufügen. Oder wir können sofort einfach weitermachen und ein Bild hinzufügen. Und dies wird automatisch eine Leinwand hinzufügen. Und wir gehen auf die Leinwand und stellen Sie sicher, dass die Leinwand Scaler. Und hier ist die konstante physische Nope, Skalierung mit Bildschirmgröße. Und wir werden sicherstellen, dass es 1920 mal 1080 ist. Drücken Sie Enter. Okay, da gehen wir. Nun, das Bild, was machen wir mit dem Bild, das in die Sprites geht? Lassen Sie uns mit der rechten Maustaste und erstellen Sie einen neuen Ordner, nennen Sie es die Hintergrundbilder bei Enter. Und ich habe Ihnen ein paar Bilder zur Verfügung gestellt, jetzt empfehle ich diesen Schuh. Geh und finde deine eigenen, weil meins so gut sind. Wie ich immer gesagt habe, sage
ich dir, dass du nicht dasselbe machst wie ich. Geh und finde deine eigene. Und ich werde auf das Bild klicken. Und mal sehen, Lasst uns das ziehen. Und lassen Sie uns auf native Größe setzen. Und lassen Sie uns das Bild bis in die Mitte bewegen. Also, da gehst du. Ich denke, das ist ein gutes Bild. Vielleicht, vielleicht nicht, vielleicht hasst du es. Das ist okay. Jeder hat seine Meinung. Also gehen wir weiter und fügen hier ein paar Dinge hinzu. Was hat ein Hauptmenü? Nun, hauptsächlich hat es drei Dinge. Erstens, es hat die Fortsetzung, das neue Spiel, Das Beenden, und die Optionen. Also lasst uns weitermachen und das alles tun. Das erste, was zuerst ist, werden wir sehen, was wir hier jetzt hinzufügen,
Optionen, ich bin mir nicht sicher, ob es wichtig ist, Optionen zu haben. Wir werden nur eine virtuelle Optionen hinzufügen, nur um zu sehen, wie wir von einem Bildschirm zum nächsten gehen und so weiter. Gehen wir also weiter und fügen Sie hier ein paar Schaltflächen hinzu. Also gehen wir zu dir, ich werde einen Knopf hinzufügen. Also, dieser Knopf, natürlich, gehen
wir zu unseren Sprites. Und wir sind okay, also Materialien, UI-Elemente, wir werden dies zu unserer Schaltfläche Sprite hinzufügen. Und wir werden den Text entfernen, fügen Sie einen Text Mesh Pro. Und natürlich wird es das Mittelalter sein und es wird Continue sein. Da gehen wir, fahren Sie fort. Und machen wir den Knopf etwas größer. Also werden wir diesen Knopf ein bisschen größer machen. Wir werden wissen, was dieser Hintergrund wirklich nicht gut aussieht. Mir ist gerade aufgefallen. Nun, wir werden es später ändern. Dies wird also die Schaltfläche Weiter sein und im Text Mesh Pro wird es komplett schwarz machen. Da gehen wir. Wir werden es mutig machen. Wir werden es nur ein wenig in die richtige Position bringen. Und lasst es uns in der Mitte positionieren. Vergrößern Sie die Größe erneut. Fahren Sie fort. Da gehen wir. Also weiter. Und ich glaube nicht, dass wir noch etwas hinzufügen. Wir brauchen nur einen zweiten Knopf. Und ich denke, dieser Knopf ist vielleicht zu groß. Wieder. Dieser wird also der Ausgang sein. Dies wird die, also die Schaltfläche Beenden sein. Verlassen. Neues Spiel. Und wir machen weiter. Okay, also schätze ich, das ist so ziemlich alles, was wir schaffen müssen. Wir können Optionen erstellen, wenn Sie hinzufügen möchten. Und ich werde diesen Hintergrund ändern, weil es mir wirklich nicht gefallen hat. Also Hintergrund, lassen Sie uns die Kälte hinzufügen. Oh, das sieht viel besser aus. Ok, großartig. Also der Ausgang, die weiter Ultra zu setzen, dass wir
ein Hintergrund-Layout oder ein Rasterlayout verwenden können , um sicherzustellen, dass alle von ihnen perfekt ausgerichtet sind. Ich glaube nicht, dass wir das vorerst brauchen. Und wir gehen weiter und fügen hier einen Text Mesh Proton hinzu, ein großes. Und das wird der Gewinn Titel sein. Titel und wir werden es die Legenden der Eroberung nennen. Eroberung wird es mutig machen, wird in der Mitte, in der Mitte machen. Und ganz schwarz war die Farbe. Okay, da gehen wir, die Farbe. Lassen Sie uns voran und fügen Sie ein bisschen Farbe und stellen Sie sicher, dass seine mittelalterliche Partei. Ich bin mir nicht sicher, wie das heißt. Aber jedenfalls, wohingegen das in Ordnung
ist, so gehen wir. Es wird etwa so groß sein. Vielleicht sollten wir die Farbe ändern. Wir werden es nur ein bisschen sehen. Lassen Sie uns die Größe erhöhen. Also Legenden der Eroberung, und mal sehen, was wir daraus machen können. Oh, ja, ich denke, Rot ist eine gute Farbe. Das ist das Weiße. Was ist auch nicht über Farbe, aber ich denke, ich lese vollständig so viel Butter. Und nein, ich denke, wir erweitern es noch mehr und machen es noch größer. Ja, wir können es sogar Legenden der Eroberung nennen,
das ist die zweite, die wir erschaffen haben. Aber jedenfalls, Legenden der Eroberung, Das ist gut genug. Ich denke, dieser Hintergrund passt zu dem Gefühl des Spiels. Es hängt vom Gefühl des Spiels ab. Da dein Spiel ein bisschen dunkel ist, denke
ich, dass mein sein wird, weil wir einen Dämon haben, der herumläuft. Wenn Sie möchten, dass Ihr Spiel mehr fühlt. Sagen wir friedlich. Sie können das Stück verwenden. Wenn es eher ein Abenteuer ist, können
Sie das Stück verwenden. Und Sie können auch Ihre eigenen Hintergründe,
offene Spielkunst oder jede Art von Hintergrund zu dieser Angelegenheit finden . Okay, mal sehen. Wir können hier eine Menge Sachen hinzufügen, vielleicht die Unterlage, wir können sie ändern. Mal sehen, ob wir es weiß machen. Hat irgendetwas Einfluss auf unsere Eigentlich sieht es schlimmer aus. Lass es uns einfach dabei behalten. Wir werden das retten. Großartig. Jetzt haben wir drei Tasten und jetzt ist es Zeit für eine kleine Herausforderung. Und diese Herausforderung besteht darin, Ihr eigenes Hauptmenü festzulegen. Richten Sie Ihr eigenes Hauptmenü mit Ihrer Schriftart und Hintergrund ein, et cetera. Und viel Spaß damit. Nehmen Sie sich Zeit. Also das Hauptmenü ist das erste , was ein Spieler sieht, müssen Sie einen Einfluss in dieser Position zu machen. Also empfehle ich, dass Sie sich an ein paar Spiele erinnern, die Sie hatten, sah durch sie, sehen, wie sie funktionieren und was Sie tun können. Also pausieren Sie das Video jetzt und gehen Sie die Herausforderung, übernehmen Sie Ihre Änderungen, und ich sehe Sie im nächsten Video.
88. Main: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir tatsächlich Funktionalitäten zu unserer Schaltfläche hinzugefügt, aber wie Sie sehen können, haben wir die Schaltfläche Weiter entfernt. Wir brauchen nicht mehr. Also, wenn wir unser Spiel laufen, da gehst du. Nun, oh mein Gott, ein Continue-Button ist erschienen. Nun, das liegt daran, dass wir tatsächlich eine
Art Schlüssel in der Tat Spieler Prefs haben , die wir unser Spiel laden können. Also, wenn wir die Fortsetzung treffen, tut es nichts. Flüssige Verstärkung sagt uns, dass wir es gerade getan haben. Wenn wir das neue Spiel hatten, starten
wir ein neues Spiel. Wie bequem? Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, jetzt ist es an der Zeit, unseren Knöpfen Funktionalitäten zu geben und ungefühlvoll zu tar heute. Also werde ich dir nur die Herausforderung geben. Erstellen Sie ein Hauptmanuskript. Erstellen Sie also das Hauptmenü-Skript und fügen Sie es an die Hauptmenü-Arbeitsfläche an. Erstellen Sie eine Variable, die die Schaltfläche „Weiter“ verfolgt. Ich sage dir, warum in nur ein bisschen. Und eine für die neue Spielszene. Weil du weißt, wenn wir ein neues Spiel starten, müssen
wir zu einer neuen Spielszene gehen. Und dann müssen wir zwei Methoden für den neuen Spiel-Button und den Exit Button erstellen. Schließlich sollte das neue Spiel uns zum neuen GameScene und Ausgänge sollten einfach etwas ausdrucken. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, okay, komm zurück. Wie hast du das alles bekommen? Also in unseren Skripten werden in Skripte gehen in, wo sollten wir speichern IT gehen? Manager. Ja, sicher, warum nicht In den Managern wird mit der rechten Maustaste, erstellen Sie ein C-Skript und es wird das Hauptmenü genannt werden. Drücken Sie Enter. Warten Sie, bis es dies als die neue Spielschaltfläche kompiliert. Also neue Spiel-Taste, oder bewegen Sie sich hier, gehen wir auf die Leinwand. Lassen Sie uns dies die Hauptmenü-Canvas nennen. Und wir fügen das Hauptmenü zum Hauptmenü Canvas hinzu. Und wir werden, okay, Also haben wir die falsche hinzugefügt, wir haben Menü-Manager hinzugefügt, Komponente
entfernen, Hauptmenü. Ok, großartig. Schließen wir das alles und öffnen wir unsere Männer, Männer. Also hier drin, was werden wir tun? Nun, wir haben gesagt, dass wir Referenzen brauchen. Das erste ist ein serialisiertes Feld vom Typ String, und es wird die neue Spielszene sein, zu der wir gehen werden. Und dann erstellen wir ein notheres, serialisiertes Feld, das vom Typ Spielobjekt sein wird und es wird auf die Schaltfläche Weiter verweisen. Warum machen wir das? Nun, offensichtlich, denn wenn wir noch nie
erstellt haben oder wenn wir dieses Spiel noch nie gespielt haben und wir nicht weitermachen können, dann sollten wir natürlich die Schaltfläche Weiter nicht sehen. Wir sollten nur das neue Spiel und den Ausgang sehen. Der nächste Schritt ist also, voranzugehen und eine Methode für die neue Spielschaltfläche zu erstellen. So öffentliche Leere neue Spieltaste. Und hier werden wir auf den Szenenmanager zugreifen. Aber bevor wir das tun, müssen
wir auf das Szenenmanagement zugreifen. Oder bevor wir das überhaupt tun, müssen
wir Unity Engine dann das Szenenmanagement zugreifen, sehr gut. Scene Manager Punkt eine Ladenszene und wir werden einfach dort die neue Spielszene, die wir wollen, übergeben. Da gehen wir. Und dann müssen wir eine Methode für den Exit-Button erstellen. Also Public Leere Exit Taste. Und dann wird hier einfach im Debug-Protokoll ausdrucken, nur Log-Fehler. Wir haben gerade das Spiel beendet. Also beenden wir
das Spiel einfach mit ein paar
Ausrufezeichen , nur um sicherzustellen, dass dies etwas seltsam ist. Okay, das nächste, was wir tun müssen, ist, dass wir sicherstellen müssen, dass wir die Schaltfläche Weiter
deaktivieren, wenn sie nicht benötigt wird. Also und starten, sobald wir das Hauptmenü öffnen, werden
wir überprüfen, ob wir einen Schlüssel in den Player-Prefs haben. Wenn wir also zum Beispiel die Position des Spielers auf x
haben, bedeutet
das, dass wir zuvor unser Spiel gespeichert haben. Das bedeutet, dass der Continue Button aktiviert werden kann. Also am Anfang, sobald wir beginnen, welchen Zugriff die Spieler Prefs überprüfen, ob wir einen Schlüssel haben oder haben, und wir werden in den Spiele-Manager gehen. Da gehen wir. Wenn wir die Spielerstatistiken speichern, welche sollten wir wählen? Ich denke, die beste Option zu wählen ist hier, die Position. Es ist also die einfachste Kopie, die wir hier einfügen werden. Also, wenn es gut hat, gibt dies wahr. Das bedeutet, dass die Schaltfläche Weiter, die aktiv als wahr sagte. Sonst, wenn wir nichts haben, dann die Schaltfläche Weiter, aktiv false. Jetzt gibt es keine Möglichkeit, dies zu testen, da wir bereits mehrfach gespeichert haben. Wie können wir sicherstellen, dass wir die Schaltfläche „Fortfahren“ deaktivieren können? Also werden wir es ausschalten und dann werden wir sehen, ob es wirklich funktioniert. Also in der Hauptmenü-Leinwand haben wir die Schaltfläche Weiter, die diese ist, und die neue Spielszene, die die Stadt sein wird, Sagen
wir die Stadt, um das zu kopieren. Fügen Sie es hier ein, speichern Sie das, okay, und bevor wir das auch tun, müssen
wir auf die Schaltfläche gehen. Die Schaltfläche „Fortfahren“ für jetzt tut also nichts, was wir hinzufügen werden. Denken Sie daran, wie oft ich das vorher vergessen habe. Jetzt bewegen wir uns weiter. So sehen Sie, wir können immer aus unseren Fehlern und neuen Spiel lernen. Für den Ausgang. Wir werden ein Ereignis hinzufügen onclick im Hauptmenü. Gehe zur Hauptmenü-Exit-Taste, speichere das, führe das Spiel aus. Da gehen wir. Wir haben die Schaltfläche Weiter, auch wenn wir es ausgeschaltet, wenn wir auf den Ausgang klicken, können
Sie hier sehen, die Konsole druckt mit nur mit dem Spiel weiter, tut nichts. Aber wenn wir auf das neue Spiel klicken und da gehst du, Wie cool ist das? So funktioniert alles einwandfrei. Es gibt nur eine Sache, die das Laden ist. Im nächsten Video werden wir tatsächlich anfangen,
unser Spiel zu laden , indem wir eine separate Szene für das Laden erstellen, was sehr spannend sein wird. Also sehe ich dich im nächsten Video.
89. Das Spiel fortsetzen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wenn wir unser Spiel laufen, wenn wir die Weiter drücken, erscheinen
wir in unserem Spiel. Und wenn wir die M-Taste drücken, gehen
wir zu den Gegenständen. Wir können sehen, dass wir die Artikel haben, obwohl wir nichts abgeholt haben, wir haben sie geladen. Und wenn Sie keine Musik hören können, liegt das daran, dass ich den Ton stummgeschaltet habe, damit Sie mich
deutlich hören können und wir nicht über den Ton schreien müssen. Lasst uns also keine Zeit mehr verschwenden und lasst uns mit dem Laden unseres Spiels beginnen. Oh, okay, also Zeit, unseren Continue-Button tatsächlich zu benutzen. Wie sollen wir das machen? Nun, die Schaltfläche Weiter ist im Wesentlichen ein Lademechanismus. Es gibt also mehrere Möglichkeiten, wie wir ein Spiel laden können, aber eine der besten ist es, eine separate Szene für
das Laden unseres Gewinns zu erstellen , wie das Hinzufügen alles in unserem Hauptmenü. Also, und lassen Sie uns gehen und neue oder erstellen Sie eine neue Szene. Wir werden das schaffen. Wir werden das in den Szenen speichern und das nennen wir die Ladeszene. Da gehen wir, speichern Sie das. Bevor wir vergessen, gehen wir zu den Build-Einstellungen und fügen wir das hinzu, wo ist es? Die Ladeszene und das Hauptmenü. Da gehen wir. Also innerhalb der Build-Einstellungen, okay, großartig, speichern Sie das. Was machen wir jetzt hier drin? Nun, es gibt ein paar Dinge, die wir hinzufügen müssen. Also zuerst müssen wir hinzufügen, der Player muss den Audio-Manager hinzufügen. Wir werden das nicht wirklich sehen. Dies wird nahtlos durch die Ladeszene übergehen. Wir fügen einen Spiele-Manager hinzu. Schließlich benötigen wir auch die UI-Canvas. Während die UI-Canvas, kann
ich die UI-Canvas nicht sehen. Okay, also los gehst du. Über Leinwand. Aus irgendeinem Grund konnte ich es nicht sehen. Keine Sorge darüber. Jetzt haben wir alles vorbereitet. Das nächste, was wir tun müssen, ist, dass wir hier ein Spielobjekt erstellen. Es wird das oder nein genannt werden, einfach der Lader. Es ist anther. Lassen Sie uns seine Position zurücksetzen. Doppelklicken Sie darauf. Und wir werden weitermachen und ein separates Skript erstellen. Wo sollten wir vielleicht Level-Management oder Manager erstellt, Lassen Sie uns innerhalb von Mantras erstellt. Ich fühle, dass die Manager, ich mag den Müll,
alles, was wir nicht brauchen oder nicht sicher, wo sie in den Managern steckt. Das Laden der Szene oder der Szenen sollte also Scenes heißen. Keine Sorge um diese Ladeszene. Wir werden es dem Lader hinzufügen und wir werden es öffnen. Das erste, was wir wollen, ist, tatsächlich ein Gewicht für die Zeit zu laden. Ich möchte nicht, dass die Beladung sofort erfolgt. Wir wollen nur ein paar Sekunden, bevor wir laden. Also, und hier werden wir
ein serialisiertes Feld erstellen , in dem wir bestimmen können, wie lange wir warten wollen. Also schweben, Weg zu laden, gut. Ok, großartig. Das nächste, was wir tun müssen, ist, dass wir die richtige Szene laden wollen, in der wir sind. Aber wenn ich mich erinnern kann, wenn wir zum Spiele-Manager gehen, gespeicherte Daten. Ja, in den sicheren Spielerpositionen, sichere Spielerstatistiken. Aber wir haben die Szene, in der wir irgendwo sind, nicht gerettet. Und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht also darin, zum Spielmanager zu gehen und
die aktuelle Szene und die Speichermethode in unserem Co-Routine Rendite zu setzen . Habe ich nicht gesagt, dass wir eine Coroutine erstellen wollten? Oh ja, das habe ich. Ich habe gesagt, dass wir warten werden, um unsere Coroutine zu laden, die Zeit mit der Variablen, die wir erstellt haben,
zurückzugeben. Greifen Sie auf den Spielmanager zu und laden Sie die Daten, greifen Sie auf die Quests zu und laden Sie die Quests 2. Also pausieren Sie das Video jetzt und machen Sie diese Art von großer Herausforderung. Okay, willkommen zurück. Also in unserem Game-Manager und hier, und ich werde es einfach in den gespeicherten Daten und Worten darüber halten. Also Spielerprefs, Punkt-Set, und worin arbeiten wir? Okay, also setzen Sie String, wir erstellen die aktuelle Unterstrich-Szene. Das war's. Ich denke, das reicht von einem Schlüssel. Und dann greifen wir auf den Szenenmanager zu. Und das ist der knifflige Teil. Also, wenn wir auf die Szene zugreifen, okay, also können wir den Manager hier nicht benutzen. Also Unity Engine Dot Szenen-Management, speichern Sie diesen Fall. Also wieder hier drin, Szenenmanager Dot. Und wie sollen wir, okay, obwohl, da gibt es das, wir werden die aktuelle aktive Szene bekommen. Und wir werden den Namen bekommen, weil wir eine Zeichenfolge setzen. Wir speichern das jetzt wieder in unserer Ladeszene. Und hier drinnen gehen wir voran und greifen auf die öffentliche Augenaufzähler und Ladenszene zu, wir werden es nennen. Und hier drinnen werden wir sofort Rendite geben. Und neue Art und Weise. Sekundenlang. Warte vier Sekunden. Wo die Zeit zu warten, Zeit oder Zeit zu laden? Warten Sie, bis die Ladezeit. Und was machen wir hier drin? Nun, zuerst werden wir die Szene laden. Also Scene Manager, wir haben es nicht, müssen IT hinzufügen. Manager-Punktladeszene. Und wir werden auf den Player Prefs Punkt GetString zugreifen. Und wir werden das, wo ist der GameManager gesehen Kopie, dass, fügen Sie es hier. Schließen Sie das ab, speichern Sie das. Jetzt werden wir auf den Spiele-Manager Punkt-Instanz Punkt-Ladedaten zugreifen. Und die Quest-Manager-Punkt-Instanz Dot Load Questdaten. Da gehen wir. Das ist alles, was wir tun müssen. Aber schließlich werden wir überprüfen, ob wir
tatsächlich warten auf die Ladezeit und dann rufen die Beschichtung an. Also, wenn die Wartezeit zum Laden größer als eins oder größer als 0 ist, dann werden wir eine Co-Routine starten, die
die Ladeszene sein wird , und das war's. Rette das alles. Und schließlich müssen wir in das Hauptmenü gehen, die populäre Abstimmung Schaltfläche Weiter. Und hier drinnen werden wir diesen Szenenmanager Dot Lot Szene nennen. Und wir können das entweder tatsächlich benennen und hier die Ladung aus unserem Spiel kopieren, oder wir können,
wie wir es vorher getan haben, hier eine Zeichenfolge
erstellen. Aber jetzt kopieren wir einfach die Ladeszenen oder Szenen, die Ladeszene, kopieren Sie das, fügen Sie es hier ein. Speichern Sie das gespeicherte Laden, weil ich es von ihm kopiert habe. Keine Sorge darüber. Wir werden das retten. Gehen Sie auch zu File Build Settings und wir werden auch hinzufügen, wir haben bereits die Ladeszene und das Hauptmenü hinzugefügt. Okay, speichern Sie das. Und jetzt lassen Sie uns, während das Hauptmenü, da wir gehen, MainMenu. Öffnen wir die Knöpfe. Die Fortsetzung. Ich werde auf jaggedy Hauptmenü Leinwand klicken, gehen Sie zum Hauptmenü, Schaltfläche
Weiter, speichern Sie das, führen Sie das Spiel. Noch eine Sache, ich denke, das wird uns einen Fehler geben, weil wir nicht wirklich ein Spiel gespeichert haben, in dem wir die Währung haben. Wenn wir also auf Weiter klicken, öffnen
wir die Ladung. Und nichts passiert. Denn in unserem Laden, wenn wir zum Lader gehen, die Wartezeit, um als 0 zu laden, rufen
wir es nie an. Also nochmal, lassen Sie uns
das noch einmal versuchen , obwohl ich sicher bin, dass es eine Art Fehler geben wird. Fahren Sie fort. Okay, also gehen wir. Wir haben einen Fehler, weil wir keine aktuelle Szene haben. Also müssen wir zum Stopp gehen,
gehen Sie runter, um unser Spiel zu laufen. Die Daten wurden nicht gespeichert. Beenden Sie das Hauptmenü. Führen Sie unser Spiel aus. Fahren Sie fort. Ja, da gehen wir. Aber aus irgendeinem Grund haben wir keinen Spieler, wo z, während unser Spieler in Ordnung ist. Wie er scheint, können wir uns bewegen? Ja, das können wir. Aber weil wir das immer noch nicht implementiert haben, haben
wir das gerade erledigt. Ich werde das Audio stummschalten, weil wir die Follow-Cam noch
nicht implementiert haben, die unseren Player gefunden hat. Deshalb können wir sie finden. Aber wie Sie sehen können, haben
wir alle unsere Artikel. Wenn wir die M Gegenstände treffen, ja, da gehen wir. Oh, das, weil wir es abgeholt haben. Haben wir Gegenstände gespeichert? Ich bin mir nicht sicher. Ok. Aber wir laden Daten. Wir wissen, dass die Game-Manager-Daten funktionieren. Also nein, eigentlich, wenn wir zurück in die Stadt gehen und unser Spiel laufen, gibt es ein leichtes Problem. Also, wenn wir ein paar Elemente abholen, hatten
wir den Schlüssel, um Daten zu speichern, wir beenden, wir laufen. Wir sollten jetzt sehen, ob wir, oh, ich Dinge sind. Da gehen wir. Wir haben die Artikel, wir haben mehrere Artikel. Aber wenn wir jetzt zum Hauptmenü gehen, führen Sie unser Spiel aus, und klicken Sie auf Weiter. Wir müssen dieses Problem beheben, wo wir den Spieler tatsächlich sehen. Wir wollen nicht, dass das passiert, wir wollen es behalten. Okay, jetzt, wenn wir die M-Taste drücken, gehen Sie zu Artikeln oder nein. Okay, also werden die Artikel korrekt geladen. Das ist gut. Also, das war nur ein bisschen ein Debugger in meinem Kopf. Das letzte, was wir reparieren müssen und das Laden müssen wir tatsächlich sicherstellen, dass wir den Spieler oder irgendetwas davon nicht sehen. Wir können tatsächlich zur Hauptkamera gehen und diese in komplett schwarz
ändern und den Player entfernen. Das ist ein Weg. Also gehen wir hin. Wir legen sie draußen, wir speichern das, gehen zum Hauptmenü, führen das Spiel aus, fahren fort. Frauen sind Spieler in der Mitte, keine Sorgen darüber. Aus irgendeinem Grund geht der Spieler in die Mitte. Wir bringen unsere Kamera hierher, speichern das. Zurück im Hauptmenü. Führen Sie das Spiel aus. Fahren Sie fort. Wir sehen den Spieler nicht. Großartig. Und dann haben wir in unser Spiel gezahlt. Können wir uns bewegen? Können wir einen Gegenstand haben? Ja, ja. Da gehen wir. Wir haben alles und das war's. Das ist unser Lademechanismus. Also hoffe ich, Sie genießen es. Und wenn Sie zu aufgeregt über das, was in den letzten paar Abschnitten vor sich ging, weiß
ich, dass es nicht das aufregendste, was zu tun ist, aber es ist sehr wichtig, eine gute Benutzeroberfläche zu haben, besonders wenn es um RPG-Spiele geht, weil wir Zeit
in der Benutzeroberfläche bleiben und Menüs haben und so weiter und so weiter. Und im nächsten Abschnitt werden wir eigentlich mit unserem Kampfsystem beginnen, das der Kern unseres Gameplays ist. Also sehe ich dich dann.
90. Teil 14: Eine KampfArena erstellen: Willkommen zurück meine Spiele-Entwickler zu einem brandneuen Video und einem brandneuen Abschnitt und einem sehr, sehr spannenden Abschnitt. So wie Sie sehen können, habe
ich eine Welt geschaffen und hier mit ein paar Lava mit Sprites, die ich in den Ressourcen überlassen habe, können
Sie auch ins offene Spiel gehen aus. Das ist eigentlich, wo ich meine Ressourcen bekommen habe. Sie können in der wohingegen die Datei, die Fliesen,
das Kerker sehen , so ist es unter dem Namen Höhle gerade gab. Sie können finden, was Sie wollen. Also, wenn wir unser Spiel laufen, was lassen Sie mich
jetzt alles maximieren und drehen Sie
die Lautstärke , so dass Sie die gruselige Musik im Hintergrund hören können. Also führe das Spiel. Ja, da gehen wir. Also laufen wir um diese feuchte Höhle mit diesen Löchern herum. Also hier drinnen werden wir unsere Kämpfe mit ein paar Monstern haben. Wir haben etwas Lava in unmenschlicher Notwendigkeit, das hier zu beheben, weil wir
durchqueren können und wir haben diese Klippen hier drin jetzt unsere Flügel durchgeschnitten, das ist ein bisschen ein Problem, aber keine Sorge darüber. Wir können auch hier reinspazieren. Hier wird der Boss-Kampf gekämpft. Hier drinnen will Gollum den Ring werfen oder nein, nein. Column will den Regen halten, aber Frodo will den Ring werfen, aber er tut es auch nicht. Also werden wir sehen, was dort passiert. Und hier drinnen können wir herumlaufen. Wir können hier auch ein paar Schlachten kämpfen. Also vielleicht leichte Kämpfe hier drin. Dies ist der Eingang der Höhle, also brauchen wir immer ein Interesse. Wie ist dein Monster hierher gekommen, oder dein Charakter? Wie bist du durch die Tür hierher gekommen? Es ist sehr wichtig, das Eintauchen nicht zu brechen. Und mal sehen und hören wird vielleicht mittlere Kämpfe hier drin kämpfen, eine harte Schlachten, und hier drin finden wir die letzten Bots. Also lassen Sie mich das Video pausieren. Ich meine, hör mit dem Spiel auf. Ich werde über den rundenbasierten Kampfbeginn sprechen. Also bin ich mir nicht sicher, ob du jemals rundenbasierten Kampf gespielt hast, aber es ist ziemlich so. Also haben wir, sagen wir, drei Charaktere, die wir auf unserer Reise aufgegriffen haben. Und wir haben ein paar Feinde, die wir in der Welt setzen. Wir haben keine Zeit. Wir werden die Namen unseres Charakters haben, haben die HB unseres Charakters, die AMP oder das Mono. Dies ist die Magie und wir werden kämpfen, aktualisieren, und jeder Charakter wird Geschichte haben, und damit das Wort rundenbasierte Kampf. Und es ist eigentlich eine sehr, sehr moderne Art, Spiele zu spielen. Glaub nicht, dass es alt und nicht gut ist. Ich weiß, dass einige von euch denken, warum benutzen wir keine Gabeln und Stellplätze? Nun, eigentlich ist das eine sehr moderne Art, Spiele zu spielen. Viele moderne Spiele wie, Ich bin mir nicht sicher, was der Name dieses. Ich denke, das ist ExComm etwas, das ich vergessen habe. Entschuldigung. Und das habe ich auch vergessen, aber es ist ein sehr hoch geschätztes Spiel. Es hat eine sehr hohe Aussicht. Sie können sehen, dass Sie Gegenstände während des Kampfes verwenden können, was sehr schön ist. Und das ist auch ein reifer ich habe, ich habe die Oberseite meines Kopfes vergessen. Vielleicht ist das Persona 5. Oh, ja, das hier ist Persona 5. Wie Sie sehen können, ist
es eine sehr moderne Art, Spiele zu spielen und eine sehr taktische Art und Weise. Außerdem gibt es ein gründliches Spiel. Ich habe versucht, es mit Gabeln zu machen, aber ehrlich gesagt, wenn Sie ein RPG spielen, ein Top bis zum RPG, ist
es nicht so lustig,
vor allem, wenn es um Boss-Kämpfe geht. Es gibt nicht viel Platz, um herumzuspringen und zu spielen. So rundenbasierter Kampf ist das perfekte Kampfsystem für solche wieder, dass wir erschaffen. Also werde ich Ihnen eine Herausforderung überlassen, Ihr eigenes Layout zu erstellen. Verwenden Sie die Kacheln, die Sie heruntergeladen haben, um die Arena zu erstellen. Vergewissern Sie sich, dass der Player nicht die Grenzen überschreitet und die Kamera nie die Grenzen überschreitet. Und schließlich, lassen Sie mich Ihnen zeigen, was Sie hier tun müssen, wie wir gesagt haben, fügen Sie das Raster hinzu, Sie ein Prefab es. Sie fügen die Kameras, den Spielmanager, den Player, den Level-Manager und den Audio-Manager bei der Musik hier in der virtuellen Kamera, dem Level-Manager im Hintergrund hinzu. Ich glaube nicht, dass wir das brauchen, aber stellen Sie sicher, dass, wenn Sie
Ihre Fliesen setzen , dass Sie eine Grenze haben, wo der Spieler nicht überqueren kann, so dass es nicht nur zu Fuß über, Liebhaber und so weiter. Also überlasse ich Sie mit Ihrer Kreativität, mit all Ihrem Denken. Vergewissern Sie sich, dass Sie alle Änderungen am Ende festschreiben. Und ich sollte nicht auf der Bühne sein, sonst
ignoriere ich alle Kacheln, die wir erstellt haben. Und das war's. Also überlasse ich dich, und ich sehe dich im nächsten Video.
91. Battle UI: Willkommen zurück meine Kollegen Spiele-Entwickler zu einem brandneuen Video. Und wie Sie sehen können, habe ich das Layout erstellt. Ich weiß, wieder, ein sehr langes langweiliges Video über das Ablegen Ihres Auges. Aber wie immer ist es sehr wichtig, wenn Sie möchten, können
Sie voran gehen und Ihr eigenes Kampfszenenlayout implementieren. Ich empfehle wirklich, dass Sie das tun. Das ist dein Spiel. Sie müssen Ihren eigenen Geschmack hinzufügen. Aber bis dahin verschwenden wir keine Zeit und fangen wir an. Okay, jetzt, da wir unsere Tangente eingerichtet haben, ist
es Zeit, unsere Kampfszene aufzustellen. Und wie wird diese Kampfszene aussehen? Sagen wir, wir laufen herum. Wir kommen zu einer bestimmten Gefechtszone, die später entstehen wird. Und wir werden einen Kampf beginnen. Wir werden den Hintergrund ändern. Zunächst einmal werden wir unsere Charaktere umsetzen. Und dann haben wir ein paar Optionen. Zunächst einmal können wir entweder angreifen, Magie
verwenden, unsere Gegenstände benutzen oder aus der Schlacht fliehen. Und dann brauchen wir ein separates Panel, das alle Spielerstatistiken anzeigt. Wie viel verkaufen wir jeden Spieler, mit dem wir spielen? Und ich zeige dir, was ich mit den anderen Spielern meine. Aber zuerst, lassen Sie uns beginnen, indem Sie das Panel oder die gesamte Gefechtebene erstellen. Also werden wir hier ein leeres Spielobjekt erstellen. Wir werden seine Position zurücksetzen und wir werden
dieses Spielobjekt als Kampfszene bezeichnen . Wir werden zwei Ebenen erstellen. Also gehen wir in die Editierebene zu gehen. Wir werden zwei Ebenen erstellen. Der erste wird der Kampfhintergrund sein, und der zweite wird die Kampffiguren sein. Nun, da wir das getan haben, das nächste, was zu tun ist,
jetzt, wo wir damit fertig sind, gehen
wir voran und importieren den Hintergrund. Und ich habe diese coole Lava gefunden und hier, also werde ich sie benutzen. Sie können voran gehen und den Hintergrund verwenden, den Sie wollen. Also gehen wir hin. Das ist die Lava. Ich werde es hier hineinziehen und ich werde die Sortierebene als Kampfhintergrund
festlegen. Da gehen wir. Wenn Sie es nicht mögen, keine Sorgen können Sie andere verwenden. Also werde ich die Skala auf zwei mal zwei einstellen, damit wir die gesamte Kamera abdecken können. Das ist sehr wichtig, oder wir können es vielleicht 1,8 mal 1.8 machen. Da gehen wir. Wir brauchen also ein großes Bild, um die gesamte Kamera auf allen Seiten abzudecken. Und wir werden diese Lava in die Kampfszene und hier bringen, und wir nennen es den Kampfhintergrund. Da gehen wir. Nun das nächste, was wir tun werden, ist, dass wir mit der rechten Maustaste auf die Kampfszene Spiel Objekt gehen wird zu I, und wir werden eine Leinwand nur für die Kampfszene erstellen. Das wird also die Schlacht Canvas sein, schätze ich. Da gehen wir. Lassen Sie uns doppelklicken und schauen, wie es aussieht. Hier werden wir ein Panel erstellen. Also werden wir mit der rechten Maustaste, gehen Sie zu Ihnen, ich klicke auf das Panel. Dies wird unser Menü sein,
Menü, wo wir wählen, was mit jedem Charakter zu tun. Und es wird ein bisschen klein sein. Wir legen es hier runter. Wir gehen in unsere Sprites, Sprites, UI-Elemente. Dies wird unser Standard-Panel sein. Wir werden es irgendwie auftauchen. Und ich kann es hier unten richtig sehen. Warum? Oh, da ist es. Okay, das wird also das Panel sein, das alle Angriffe hält, die wir machen wollen. Also werden wir ein paar Schaltflächen im Menü hinzufügen,
so werden wir mit der rechten Maustaste auf das Menü, gehen Sie zu, Ich, gehen Sie zu einer Schaltfläche und wir gehen, um den Text zuerst, gelöscht in einem Text Mesh Pro. Und es wird heißen, sagen wir „Angriff“. Es wird mutig, mutig, komplett schwarz. Und die Schrift wird offensichtlich die mittelalterliche Party sein. Und der Hintergrund der Schaltfläche wird derjenige sein, den wir ständig verwenden. Und da gehen wir. Das wird also unser Knopf sein. Wir werden es etwas größer machen. Also brauchen wir vier Knöpfe, um hier reinzupassen. Also müssen wir sicherstellen, dass wir alles anpassen. Und wie gesagt, ist dies immer der mühsamste Teil unserer Spiele UI-Layout zu erstellen, aber es ist sehr wichtig, ein gutes zu haben. Lassen Sie mich das einfach ein bisschen kleiner machen und ich werde den Text so
anpassen, dass er richtig passt. Da gehen wir. Das wird also unser erster Knopf sein. Jetzt müssen wir es duplizieren, weil wir Tasten benötigen. Und wir gehen auf die Speisekarte. Wir fügen hier eine Komponente hinzu, die die große Rasterlayout-Gruppe sein wird. Und wir werden alles von hier aus anpassen. Lassen Sie uns also die Zellengröße erhöhen. Da gehen wir. Wir fügen ein bisschen Polsterung auf der linken Seite hinzu, ein bisschen Polsterung von oben. Vielleicht erhöhen Sie die Zellengröße um die Höhe so weit wie möglich. Vielleicht verringern Sie die Zellengröße ein wenig Abstand zwischen ihnen. Und da gehst du. Das ist gut genug. Ich denke. Wie ich schon sagte, das ist alles subjektiv. Sie können Ihre eigenen Layouts nach Ihren Wünschen erstellen. Das sind also unsere vier Knöpfe. Vielleicht erhöhen wir die Zellgröße auf dem y. Ich denke, das ist das Beste, was wir tun können. Und wir werden dies auf den Angriffsknopf ändern. Dies wird der magische Knopf sein. Also haben wir Magie für jeden unserer Charaktere. Das werden die Gegenstände sein. Und das wird die Schaltfläche Ausführen sein. Oder nennen wir das die US-Artikel. Schaltfläche „Elemente verwenden“. Und lassen Sie uns den Text auf jedem von diesen ändern. Das ist also Angriff. Das hier ist die Magie. Dieser wird die Gegenstände sein. Und schließlich werden wir mit ein paar Ausrufezeichen laufen. Da gehen wir. Jetzt haben wir unseren Button eingerichtet. Jetzt ist es Zeit, das Anzeigefeld zu erstellen. Also werde ich das Menü duplizieren. Ich werde das Menü verschieben und hier machen es zu allen Seiten größer. Und wir werden alle Schaltflächen löschen, weil wir sie vorerst nicht brauchen. Wir werden das die Spielerstatistiken nennen. Und dann hier werden wir drei Textnamen für jeden unserer Spieler erstellen. Also Spieler eins, Spieler zwei, Spieler drei. Und unter jedem dieser Spieler werden Schieberegler haben, vor allem, kümmern sich um die Mannose oder wie viel Mana wir noch haben und dann, wie viel Gesundheit jeder unserer Spieler noch hat. Also lassen Sie uns voran und fügen Sie einen Text Mesh Pro hinzu. Zuallererst werden dies die Namen sein. Also werde ich nur die Rasteransicht für jetzt stoppen. Schalten Sie es aus, setzen Sie es vielleicht sogar zurück und schalten Sie es dann aus. Vielleicht sogar komplett entfernen. Aber wir behalten es vorerst. Dies wird also der Textname sein. Nehmen wir zum Beispiel an, es ist Spielername eins. Und es wird natürlich
dasselbe sein, alles komplett schwarz zu setzen. Da gehen wir, der Spieler Name eins. Und unter Jahr werden wir die beiden Schieberegler hinzufügen. Also klicken wir mit der rechten Maustaste. Und zunächst einmal lassen Sie mich ein leeres Spielobjekt für den Spieler erstellen. Einer beim Text hier unten. Oder der Spieler sollte hier wirklich nach unten bewegen und der Text sollte zurückgesetzt werden. Also setzen wir die Position des Textes relativ
zum Spielerspielobjekt zurück, so dass wir es hier einstellen können und wir machen es einfach ein bisschen größer. Es geht also um die Größe, in der wir den Player einstellen wollen. Natürlich werden wir das ändern. Wir sagten, die Rasteransicht, so dass der Spieler Name eins zum Beispiel. Und jetzt werden wir mit der rechten Maustaste und hier auf einem UI-Schieberegler. Das wird also der Gesundheits-Schieberegler sein. Und natürlich gibt es ein paar Dinge, die wir ändern müssen, damit der Griff vollständig entfernt werden kann. Der Hintergrund wird der Schiebereglerhintergrund sein, den wir hinzugefügt haben. Und der Füllbereich oder die Füllung, tatsächliche Füllung wird die rote Folie sein. Also gehen wir hin. Also, wenn wir jetzt zum Gesundheits-Schieberegler gehen, erhöhen wir ihn. Da gehen wir, Es funktioniert, aber es gibt ein paar Dinge, die wir ändern müssen. Halten Sie also den Hintergrund Alt gedrückt, klicken Sie auf diese Schaltfläche unten rechts. Gehen Sie dann zum Füllbereich. Klicken Sie hier. Halten Sie sich fest. Alle. Öffne das auf. Nein, das ist nicht gut genug. Lassen Sie mich nur sicherstellen, dass alles gut funktioniert. Also, da gehst du hin. Wie Sie mich gesehen haben, klicken Sie
einfach auf das Füllloch, klicken Sie auf die Anker hier, halten Sie die Alt-Taste gedrückt, damit sie alle zu den Rändern gehen. Und jetzt müssen wir ein paar Anpassungen vornehmen, um alles in den Schieberegler richtig zu passen. Ich weiß, das ist ein bisschen mühsam, aber das ist nicht notwendig. Unglücklicherweise. Nicht alles, was du tust, etwas, das du liebst, aber manchmal ist es notwendig. Also gehen wir hin. Jetzt haben wir unseren Gesundheits-Schieberegler. Klicken wir hier. Ziehen wir es rüber und machen es ein bisschen größer. Also gehen wir hin. Sieht nett aus. Wir werden den Zellen-Schieberegler duplizieren, und wir legen ihn hier fest. Dies wird der Mana-Schieberegler sein. Und wir werden den Film ändern. Also wird die Füllung hier das Blau sein. Da gehen wir. Wie es richtig eingerichtet ist. Ja, ich denke, das ist gut genug. Also jetzt, wenn wir auf den kleinen Schieberegler
gehen und ich werde es vielleicht ein bisschen dicker machen. Fügen Sie also ein bisschen Dicke hinzu, also ist es offensichtlicher. Da gehen wir. Und in der Health Bar, auch ein bisschen Dicke. Da gehen wir. Okay, das sieht also nett aus. Vielleicht müssen wir es später etwas kleiner machen. Wir werden sehen, wie wir das machen werden. Aber für jetzt, sagen wir, da gehen wir, Spieler 1. Lassen Sie uns den Spieler duplizieren. Dies wird der Spieler zwei sein. Und wenn wir es nach rechts bewegen, dort gehen wir Spieler, um dies wieder zu duplizieren. Und okay, also passt es nicht. Wir wussten bereits, dass, wenn wir das Rasterlayout hier hinzufügen, dies sehr umständlich sein wird. Also, wenn wir versuchen, die Zellgröße erhöhen
und vielleicht die Größe so zu erhöhen. Also wieder, ich passe alles an, was getan werden muss. Wie Sie sehen können, kann ich die Gesundheit und
den Gesundheits-Schieberegler wählen und einen Schieberegler fordern und sie nur ein wenig kleiner machen. Wir können sogar die Breite auswählen, die wir hier bekommen, und kopieren Sie sie
und fügen Sie sie auf den Gesundheits-Schieberegler auf dem zweiten ein. Und am dritten Viertel das Mana für das Mono und für den Rest von allem. Und lassen Sie es uns einfach bewegen. Okay, also schätze ich, das ist gut genug. Lassen Sie mich einfach ein paar
Werte auf dem Gesundheits-Schieberegler ändern , damit wir wissen, dass sie tatsächlich funktionieren. Und auf das Mana, lass mich sie ändern, damit wir wissen, dass sie unterschiedlich sind. Jetzt, wo wir den Spieler eins haben, haben
wir den Spieler zwei. Und wir haben Schicht 3 mit ihren Namen, mit ihren Gesundheitsbalken, mit ihren Manabarken. Im nächsten Video können
wir anfangen, unsere Charaktere auszulegen. Und Sie können hier unten im Spielmodus oder in der Spielansicht sehen, wie das aussehen wird. Also werden wir die Feinde haben. Und hier zum Beispiel können 1, 2, 3, 4, 6 Feinde sein. Und hier drei Spieler,
mehr, wenn Sie möchten, wenn Sie zum Beispiel für Spieler,
fünf Spieler hinzufügen möchten , müssen Sie sicherstellen, dass Sie
ein zweites Panel hinzufügen oder alles zusammendrücken. Und wir werden mehrere Optionen haben. Wir können entweder normal mit einem Schwert angreifen oder so. Wir können Magie gebrauchen. Wenn wir Magie oder Mono haben, können
wir Gegenstände verwenden oder wir können weglaufen und Gegenstände können
zum Beispiel Ausrüstung sein, die eine bestimmte Waffe ausstattet. Vielleicht könnte uns das helfen, eine bestimmte Art von Feind zu besiegen, oder vielleicht einfach nur einen Trank zu nehmen, unser Mono zu erhöhen, unsere Gesundheit zu erhöhen, und verlassen, um ein paar Sekunden mehr zu kämpfen. Also hoffe ich, Sie genießen es. Ich weiß, dass diese UI Layout-Videos sehr lang und langweilig sind. Das liegt daran, dass alles auf Subjektivität basiert. So habe ich mich angelegt. Vielleicht willst du deine Welt ein bisschen anders auslegen. Also danke, dass du mit mir trägst und ich sehe dich im nächsten Video.
92. Kampffiguren: Willkommen zurück, meine Spiele-Entwickler. Wie Sie sehen können, haben
wir eine Menge von
beängstigenden Charakteren geschaffen und auch kämpferisch und bereit, Spieler zu kämpfen. Also haben wir Jimmy, Draco und das Gramm, und wir haben einen Master Major, blaue Phase Hexenmeister und eine normale mmh. Also werden wir lernen, wie man all diese erstellt. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, also Zeit, um ein paar Kampffiguren hinzuzufügen. Zuallererst brauchen wir diese Primaten. Also gehen wir hier rein, klicken Sie mit der rechten Maustaste und erstellen Sie einen Ordner für die Spieler, die potenziellen Spieler werden einfach alle diese in den Ordner des Spielers legen. Und lasst uns zu den Ressourcen gehen und die Feinde hinzufügen. So werden diese die Feinde werden nur ziehen diese Tabellen und hier. Und ich werde das in die Feinde umbenennen. Also, da gehen wir, da können Sie sehen, dass wir ein paar Feinde haben. Gehen wir weiter und schneiden sie in Scheiben. Also werde ich das anwenden, gehen Sie in den Sprite-Modus und ich werde aufschneiden, Lassen Sie es versuchen 64 von 64. Nein, das hat nicht geklappt. Also lassen Sie uns versuchen, 120 bereits
wissen , wie wir dies normalerweise tun, wir werden dies ein bisschen größer machen. Wir werden sehen, dass die Größe 342 mal 220 ist. Also bekommen wir unseren Taschenrechner. Und hier drinnen nehmen wir 348 und teilen sie durch vier. Da gehst du. Also ist es 987. Und dann nehmen wir 202, die 0 geteilt durch 2, das sind 110. Wir schneiden das auf und los geht's. Wir haben perfekte
Scheiben, schneiden Sie das auf, wenden Sie sich an. Da gehen wir. Also, jetzt haben wir diese feindlichen Sprites in Scheiben geschnitten. Sehr gut. Jetzt wollen wir die Standardpositionen für den Spieler und die Feinde festlegen. Also werde ich wieder hier runter gehen. Lass uns das etwas kleiner machen. Und ich werde den Kampf Canvas für
jetzt ausschalten , damit wir hier alles klarer sehen können. Also zuerst, lasst uns voran gehen und mit der rechten Maustaste
ein leeres Spielobjekt erstellen , das der Spieler sein wird, Sagen wir Spieler 1 oder so. Und wo ist er? Da ist er. Also werden wir ihn hierher bringen. Und dann werden wir ein, ein anderes Spielobjekt erstellen. Und ich zeige Ihnen, warum es ein Kind ist, wird
die Position eins sein , und wir werden das deaktivieren und dann den Spieler mit ihm unterschreiben. Und warum haben wir das getan? Nun, weil wir wollten, dass die Position eins genau auf dem Spieler ist. Wir haben also ein Kind auf dem Spieler geschaffen, das
uns die genaue Position gab , und dann entfernen wir das aus. Das ist also nur ein kurzer Tipp, wenn Sie eine schnellere Art und Weise wollen, Dinge zu tun. Also gehen wir zum Player bei einem Sprite-Renderer. Sprite-Renderer. Da gehen wir. Wir gehen zu den Charakteren. Spieler scrollen nach unten und wir werden den Spieler noch zu diesem hinzufügen. Und wir werden sicherstellen, dass er ein Kampfcharakter ist. Also gehen wir, oder wir können, wenn du willst, ihn
dazu bringen, den Feinden in diese Richtung zu stellen. Ich denke, das ist viel besser und stellen Sie sicher , die Position zu bewegen, wo Sie Ihren Spieler setzen möchten. Wir werden ihn duplizieren. Duplizieren Sie sie noch einmal. Also gehen wir hin. Jetzt haben wir drei Positionen für die Spieler zu beginnen Front anzugreifen. Aber das auf zwei. Das hier auch bis zwei Stunden, ich meine drei, Entschuldigung, Entschuldigung, da gehen wir. Jetzt haben wir Position eins, Position zwei, Position drei mit einem Spieler auf jedem von ihnen. Natürlich werden wir das Sprite später ändern. Aber jetzt lassen Sie uns voran und erstellen Sie hier ein leeres Spielobjekt, das die Positionen des Spielers genannt werden wird. Und wir werden diese Spielerpositionen unter dem Spielerposition Spielobjekt einstellen. Gehen wir weiter und duplizieren das hier. Wir werden ihn auf die andere Seite bringen. Und das werden die Feinde Positionen sein. So positioniert sich die Feinde. Und hier drinnen werden wir natürlich diese Namen hier auf die Feinde ändern. Mal sehen, ob das funktioniert oder der Feind eintritt. Ja, da gehen wir. Es hat vollkommen ehrlich funktioniert. Und wir werden uns natürlich in den Sprites ändern. Also werde ich nur noch eine hinzufügen, die wir vorerst haben. Also, was ist diese Art von nicht sicher, was es ist? Dieses seltsam aussehende Monster wird es hier reinbringen. Und es ist ein bisschen klein, weil wir sicherstellen müssen, dass es ist, versuchen
wir 30, um zu sehen, wie groß das gilt. Er ist etwas dunkel. Ja, er ist etwas dunkel. Zu dunkel für uns. Vielleicht wollen wir das ändern. Tut er das nicht? wir sicher, dass er kein Filter ist. Wenden Sie das an. Ich denke, das ist eine wie eine Butter und vielleicht lass uns versuchen, ihn damit 16 zu machen. Ok. Nein, nein, nein, nicht 1632. Bewerben. Ok. Keine Sorge. Wir werden vielleicht die Position dieser Kopie verschieben, aber tatsächlich werden wir sechs oder vier Feinde haben. Lass uns vier haben. Und da gehen wir. Das hier ist also der vierte. Und er wird hier drin sein. Der dritte wird hier sein. Sie können sechs hinzufügen, wenn Sie möchten. Das ist kein Problem. Also dieser hier, dieser hier. Bringen wir ihn ein bisschen nach oben. Und dieser wird hier oben sein. Lassen Sie uns den vierten bewegen, damit er nicht ganz im Dunkeln ist. Und der dritte, da gehen wir. Jetzt haben wir die Feinde, die Spieler. Jetzt müssen wir ein Skript erstellen,
das unseren Blütenblättern Charakter verleiht . Also lassen Sie uns in unsere Skripte gehen und wir werden hier einen neuen Ordner erstellen. Und es wird der Gefechtssystem-Ordner sein. Also Kampfsysteme Geben Sie ein, öffnen Sie das. Lassen Sie uns voran und erstellen Sie ein C-Skript. Und es wird der Kampf sein. Charaktere. Drücken Sie die Eingabetaste, warten Sie, bis es kompiliert. Okay, also doppelklicken Sie hier. Öffnen Sie Visual Studio. Da gehen wir. Also jetzt sind wir bereit für den Kampf und noch nicht. immer, zuerst müssen
wir feststellen, ob dies ein Spieler ist oder dies ein Feind ist,
weil wir gesagt haben, dass dies ein Kampfcharakter ist. Feinde sind auch Charaktere. Es ist also ein, es wird ein serialisiertes Feld sein, ein Boolean und ist Spieler. Das wird also sein, nun, wenn er ein Spieler ist, wird
das wahr sein. Wenn nicht, wird es falsch sein. Dann werden wir ein weiteres serialisiertes Feld erstellen, das ein Array von Strings sein wird. Und es werden die Angriffe sein, die diesem Charakter zur Verfügung stehen. Wir werden also nicht zu viele Angriffe haben. Ich denke, Feuer, Eis, vielleicht eine Art Pflanzenangriff. Ich weiß es nicht. Wir werden sehen. Und dann die regelmäßigen Slashing-Angriffe. Dann werden wir ein paar Eigenschaften für unsere Spieler oder Charaktere haben. Es wird also eine öffentliche Zeichenfolge sein, der Zeichenname. Natürlich brauchen wir den Namen. Dann wird es eine öffentliche Integer sein. Aktueller HB. Es ist also die aktuelle HP des Charakters, die maximale HP dieses Charakters, vk, aktuelle Mano des Charakters und der Max Mann des Charakters. Aber nicht nur das, wir brauchen auch die Geschicklichkeit, die dieser Charakter hat. Und wir werden das benutzen. Wir werden die Geschicklichkeit nutzen, um zu bestimmen, wie viel Kraft wir anwenden können. Wir werden den Unterschied bekommen. Wir werden die Waffenkraft bekommen. Und wir werden natürlich den Rüstungsunterschied bekommen . Und das werden alle Eigenschaften sein, die sich verbessern oder verändern werden. Oder wie kann ich es sagen? Beeinflusst die Art und Weise oder die Höhe des Schadens, den jeder Charakter verursacht, oder den Betrag, dem er widerstehen kann. Und schließlich werden wir eine öffentliche boolesche erstellen, die so sein wird, und wenn die Charaktere, die er stirbt. Okay, also werden wir das retten. Und jetzt gehen wir zurück in Unity o k. Also was wir
jetzt tun werden, ist, dass wir einen dieser Spieler nehmen, oder lasst uns nehmen die, oder jeder Spieler, spielt keine Rolle. Wir werden den Kampfcharakter auf diesen Spieler ziehen. Und wir werden ein paar Dinge hier reinbringen. So zum Beispiel, das ist, ein Spieler wird den Namen hinzufügen. Sagen wir, das wird sein, das ist Jimmy. Das wird also V Jimmy sein. Und der Rest wird automatisch hinzugefügt, wenn wir
die Informationen zu jedem Charakter, mit dem wir spielen, aus den Spielerstatistiken erhalten. Aber da kommen die Feinde. Die Feinde haben keine Spielerstatistiken auf ihnen. Also müssen wir dies manuell für jeden von ihnen tun. Also ziehen wir, wir haben es auf den Feind gesetzt, und jetzt werden wir beginnen, alle Änderungen auf den Feind anzuwenden. Also werde ich mit Ihnen als Herausforderung ausgeben, um einen Feind Statistiken zu erstellen. So fügen Sie Skript, um die Feinde und die Prefab sie und setzen ein paar Statistiken für diese Feinde. Und offensichtlich habe ich dir ein paar Sprites gezeigt. Gehen Sie voran, verwenden Sie Ihre eigenen Sprites, wenn Sie Feinde haben, die Sie zu Ihrem Spiel auf Eigenschaften, um sie hinzufügen
möchten. Und die Prefab sie, weil wir sie später benutzen werden. Also pausieren Sie das Video jetzt und gehen Sie erstellen Ihre Feinde. Okay, willkommen zurück. Wie Sie sehen können, habe
ich für geschaffen, nennen wir sie Monster. Wir haben die Hexenmeister, den Magier, den Meister und das blaue Gesicht. Und das ist die blaue Phase, diese als die Meister-Hexenmeister und der Major. Und ich habe auch drei Spieler geschaffen. Also haben wir Jimmy, wir haben Draco und wir haben das düstere. Und düster ist ein Hinweis auf Billy und Maddie Grant auf Cartoon Network. Wenn du es nicht gesehen hast. Ich weiß nicht, was du in deiner Kindheit getan hast. Aber jedenfalls haben wir drei Charaktere erschaffen. Und wenn die Spieler keinen besonderen Status haben, werden sie automatisch aktualisiert. Und sie sind Spieler, aber die Feinde haben jeweils ihren eigenen Status. So können Sie zum Beispiel sehen, der Meistermagier alle 66 Sechse hat, weil er,
ich weiß nicht, eine Art Dämon ist . Dann haben wir die Hexenmeister. Er hat mehr Mana als HP und sagen wir weniger Geschicklichkeit und Verteidigung, aber viel mehr eine Waffenkraft, zum Beispiel. Und wir haben den Major, der normale Abwehrkräfte hat und so weiter. Verteidigung nein, er hat nicht viele Unterschiede, weil ich das
Gefühl habe , er hat einen schwachen Körper aus irgendeinem Grund, aber er hat eine Menge Waffenkraft, weil er diese Eier hat, ich weiß nicht. Und die blaue Phase, die sehr ist,
sollte ein sehr einfacher Charakter sein, mit dem man umgehen kann. Also, das ist ganz oben auf meinem Kopf, wie ich denke, wie es mir geht. Ich hoffe, Sie erstellen Ihre eigenen Charaktere nach Ihren eigenen Statistiken für jeden der Feinde. Und ich hoffe, du hast Spaß, denn
im nächsten Video werden wir tatsächlich einen Kampf beginnen. Also sehe ich dich dann.
93. Schlacht starten: Willkommen zurück meine Spiele-Entwickler zu einem brandneuen Video, wo wir tatsächlich beginnen unsere Schlacht. Also lasst uns das Spiel laufen. Nehmen wir an, wir laufen herum, so dass wir zu dieser Position kommen und oh nein, ein Kampf beginnt. Nun, ich habe es manuell gemacht. Ich habe den BP gedrückt, aber wie Sie sehen können, beginnen wir den Kampf und nicht nur das, wir können Jimmy nicht mehr bewegen, bis die Schlacht beendet ist. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, jetzt ist es Zeit, ein paar Schlachten zu beginnen. Das erste, was zu tun ist,
ist offensichtlich, voran zu gehen und einen Kampfmanager zu erstellen. Aber bevor wir das tun, werden
wir hier ein leeres Spielobjekt erstellen, und es wird der schlechte Manager sein. Wir werden seine Position zurücksetzen. Und wir werden die Kampfszene dem Kampfmanager zuordnen. Und wir gehen in den Hintergrund des Kampfes und stellen sicher, dass seine Position 00 ist. Mach dir deswegen keine Sorgen. Wir werden alles später verschieben oder einfach überspringen für jetzt und
hier und wir werden sehen, dass wir mit allem umgehen und nur 0 Fall bleiben. Nun, zurück in unseren Skripten und im Kampfsystem, werden
wir einen Kampfmanager erstellen. Also Patho Manager, drücken Sie Enter, warten Sie, bis es kompiliert. Nein, wir müssen das nicht öffnen. Okay, und wir werden es
natürlich ziehen, und zum Kampfmanager-Spielobjekt. Und wir werden diese Gruppe eröffnen. Also werden wir ein paar Dinge brauchen. Also werde ich sie durchgehen und dir alles erzählen. Zuallererst brauchen wir eine Instanz. Also öffentlich, statisch, aber Manager-Instanz, speichern Sie das. Dann brauchen wir eine Variable, die verfolgt, ob ein Gefecht aktiv ist oder nicht. Also werden wir es privat machen, weil es dynamisch verändert wird. Und es wird sein, ist Kampf aktiv wahr? Es ist aktiv, falsch, es ist nicht aktiv. Dann brauchen wir einen Hinweis auf die Kampfszene. Also werden wir eine serialisierte Spielobjekt-Kampfszene erstellen. Dann brauchen wir einen Hinweis auf die Position des Spielers. Positionen. Es wird also vom Typ Transformation sein. Und natürlich wird ein Array sein, weil wir mehrere davon haben und es wird die Spielerpositionen oder die Positionen des Spielers sein. Es ist ein besserer Name. Natürlich brauchen wir auch die Feinde Positionen. Feinde Positionen, und benötigen einen Verweis auf alle Kampffiguren zur Verfügung, die Feinde und die Spieler. Also werde ich hier ein serialisiertes Feld erstellen, das vom Typ Kampfcharaktere sein wird. Es wird ein Array sein, und es wird die Player-Prefabs sein, weil wir sie instanziieren werden. Wir wollen nicht immer die gleichen Spieler haben, immer hier spielen. Wir wollen sie dynamisch instanziieren, basierend darauf, wohin wir gehen. Und wir werden Spieler Prefabs und die Feinde erschaffen. Prefabs brauchen hier ein Semikolon. Und wir hätten das alles auf die gleiche Linie setzen können. Also werde ich löschen und ein Komma hinzufügen. Also sparen wir ein wenig Platz, weil dies unser bislang größtes Skript sein wird. Und schließlich müssen wir beginnen, die Instanz auf
diese Instanz gleich zu setzen , speichern Sie das. Und dann werden wir die Ladung nicht zerstören. Vielleicht brauchen wir das nicht mal, weil wir es nur ein bisschen sehen werden, aber lassen Sie es uns einfach behalten. Als Nächstes. Wir wollen eine Methode, um den Kampf zu beginnen. Also werde ich eine öffentliche Leere schaffen. Beginnen Sie den Kampf und was brauchen wir und beginnen Fledermaus? Nun, zunächst einmal brauchen
wir Parameter, um zu wissen, welche Feinde zu erkennen, zu lokalisieren, zu lokalisieren. Ich bin mir nicht sicher, wie es heißt. Welche Feinde werden wir instanziieren? So sind die Spieler bereits alle verfügbar. Sagen wir mal, wir laufen in einem Kerker. Wir wollen keine zufälligen Spieler ausgeben. Wir wissen bereits, wen wir mit uns auf die Reise genommen haben, aber wir wissen nicht, welche Feinde herauskommen und tangential werden. Also werden wir eine Zeichenfolge erstellen. Und es wird eine Reihe von Saiten und die Feinde zu erkennen sein. Okay, wir werden hier einchecken. Wenn es keinen Kampf gibt. Wenn es also keinen Kampf gibt, dann werden wir den Kampf aktiv auf wahr setzen. Und wir wollen auch unseren Charakter davon abhalten, sich zu bewegen oder etwas zu tun. Also arbeiten wir mit Jimmy zusammen. Wir beginnen einen Kampf. Wir öffnen die Kampfszene, aber wir wollen nicht mit Jimmy bewegen können. Also wieder, wir werden in
den Spiele-Manager gehen und wir werden noch einen Boolean hier hinzufügen, der
die Schlacht sein wird, ist aktiv. Speichern Sie das. Und wenn es aktiv ist. Dann fügen wir hier eine Bedingung hinzu, dass die Schlacht aktiv ist. Wir werden das jetzt wieder retten. Und unser Kampfmanager, als wir sagten, dass der Kampf aktiv zu wahr ist, werden
wir auf die Spiel-Manager-Punkt-Instanz zugreifen. Das Gefecht ist aktiv, um wahr zu sein, oder es kann gleich als aktives Gefecht sein. Oder wir können von hier aus auf den Kampfmanager zugreifen. Aber wir geben dem Spielmanager einfach so einfach wie möglich. Also werden wir das retten. Und schließlich müssen wir die Kampfszene einschalten. Also Kampfszene, die aktiv auf wahr gesetzt. Speichern Sie das. Und jetzt endlich müssen wir die Schlacht beginnen, nachdem wir eine Taste gedrückt haben. Also werde ich es dir als Herausforderung ausstellen. Und deine Herausforderung ist es, den Kampf zu beginnen. Nehmen Sie also eine Schlüsseleingabe und aktualisieren Sie und rufen Sie die Kampfstart-Methode auf. Und um ein neues String-Array zu erstellen, weil Sie ein String-Array hinzufügen, müssen
Sie innerhalb des Parameters neue Zeichenfolge schreiben, die Klammern und die String-Namen
hinzufügen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Oh, hey, willkommen zurück. Wie hast du das alles bekommen? Also hier in werden wir eine if-Bedingung erstellen und wir werden nach einem Eingabepunkt suchen, Schlüssel erhalten. Und natürlich bekommen keydown und dann keycode dot, ich denke B ist ein geeigneter Brief zu drücken oder zu drücken. Und dann rufen wir den Kampfstart an. So Schlachten starten oder Start-Button. Sicher, warum nicht? Wir können den Kampf beginnen. Und hier drin brauchen wir eine Schnur. Wir müssen ein String-Array senden. Also werden wir eine neue Zeichenfolge erstellen. Und wir werden die Klammern öffnen, genau wie ich Ihnen auf der Syntax gezeigt habe, während die geschweiften Klammern. Und hier werden wir die Namen der Feinde schreiben, die wir hinzufügen wollen. Aber eine kleine Sache zu beachten, dass wir 100% korrekte Namen brauchen. Also gehen wir hier rein und zur Einheit, sobald es uns erlaubt. Danke. Also, wo sind unsere Prefabs? Aber zwei Charaktere, Feinde, Magier, Master Major, wir kopieren das, wir fügen es hier ein, und dann wieder kopieren wir die, Fügen Sie einen Hexenmeister, kopieren Sie das, ad ihn hier, speichern Sie das. Und nun lasst uns in Unity gehen und das testen. Also schalten wir zuerst die Kampfszene aus. Oh, wir müssen alle Variablen zuweisen, damit der Spieler positioniert. Öffnen wir dieses Fenster und sperren Sie dieses Fenster, wählen Sie die Positionen des Spielers aus, ziehen Sie sie in die Positionen des Spielers. Wähle alle gegnerischen Positionen aus ziehe sie in die gegnerischen Positionen. Lassen Sie uns alle feindlichen Prefab auswählen, ziehen Sie sie in die feindlichen Prefabs, und gehen Sie zu den Spielern. Und wir machen genau das Gleiche. Wie Sie jetzt sehen können, haben wir hier alles eingerichtet. Und schließlich brauchen wir die Kampfszene. Da gehst du. Das ist die Kampfszene. Wir werden voran gehen und alle Positionen von oder tatsächlich alle Feinde in hier ausschalten. Da gehen wir. Warum kam alles zu einem O? Weil okay. Wie du gesehen hast, weil ich den Kampfmanager hier eingeloggt habe, dachte
ich, dass ich nur die Feinde ausgeschaltet habe. Also wurde alles ausgeschaltet. Dies ist einer der, Sie könnten denken, das war dumm und es war, aber glauben
Sie mir, Sie werden für das einmal und eine Weile fallen. Jedenfalls wurde alles aus dem Hintergrund des Kampfes ausgeschaltet. Ok. Also Manager Kampfszene, ich werde die Kampfszene ausschalten. Ich werde das Spiel laufen und es gibt einen Fehler, der ein Semikolon ist. Okay, tut mir leid für das in unserem Spiel. Was ist das Problem hier? Ich glaube nicht, dass es irgendein Problem gibt. Wir werden unser Spiel laufen. Das ist ein Pfeil, der gerade aufgetaucht ist. Da gehen wir. Wir laufen herum, wenn wir die Taste B drücken. Okay, wie Sie sehen können, ich mich nicht mehr bewegen. Unsere Kampfszene ist aktiviert, aber sie ist nicht in der richtigen Position. Also lasst uns weitermachen und es bewegen. Also beim Kampfstart schalten
wir die Kampfszene ein oder getrocknet, bevor wir die Kampfszene hier aktivieren, werden
wir weitermachen und die Transformation erhalten. Punktposition entspricht dem neuen Vektor drei. Was ist die Position, an die wir gehen wollen? Nun, es ist die Kamera, weil wir eine Follower-Zählung haben. Also, wo auch immer unser Spieler ist, wir wollen das Kampfmanager-Spielobjekt direkt darauf setzen. Also werden wir auf die Kamera-Punkt-Domain zugreifen. Also Kamera Punkt main, das ist die Hauptkamera und es ist die eine, die wir tatsächlich brauchen, um die transformierte Position x Komma Duplikat, Duplikat
zugreifen. Und du kennst den Bohrer. Warum z und mit, ich glaube nicht, dass wir das brauchen. Wir können es als die transformierte Position halten, z Transformationsposition. Und eigentlich nicht nur das, nein,
wir müssen sicherstellen, dass wir nicht den Zed der Kamera setzen. Denn wenn wir hier wieder rein gehen, schauen
wir uns die Kamera an und
schauen, wo das ist. Es ist also um 12.4 Uhr und die Hauptkamera ist bei minus 1,33. Also stellen Sie sicher, dass ich in der Zed ist bei minus zehn. Wir müssen also sicherstellen, dass wir nicht auf
die Z-Komponente oder diese App-Komponente zugreifen , wir werden das speichern. Nun hatte ein Enter speichern, dass zurück in unserem Spiel. Wir führen das Spiel. Wir bewegen uns auf eine andere Seite. Also sind wir hier, wenn wir die Taste B drücken. Okay, wir sehen nichts aus irgendeinem Grund, während die Hauptkamera. Also lasst uns das noch einmal versuchen. Warum sind wir in eine sehr schlechte Position gezogen? Also B, C, es ist um die Hauptkameras, 1013, NDB-Schlüssel. Okay, also ist etwas nicht richtig. Die transformierte Position der Kamera. Oh, okay, das Problem war also, wenn wir auf den Hintergrund des Gefechts klicken, werden
Sie hier sehen, dass der Hintergrund der Schlacht um 11.06 ist. Was wir also tun müssen, ist es auf 0 zu setzen. Jetzt, wenn wir unser Spiel laufen, bewegen
wir unseren Charakter. Nehmen wir an, wir treten hier rüber, schlagen den Schnabel. Da gehst du. Es ist direkt vor uns. Klar, wir haben immer noch keine Spieler oder Feinde, aber wir werden das im nächsten Video tun. Also, wenn Sie den Kurs genießen, wenn Sie mich als Lehrer mögen, wenn Sie Spaß haben, lassen Sie mir
bitte eine Rezension. Es hat mir sehr geholfen und ich sehe dich im nächsten Video.
94. Spieler hinzufügen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler und dieses Video und wir führen unser Spiel. Sie können sehen, dass wir Draco haben und hier haben wir die Steigung hier können wir ihn sogar bewegen. Wir müssen das in Ordnung bringen. Wir müssen auch die Kollider auf beide biegen. Also, wenn wir die Taste B drücken, starten Sie den Kampf. Da gehst du. Sie können sehen, dass alle aktiven Charaktere in unserer Szene jetzt bereit für den Kampf sind. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, jetzt ist es Zeit, Spieler und Feinde hinzuzufügen. Lassen Sie uns also beginnen, indem Sie die Spieler hinzufügen. Wer sind die Spieler? Nun, das sind sie. Lassen Sie mich nur nehmen, wo unsere Prefabs, Kampffiguren Spieler, das sind unsere Spieler. Wir werden also diese Spieler in unserem Spiel erschaffen. Und dann werden wir sie mit
dem Spiele-Manager finden und sie zu den Spielerstatistiken hinzufügen, die hier drin ist. Also werden wir sie finden, sie zu den Spielerstatistiken
hinzufügen, dann rufen Sie den Spielmanager an, holen die Spielerstatistiken von ihm und fügen sie in unserem Kampfmanager hinzu. Also zuerst müssen wir beim Spieler in die Prefabs gehen. Und hier werden wir ihn hier setzen. Wir werden das dunkle Monster hinzufügen. Ich bin mir nicht sicher, wie er heißt. Oh, Draco. Draco. Er hat einige Spielerstatistiken seinen Namen als Draco. Und Draco hier betreten und er hat, mal sehen, aktuelle XP, ich weiß nicht, vielleicht 72, Max HP, vielleicht 250 mit einer aktuellen HP von 250, maxmin ist 10, 10, 10. Lasst uns Geschicklichkeit sehen. Ich glaube, er hat mehr Geschicklichkeit, verkauft 40 Verteidigung. Er hat eine große Rüstung, also schätze ich, es sind zehn. Und das war's. Und später werden wir sehen, was passiert, er kann, also retten wir das. Und jetzt werden wir ihn und zum Prefab hinzufügen. Lassen Sie uns also einen Ordner für die Spieler erstellen. Nun, das ist der Spieler und die Spieler. Und dann holen wir Draco und fügen ihn hier ein und erstellen ein originelles Prefab. Also drücken Sie Enter. Jetzt haben wir Draco, der eine zweite hinzufügen wird, die die 0 sein wird. Und bevor wir Draco vergessen, haben
wir den Sprite-Renderer. Wir wollen das Player-Skript nicht auf ihm haben, also werden wir das Player-Skript
entfernen, die Animate 2 entfernen, und das war's. Ich denke, das reicht. Und wir werden Draco hierher bringen. Also nebenan ist ein bisschen zu groß, vielleicht unsere Unbekannten, aber keine Sorgen darüber werden ihn hier reinbringen. Und dann der zweite Spieler, wo ist er? Spieler? Da gehen wir. Er ist hier. Es wird das Skelett sein. Also lasst uns nach dem Skelett suchen. Oh, und bevor wir vergessen, die, das Charakterbild sollte auch geändert werden. Wir werden also sicherstellen, dass dies
das Charakterbild ist , und wir werden diese Änderung anwenden. Okay, ich denke, das ist alles, was wir für Draco tun müssen. Lasst uns dasselbe für die Skelette machen. Also, wo waren wir? Der Spieler hat gewonnen. Die düstere. Kopieren Sie das. Fügen Sie es hier ein. Geben Sie ein. Mal sehen, wir müssen eines der Bilder wählen. Wen sollten wir diesen wählen? Und wir werden es auch hier hinzufügen, wird das Gramm neben Draco bewegen. Und was sollen wir hier hinzufügen? Also, was ist die maximale HP? Ich denke, es sollte unendlich sein, da er ein Skelett ist. Oder lasst uns ein magisches Skelett machen. Also wird die HP niedrig sein. Also werden wir 7070 machen, sagen wir 120. 120 Geschicklichkeit Sagen wir 30 oder nein, nein. Machen wir ihm 50. Und der Unterschied ist Garantie. Und da gehen wir, wir retten das. Außerdem entfernen wir den Animator und entfernen die Player-Komponente. Und wir werden ein Prefab aus ihm erschaffen. Also werden wir in die Ebenen gehen und wir werden das düstere hinzufügen, da ein altes Original Prefab das speichern wird. Okay, toll, jetzt sind wir bereit. Gehen wir in unsere Drehbücher, in den Kampfmanager. Und wir werden diese Methode hier reinziehen, nur um alles sauber zu halten. Denn wie ich schon sagte, wird eines der längeren Skripte sein, die wir erstellen werden. So wird dies die Einrichtung Kampf sein, drücken Sie Enter, und wir können sogar schließen Sie es aus, um es zu sparen, aber Platz, halten Sie alles sehr sauber. Also hier drin werden wir zuerst, wie ich schon sagte, alle Spielerstatistiken auf dem Spielmanager durchlaufen. Also werden wir eine for-Schleife erstellen, die gehen wird und ich gleich 0 ist, ich ist weniger als v0. Game Manager Punkt-Instanz, Punkt-Spieler-Statistiken, Punktlänge. Dies ist eine Methode Punktlänge und wird jedes Mal um eins erhöht. Hier werden wir überprüfen, ob die Spielerstatistik, die wir versuchen zuzugreifen, oder das Spielobjekt dieser Spieler, die tatsächlich in der Hierarchie aktiv ist. Also werden wir überprüfen, ob ein Manager Punkt-Instanz, Punkt-Spieler-Statistiken. An der Position I Punkt ist Akt oder Punkt, Spielobjekt, Punkt, aktiv und Hierarchie. Dann werden wir durch
unsere Prefabs schleifen und sehen, ob wir diesen Charakter zur Verfügung haben. Also werden wir wieder eine Schleife
im Inneren erstellen , weil wir das Prefab nicht tatsächlich instanziieren wollen. Wir haben das Prefab und lassen Sie mich es Ihnen nochmal zeigen. Der Prefab hier ist anders als der Kampfcharakter, den wir instanziiert haben. Also wollen wir den Namen bekommen. Und basierend auf diesem Namen wollen
wir zu den Prefabs gehen, die auf dem Kampfmanager sind. Also sind wir z die Spieler Prefabs. Da gehen wir. Und dann wollen wir überprüfen, ob wir das Prefab zur Verfügung haben. Und dann werden wir es mit einem Kampfcharakter auf ihn setzen. Das ist also der Unterschied zwischen dem regulären Spieler und einem Kampfcharakter. Also sind wir, schleifen uns durch. Da wir also bereits AI verwenden, werden wir j verwenden und Sie können jede Art von Variablen verwenden, die Sie wollen. Man kann es sogar etwas nennen, das
ausgefeilter und bezeichneter ist, was wir durchmachen, aber ich glaube nicht, dass es vorerst notwendig ist. Also für j gleich 0 und j ist kleiner als die Spieler prefabs. Spieler Prefabs Punktlänge. Das liegt daran, dass wir durch die Spieler-Prefabs schleifen und dies sollte j sein. Wir werden überprüfen, ob der Spieler an der Position j, die wir durchschauen, der Punktcharaktername ist gleich dem Spielmanager, zum Beispiel Punkt-Spieler-Statistiken. Und ich denke, wir hätten tatsächlich sagen können, dass diese
Spielerstatistik irgendwo hier drin ist und das wirklich viel einfacher gemacht hat. Keine Sorgen darüber, dass für jetzt, Lassen Sie uns durch eine bestimmte Position suchen, die auf dem Auge sein wird. Denn denken Sie daran, das Ich durchläuft
die Spielerstatistiken auf dem Spiel-Manager-Punkt-Spielernamen. Und wenn es eine von denen gibt, dann werden wir einen neuen Kampfcharakter erstellen, einen neuen Spieler. Und es wird gleich einem Ende sein, das wir instanziieren werden. Aber nicht nur werden wir mit zuvor
instanziiert instanziiert, ohne irgendeine Rotation oder Position hinzuzufügen. Aber dieses Mal brauchen wir tatsächlich eine bestimmte Position, um unseren neuen Spieler zu platzieren. Und so werden wir instanziieren. Und instanziate öffnet die Klammern. Drücken Sie die Eingabetaste Wir werden zunächst den Player Prefab an Position j
notieren. Wenn Sie sich
also nicht an das Format des Instantiate erinnern, können
Sie es hier sehen. Sie können sehen, dass wir viele Variationen haben. So können wir ein Elternteil mit einer Position und der Rotation und auch ein Elternteil hinzufügen. Also suchen wir, um das Original zu setzen. Und hier ist das Objekt, das wir die Position
instanziieren wollen , die wir
als die Position setzen , die wir für die Spieler im vorherigen Video erstellt haben, die Rotation, die sehr einfach sein wird, und dann das Elternteil . Also, was ist die Position? Es wird die Spielerposition sein. An Position I, die Position. Dann werden wir auf die Spielerposition an Position I im Array zugreifen. Und wir werden es einfach als Rotation festlegen, was uns die Standarddrehung der Transformation gibt. Ich will es nicht ändern. Und schließlich wollen wir das übergeordnete Element als Spielerpunktposition festlegen. Da gehen wir. Das retten wir. Hoffentlich weißt du, was wir hier drin machen. Wir bekommen das Objekt, das Prefab, das wir instanziieren wollen. Wir setzen ihn auf die Position, die wir in unserem Spiel mit Einstellung für die gesetzt haben, lassen Sie mich Ihnen zeigen, was ich meine. Denken Sie daran, als wir die Positionen hier in der
Spielerposition 1, 2,
3 erstellt Spielerposition 1, 2, haben, haben wir sie direkt hier hinzugefügt. Da sind sie in der Spielerposition, also setzen wir sie so ein, dass sie die gleichen wie hier sind, wie sie mit der gleichen Rotation und dem gleichen Elternteil setzen und sicherstellen, dass, ich meine, tut mir leid, dass der Elternteil die Position an ist. Zum Beispiel wird dies das Elternteil des Spielers, den wir instanziieren. Ok, großartig. Diese sind also ausgeschaltet. Wir können sie sogar löschen. Wir brauchen sie nicht, aber wir behalten sie, nur um sicherzustellen, dass wir in der richtigen Position sind. Nun, das hat sich gründlich erklärt. Jetzt wollen wir unsere Charaktere verfolgen und dafür werden wir eine Liste erstellen. Also wollen wir den Überblick über die aktiven Charaktere behalten. Und das wird
natürlich eine Herausforderung für Sie sein. Und Ihre Herausforderung besteht darin, eine Liste zu erstellen. Erstellen Sie also eine Variable, die eine Liste von Kampffiguren ist. Dies wird die Liste sein,
die die aktiven Zeichen verfolgt und Sie müssen sie initialisieren. Fügen Sie schließlich Layer zur Liste in der von uns erstellten Methode hinzu. Erstellen Sie also die Liste und instanziieren Sie sie mit einer neuen Liste. Sicher wissen Sie das längst. Und schließlich, nachdem wir den Spieler erstellt oder
den Spieler eingerichtet oder hinzugefügt haben, wie immer Sie ihn nennen wollen,
stellen Sie sicher, dass Sie ihn der Akte der Charakterliste hinzufügen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Ich hoffe, das war nicht so schwer. Wird sich nach oben bewegen. Und hier werden wir,
lassen Sie uns ein INR erstellen, so serialisiertes Feld. Es ist eine Liste von Typ Kampffiguren. Und es wird als aktive Charaktere oder aktive Junggesellen oder wie auch immer Sie sie nennen wollen. Und es wird eine Liste von Kampffiguren sein. Hier haben wir also instanziiert. Jetzt ist es an der Zeit, diese Liste hinzuzufügen. Und nachdem wir alles erstellt und instanziiert und eingerichtet
haben, werden wir diesen neuen Player, den wir erstellt haben, der Liste hinzufügen. Und wir werden das tun, indem wir die aktiven Zeichen dot add aufrufen. Und das, wie Sie sehen können, Anzeigen, jedes Element oder ein beliebiges Element des Typs, Kampfcharakter. So Punkt hinzufügen. Da gehen wir. Du kannst es sehen. Geben Sie die Klammern öffnen und den neuen Player hinzufügen. Also werden wir das retten. Gehen wir hier wieder rein. Lassen Sie uns unseren Gewinn ausführen und sehen, ob sie instanziieren. Wie Sie sehen können, haben
wir die Charaktere hier drin. Wir können ihn bewegen, weil, weil diese immer noch einen starren Körper hat, entfernen Sie sie. Das ist witzig. Also und wir müssen natürlich die Farbe ändern, die es gibt, aber im Moment werden wir uns keine Sorgen darüber machen. Also, wenn wir zu diesem Punkt gehen, schlagen
wir den BP und wir haben die Charaktere hier oben aktualisiert. Warum ist das so? Denn lasst uns zum Kampfmanager und zur Kampfszene gehen. V Spieler Position. Also ist die Spielerposition aus irgendeinem Grund da oben. Auch wenn es hier gewesen sein sollte. Das ist schaltet sich aus. Hör auf damit. Die Spielerposition liegt also bei 000. Lassen Sie uns sehen, was los ist. Die Spielerposition ist also an der Position 0, aber die Position eins ist hier oben. Also müssen wir uns etwas ändern. So werden wir sicherstellen, dass die Position des Spielers. Mal sehen, mal sehen. Also setzen wir die Transformation dieser Position an die Position der Kamera, und es ist der Kampfmanager. Es ist also dieser gesamte Kampfmanager, der derzeit bei 0 ist. Die Gefechtszene liegt bei 0, die Gefechtsposition ist bei 0. Jetzt müssen alle diese drei Positionen hier nach unten auf 0 verschoben werden. Dies ändert alle von ihnen, also verschieben wir sie einfach als ein Objekt. Und jetzt gehen wir, die sind hier drin. Lasst uns das retten. Versuchen wir es nochmal. Vielleicht sollten wir es später ändern. Also werde ich einfach die B-Taste drücken. Da gehen wir. Wie Sie gesehen haben, müssen wir nur ein bisschen mehr ändern. Und wir legen sie ein bisschen ab. Führen Sie das Spiel aus. Lassen Sie uns bewegen, nur um sicherzustellen, dass es nicht um die Position des Spielers geht. Da gehen wir, also sind sie in der richtigen Position. Wir haben sie geladen. Und Sie können hier den düsteren Draco und Jim sehen. Also hoffe ich, Sie genießen es. Ich hoffe, Sie haben alles vorbereitet. Vielleicht brauchen ihre Positionen noch ein bisschen mehr Modifikationen, aber ich denke, das ist gut genug für jetzt. Und das nächste Video werden wir unsere Feinde zum Spiel hinzufügen. Also sehe ich dich dann. Und übrigens, bevor ich gehe, gibt es einen kleinen Trick, den wir hier drinnen machen können. Nehmen wir an, wir wählen alle diese Positionen. Wir wollen sie hier setzen, okay, also was ist die Position hier drin für diese Spieler? Wir können tatsächlich einen von ihnen wählen oder wählen. Zum Beispiel, lassen Sie mich einfach sehen. Klicken Sie hier und kopieren Sie die Position. Beenden Sie das Spiel. Wählen Sie diese erneut aus. Klicken Sie hier, fügen Sie die Positionen ein. Und hoffentlich funktioniert das. Ich bin mir nicht sicher, ob das funktioniert. Lass uns das Spiel laufen. Vielleicht sollten Sie für jeden von ihnen zu tun hatte upcase gewesen. Offensichtlich hat das nicht funktioniert. Also, jetzt sollte jeder von ihnen auf einer separaten Position sein. Und wir bewegen es einfach ein bisschen nach rechts, rechts und nach oben. Sag das nochmal. Im Becher. Ja, da gehen wir. Ich denke, das ist gut genug für jetzt. Also übertrage deine Änderungen, und ich sehe dich im nächsten Video.
95. Gegner hinzufügen: Willkommen zurück meine Kollegen Spiele-Entwickler zu einem brandneuen Video. Und in diesem, wenn wir das Spiel laufen, werden
Sie feststellen, dass, wenn wir einen Kampf beginnen, 00, jetzt gibt es Feinde, die löst tragen. So sind wir jetzt nicht mehr allein mit unseren Spielern und dem Hintergrund. Wir haben auch unsere Feinde eingesperrt und geladen, um uns zu töten, aber es fehlt uns nicht. Bis dahin. Vergeuden wir keine Zeit mehr und fangen wir an. Oh, okay, jetzt, da wir Spieler hinzufügen, ist
es an der Zeit, die Feinde hinzuzufügen. Aber bevor wir das tun, gibt es eine sehr wichtige Sache, die wir tun müssen, und das ist, dass wir die Spielerstatistiken importieren wollen. Also lasst uns weitermachen und das tun. Und gleich nachdem wir den neuen Spieler dem Akt der Charaktere hinzugefügt
haben, werden wir den Import der Spielerstatistiken teilen. Hier werden wir also die Spielerstatistiken erstellen. Dies wird eine Variable sein, die wir einfach den Spieler nennen werden. Wir brauchen eine Variable, um alles im Auge zu behalten. Also schreiben wir es nicht jedes Mal. Und es wird gleich der Spiel-Manager-Punkt-Instanz sein, die Layer-Statistiken an Position i. Also jetzt haben wir Verweis auf die GameManager Spieler Statistiken eins. Dann werden wir alles zusammenfassen. Also, wenn Sie wollen, können
Sie voran gehen und dies auf eigene Faust tun,
sehen, wer es schneller machen kann. Und lasst uns anfangen. Also die aktuelle HP, ich werde nicht viel sagen, weil wir den Bohrer hier drin bereits kennen. Ich könnte sogar die Funken überspringen. Okay, da gehen wir. Also haben wir alle Statistiken importiert. Aber wie Sie sehen können, fangen wir an, eine sehr hässliche Startschlacht zu bekommen. Also werden wir diese Zeilen hier in extrahieren. Wir werden mit der rechten Maustaste schnelle Aktionen und Refactoring. Und wir werden die Methode extrahieren. Und beachte, wie schlau es ist, weil wir das Ion hier offensichtlich verwenden, und das Ich ist nur über diese Schleife hier verfügbar. Was jetzt passiert, ist, dass Visual Studio tatsächlich eine Methode erstellt, die ein Argument I annimmt Das ist
also super hilfreich und wir werden dies die Importschicht nennen. Statistiken drücken Enter, und da gehen wir. Also jetzt haben wir die wichtigen Spielerstatistiken. Und dann wieder, wir werden den ganzen Code hier drin wählen, richtig? Klicken Sie auf Schnellaktion und Refactoring, extrahieren Sie die Methode. Und das wird das Hinzufügen von Ebenen sein. Also, wie cool ist das? Nun, wenn die Schlacht mit der Einrichtung des Gefechts beginnt, sollten
wir die Schlacht einrichten und Spieler hinzufügen. Und dann innerhalb des Hinzufügens von Spielern durchlaufen
wir, wir wählen die Präfabs, wir instanziieren sie, wir fügen sie dem aktiven Charakter hinzu. Wir importieren dann die Spielerstatistiken, die hier sind, und wir tun all dies und so weiter. So wie Sie sehen können, ist alles sauber, geschnitten und verständlich. Es ist sehr leicht zu lesen. Aber der nächste Schritt ist, tatsächlich beginnen, die Feinde hinzuzufügen. Und wieder, ich bin schon zu müde, um das zu tun. Also wird es Ihre Herausforderung sein, keine
Sorge, es ist ziemlich ähnlich wie wir die Spieler hinzufügen. Also müssen Sie durch die Feinde schleifen, die Sie wollen. Sie müssen sicherstellen, dass das Feld nicht leer ist, weil wir keine leeren und Amine wollen. Dann musst du eine zweite Schleife erstellen, um durch die feindlichen Prefabs zu schleifen, genau wie wir es im vorherigen getan haben. Wenn wir hinzufügen wollten, müssen
die Spieler den Charakternamen prefabs vergleichen, Feinde laichen. Und du musst den Feind instanziieren, wenn es eine Übereinstimmung gibt und wenn wir, wenn wir aus irgendeinem Grund fallen, setzen wir die Position der Feinde an den falschen Ort, der nie passiert ist. Dann müssen Sie sie auch manuell in Unity anpassen. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also fangen wir an, indem wir uns durchschleifen. Ist gleich 0. Ich weniger als die Feinde spawnen Punktlänge. Also bringen wir die Feinde hier zum Laichen. Und wir werden jedes Mal eins hinzufügen. Dann werden wir prüfen, ob die Feinde nicht leer sind. An Position i natürlich, weil wir nicht nach allem suchen wollen. Wir wollen nach einer bestimmten Position suchen. Und so überprüfen wir, ob eine Zeichenfolge leer ist oder nicht. Ich hoffe, du wurdest nicht auf der Stelle gestolpert. Dann werden wir eine Schleife und Seite von
j erstellen , die alle Prefabs durchlaufen wird. Und j plus plus. Und dann werden wir die Kameras der Zentrumsmaschine abchecken. Wenn der Feind Prefabs an der Position j Punkt Charaktername ist gleich den Feinden Laichen an Position I Das bedeutet, dass wir einen neuen Feind instanziieren können
, der vom Typ Kampfcharaktere sein wird. Und wir nennen es neuen Feind. Es wird gleich sein, in zu instanziieren. Dann ist sie Tor, öffne die Klammern, füge hier eine Eingabe hinzu. Es wird sein, das Objekt wird der feindliche Prefab an der Position j sein, und die feindliche Position in Augenposition. Was ist das? Ein Amin? Ein Amin ist die Position, die ich Positionsrotation habe. Und schließlich sollten die Eltern die feindliche Position am Auge sein. Da gehen wir, wir retten das. Und wir werden sie auch zu den aktiven Charakteren hinzufügen. So aktive Charaktere Punkt hinzufügen, wie der Feind, es ist der neue Feind. Da gehen wir. Schließen Sie das ab, speichern Sie das wieder in Unity. Ich hoffe, du hast das verstanden. Es ist fast 100% das gleiche wie das Hinzufügen eines Spielers. Wir gehen einfach durch verschiedene Arten von feindlichen Präfabs. Wir prüfen, ob es anders als 0 oder anders als leer ist. Also, weil wir nicht wollen, etwas, das leer ist hinzufügen. Und das hier ist nur ein kleiner Scheck. Also zurück in Unity, speichern Sie das. Lass uns das Spiel laufen. Also beginnen wir den Kampf, aber es will, oh, na ja, es begann die undichte. Da gehen wir. Es gibt nichts, gibt es irgendwelche Feinde? Gibt es jemanden da draußen? Ja, da gehen wir. Wir haben die Hexenmeister, die Hauptseite und sonst nichts. Und wo sind sie? Wo bist du? Wo zum Teufel ist das? Oh, also sind sie da oben. Ok, okay, okay, okay. Also müssen wir das alles nach unten bringen. Und lasst uns die feindliche Position sehen. Warum gibt es da? Das sind also die feindliche Position. Vielleicht sollte es auf 0 zurückgesetzt werden. Setzen wir es zurück auf 0. 0, nein, nein, nein, es sollte nicht auf 0 sein. Oder sollte es vielleicht, warum sollte es nicht? Also werden wir die gesamte Position des Spielers auf den Fahrer verschieben. Aber dann werden wir sie vielleicht runterziehen und das Spiel laufen lassen. Und das hätte besser organisiert sein sollen, aber keine Sorge darüber. Bringen wir sie nach unten. Ich werde mich bewegen, halten Sie einfach gedrückt, verschieben, klicken Sie auf alle, bewegen Sie sie irgendwo nach unten. Irgendwie führe das Spiel. Hatte den BP. Oops, da oben sind noch. Ja, da gehen wir. So sollten sie aussehen. Also werden wir das Spiel beenden. Die wieder, bewegen Sie sie nach unten, aber bewegen Sie sie nach rechts. Führen Sie das Spiel aus. Musste sein, da gehen wir. Das sind unsere Feinde, die direkt vor uns stehen. Also hoffe ich, Sie genießen es. Ich hoffe, du hast die Herausforderung gemacht. Ich hoffe, es war nicht zu schwer. Ich hoffe, Sie sind nicht verärgert über die Gründe, warum diese nicht sehr gut ausgerichtet sind. Vielleicht gibt es eine schnellere Lösung, vielleicht finden wir sie später. Ich hoffe, Sie genießen, ich hoffe, Sie begehen Ihre Änderungen und ich sehen Sie im nächsten Video.
96. Die Turn in Turn Combat system: Willkommen zurück Meine Lieblings-Spiele-Entwickler zu einem brandneuen Video und diesem, wenn wir das Spiel laufen. Wenn wir den Kampf beginnen, haben
wir die Feinde, wir haben die Knöpfe, wir können angreifen, bekommen Gegenstände, führen Sie die Magie, Sehr cool. Sie können sehen, dass wir hier eine Wende haben. Wenn wir also die Anki einmal, zweimal hatten, wenn es um das dritte Mal geht, weil jetzt die Feinde angreifen, haben
wir keinen Zugang zum Gleichgewicht. Jetzt greifen uns nur noch die Feinde an. Da gehen wir. Und dann, wenn wir fertig sind, weil wir fünf Zeichen haben, beginnen
wir natürlich bei 0 an der Reihe. Also, wenn wir jetzt zu fünf gehen wollen, gehen
wir zurück zu 0. Wir sind wieder am Skelett und wir können wieder auf unsere Knöpfe zugreifen und Gegenstände angreifen, Magie
laufen und so weiter. Also lasst uns keine Zeit mehr verschwenden, und lasst uns anfangen. Okay, jetzt ist es Zeit, die Runde in rundenbasierten Kampf zu setzen. Das ist ein schlechter Witz. Lasst uns anfangen. Zunächst einmal gab es hier ein leichtes Problem, wenn wir die Schlacht aufbauen. Wir haben diesen Zustand tatsächlich hier reingesteckt. Aber wir müssen sicherstellen, und wir müssen auch wissen, dass wir, wenn wir einen Kampf beginnen, sicherstellen müssen, dass es für all diese einen Kampf gibt. Also werden wir den Zustand von hier entfernen. Wir werden es hier zusammenfügen. Und wir werden diese Klammer entfernen und Shift Tab drücken. Da gehen wir. Verschieben Sie die saubere alle Leerzeichen hier drin. Und da gehen wir. Alles sollte jetzt korrekt sein. Und schließlich werden wir noch eins von diesen hier hinzufügen. Und alles ist gut, was ich mache. Kleiner, wirklich. Okay, kannst du das klar sehen? Ok. Wie auch immer, lassen Sie uns weitermachen. Lassen Sie uns diese Methode auch extrahieren. Dies ist das Hinzufügen von Feinden. Also mit der rechten Maustaste, klicken Sie auf Aktionen und Refactoring, extrahieren Methode Hinzufügen von Feinden. Und wie Sie sehen können, bekommen
wir auch die Feinde Spawn geschickt, um diese Methode und hier und schafft sogar alles. Also, wie cool ist das? Ich finde, das ist wirklich cool. Sie können sehen, dass sie alle hier unten sind importieren, hinzufügen, einstellen, usw. Okay, zum Geschäft. Jetzt müssen wir die Reihe und Kampf, rundenbasierten Kampf setzen. Wir werden vor allem
eine ganze Zahl erstellen, die die Zählung behält, also ist es der aktuelle Begriff. Und dann werden wir einen Boolean erstellen, Überblick behalten wird
, wenn wir darauf warten, dass wir als Spieler an der Reihe sind. Also warte auf eine Wendung. Wenn wir auf die Wendung warten, gibt es ein paar Dinge, die wir tun können. Wir werden das retten. Und schließlich müssen wir auch ein serialisiertes Feld eines Spielobjekts erhalten, das der UI-Button-Halter ist. So UI-Button älter. Und warum brauchen wir das? Nun, denn wenn der Spieler nicht an der Reihe ist, wollen
wir, dass die Tasten nicht zur Verfügung stehen, damit sie drücken können. Das ist also ein Schlitz, den wir füllen werden. Und übrigens, diese beiden Variablen müssen keine serialisierten Felder sein, aber wir wollen sie als solche setzen, weil wir
sicherstellen wollen , dass alles korrekt funktioniert. Also jetzt ein Update, wir werden überprüfen, ob es Kampf aktiv ist. Wir befinden uns also in einer aktiven Schlacht. Und wenn wir auf den Zug warten, dann war das, dann werden wir überprüfen, ob der aktive Charakter im aktuellen Zug ein Spieler ist. Aber wir können nicht wirklich wissen, ob es
ein Spieler ist , weil der Spieler hier drin ein serialisiertes Feld ist. Also können wir es vielleicht öffentlich machen. Aber nein, wir haben einen viel besseren Weg. Und es wird eine Herausforderung sein, die den Spieler zurückzugeben. Erstellen Sie also eine Methode in Battle Charakter-Skript, die zurückgibt, wenn der Charakter ein Spieler ist. Also pausieren Sie das Video jetzt. Mach die Herausforderung. Und wenn Sie eine zusätzliche Meile gehen wollen, nachdem Sie überprüfen, ob der Charakter aktiven Charakter auf dem Heck
beendet. Schalten Sie als Spieler die Tasten ein. Wenn nicht, schalten Sie sie aus. Willkommen zurück. Das war eine ziemlich einfache Herausforderung, ich glaube, deshalb werden wir ein öffentliches Bool schaffen. Ist Spieler, Rückkehr, ist Spieler. Wieder hier drin. Ist Spieler. Wenn es wahr ist, ist das einfach. Das hier. Und wenn es wahr ist, dann ist der UI-Button Halter 0 wahr. Else UI Tastenhalter Aber traurig, aktiv, falsch. Speichern Sie das. Okay, großartig damit gemacht, ist
der nächste Schritt eine manuelle Möglichkeit, eine Umdrehung hinzuzufügen. Also werden wir hier enden, nach Eingabe suchen. Wenn Eingabe, aber Taste nach unten. Schlüsselcode, welcher Keycode noch nicht verwendet wurde. Und ich glaube, wir haben es nicht benutzt und das wird den nächsten Begriff darstellen. Also hier drin, was machen wir jedes Mal, wenn wir zum nächsten Semester gehen? Eigentlich, lassen Sie uns die Methode erstellen. Also, als nächstes, dreh dich. Und wir werden es hier schaffen. Wo sollten wir die Schlacht beginnen? Sollte bei diesen vier bleiben. Fügen wir es hier unten hinzu. Es wird also ein privater oder vielleicht öffentlicher sein. Lassen Sie uns es privat halten, wenn wir es brauchen und ein anderes Skript, wir können es leicht öffentlich machen, aber ich glaube nicht. So privat, leise. Nächste Kurve. Und was machen wir hier drin? Nun, zuerst müssen wir den aktuellen Begriff plus festlegen. Wir erhöhen es um eins. Aber es gibt noch eine Sache, die wir im Auge behalten müssen. Und das ist, wenn die aktuelle Runde, um einige größer als die aktiven Zeichen zu bekommen zählen. Also, wenn der aktuelle Zug bitte, ist größer als oder gleich dem Akt der Zeichen Punktanzahl. Was werden wir jetzt tun? Wir setzen es zurück auf 0. Also, was passiert in all dem? Zunächst einmal überprüfen wir, ob wir in
einem aktiven Kampf sind und wir warten darauf, dass wir an der Reihe sind. Warten auf den Zug kann also sowohl auf die aktiven Charaktere angewendet werden, die Spieler und Feinde sind, damit sie nicht angreifen, sie warten darauf, dass sie an der Reihe sind. Wir überprüfen den Akt der Zeichen auf den aktuellen Begriff. So geht der aktuelle Begriff durch alle Spieler dann alle Feinde. Warum? Weil wir vor allem sind, denke
ich, die Spieler, und wir fügen sie hier in die Liste der aktiven Charaktere. Dann fügen wir die Feinde hinzu, was wir später tun. Also zuerst haben wir eine Liste aller Spieler. Dann unter ihnen haben wir sofort alle Feinde. Also gehen wir durch sie. Wir überprüfen mit der aktuellen Umdrehung. Holen Sie sich den aktiven Charakter. Wenn er ein Spieler ist, dann haben wir den Knopfhalter. Wenn es kein Spieler ist, ist
das ein Feind, wir können nicht angreifen. Wir sollten die Knöpfe Halter nicht sehen, um Probleme zu vermeiden. Und wir gehen jedes Mal in die nächste Kurve. Wie machen wir das, indem wir es um eins erhöhen? Und wenn es ein bestimmtes Limit überschreitet, hören wir auf. Eine weitere Sache, die wir berücksichtigen müssen, ist, dass wir, wenn wir unser Spiel beginnen, wenn wir den Kampf beginnen, sicherstellen müssen, dass das Warten auf die Wendung wahr ist. Und das ist der aktuelle Begriff. Jetzt hier drin. Man kann sagen, es ist entweder 0. Also gehen wir hin. Wir beginnen sofort mit einem Spieler mit der Hauptfigur, dem Hauptspieler. Oder wir können einen zufälligen Bereich erstellen. So zufällig, dass Bereich, und so weiter. Es wird zwischen 0 und den aktiven Zeichens.com liegen. Nun, ich glaube, dass dies
eine viel bessere Möglichkeit ist , eine Schlacht zu starten und wenn es um das eigentliche Spiel geht. Aber für Testzwecke würde
ich es lieber bei 0 beginnen lassen. So können wir immer sicherstellen, dass wir die Ende-Taste drücken können, um
dorthin zu gehen , wo wir wollen, und nicht nur, dass es irgendwo zufällig beginnt. Also, wenn das erledigt werden
wir retten, ich werde dies hier als Kommentar für diejenigen von euch behalten, die einen zufälligen Charakter haben
wollen , beginnt anzugreifen, wenn der Kampf beginnt, wir gehen in Unity. Ich werde einen Atemzug nehmen. Okay, jetzt werden wir unser Spiel laufen. Wir gehen zum Kampfmanager. Wir haben den aktuellen Begriff als 0. Wir warten auf keine Frist. Wir haben den Schnabel. Jetzt warten wir auf eine Wendung. Wenn wir die Anki treffen, gehen
wir, um Nummer eins zu drehen, dann Nummer 2345678. Und offensichtlich sehen wir die Schlacht Canvas nicht, weil wir sie ausgeschaltet haben. Da gehst du. Also versuchen wir es jetzt noch einmal. Wir haben den Halter nicht hinzugefügt. Warum war die Schlacht Canvas ausgeschaltet, dass ich gerade bemerkt, dass Menü. Lassen Sie uns die Schlacht Leinwand einschalten. Szene eingeschaltet und die USA, während das Menü. Also das ist das Menü, es hat alle Tasten. Nun, wir könnten das gesamte Menü ausschalten, aber ich denke, es ist besser, einfach ein Spielobjekt zu erstellen. O, aber wir haben das Menü, das das Gitter hat, oder? Okay, also das Gitter-Layout, Lassen Sie uns das gesamte Menü ausschalten. Das ist kein Biggie. Und lassen Sie uns einfach das Menü hinzufügen, wenn es an der Reihe ist, die Manager verschwindet. Sie können jedoch, aber Sie müssen das Rasterlayout verschieben, stellen Sie sicher, dass Sie das tun. Also werden wir das retten. Wir werden die Kampfszene herausstellen, unser Spiel
laufen lassen. Geh in die Schlacht. Da gehst du. Also, wenn wir jetzt, wo ist der Badezimmer-Manager? Drehen Sie sich also auf 0. Wenn wir eins drehen, sind
wir vielleicht am Skelett angefangen, jetzt sind wir bei Mister, ich weiß es nicht. Dann ein Jimmy, dann gehen wir. Wir können nicht mehr auf die Buttons klicken. Wieder. Wir gehen durch diese beiden. Wir sind wieder bei 0 am Skelett und wir können unseren Knopf benutzen. Also funktioniert alles. Ich hoffe, Sie genießen diesen Kurs. Ich hoffe, Sie lernen heute eine wertvolle Lektion. Ich bin mir nicht sicher, was das war. Irgendwas über vielleicht bewegliche Kurven. auch immer, wir werden unsere Änderungen begehen. Jetzt. Wir die wiederum basierte Kampf, Kampf unserer Veränderungen. Und wir sehen uns im nächsten Video.
97. Drehungen machen: Willkommen zurück, meine Spiele-Entwickler. Ich habe dir nichts zu zeigen. Wir machen nur ein paar Dinge. Wir aktualisieren die gekämpft, wir überprüfen, ob die Spieler sind, dass wir verlieren, wenn die Feinde oder dass wir gingen und wir können noch nicht umgesetzt, weil keiner von uns angreifen kann. Aber im nächsten Video werden
wir auch sicherstellen, dass der Feind angreifen und sicherstellen kann, dass es funktioniert. Aber das ist ein sehr entscheidendes Video und eines, das viel Konzentration davon erfordert. Also setzen Sie Ihre Denkmützen auf, setzen Sie Ihre Konzentrationsgenzone. Ist das überhaupt ein Wort? Und lasst uns anfangen. Oh, okay, jetzt bewegen wir uns von Kurve zu Wende. Aber was passiert eigentlich? Na ja, nichts. Was wir zwischendurch machen, momentan nichts. Aber wir gehen zu jedem Begriff aktualisieren die Schlacht. Also lasst uns weitermachen und den Kampf aktualisieren. Was meine ich mit der Schaltfläche „Aktualisieren“? Wir gehen durch den ganzen Akt der Charaktere. Wir überprüfen, wer einen aktuellen HP hat, der 0 ist. Wenn es 0 hat, werden wir diesen Charakter töten. Und dann werden wir auch überprüfen, ob alle der, sagen
wir, Feinde sind tot, dann gewinnen wir die Schlacht. Wenn alle Spieler tot sind, dann verlieren wir den Kampf. Also lasst uns anfangen. Wir werden unser Drehbuch öffnen. Und hier drinnen, im nächsten Semester ist, wo wir die Schlacht aktualisieren. Aber bevor wir das tun, müssen
wir sicherstellen, dass das Warten auf die Wendung wahr ist. Also warten wir eigentlich auf eine Wendung. Und dann werden wir die Schlacht aktualisieren, schließen Sie das. Und jetzt werden wir diese Methode generieren. Da gehen wir, aktualisieren Kampf. Also, was machen wir hier drin? Zuallererst werden wir zwei Variablen erstellen. Und ich sage es dir, wenn wir sie erschaffen oder sie sind. Also bool Feinde oder lassen Sie uns alles nennen. Feinde sind das und es ist gleich wahr. Und ein zweites. Alle Spieler sind das. Können Sie sich bitte aus dem Weg ziehen? Danke. Alle Spieler sind Schulden. Und warum ist das wahr? Nun, wenn wir nach unten scrollen, wird
es am Ende dieses Update-Gefechts sehen, dass
es eine ziemlich große Methode sein wird. Sie werden sehen, dass wir alle HP der aktiven Charaktere durchlaufen werden. Und wenn einer von ihnen eine HP hat, die anders ist als 0, dann werden wir eine von ihnen auf false setzen und wir werden nicht in den Zustand eintreten. Wir werden sehen, wie das aussieht, während wir vorerst weitermachen. Du musst mir vertrauen. Also werden wir eine for-Schleife erstellen, die ein int von 0 kleiner ist als die aktiven Zeichen Punktlänge, Punktanzahl, weil es kein Array ist, es ist eine Liste. Und wir werden jedes Mal eins hinzufügen. Dann werden wir überprüfen, ob die aktiven Zeichen an Position I, die aktuelle HP, kleiner als 0 ist. Wenn es so ist, dann werden wir es auf 0 setzen. Warum machen wir das? Nun, denn wenn wir hier reinschauen, nichts hier,
du, wenn wir das Panel einschalten,
erinnerst du dich daran, dass wir diese Bar der Spieler haben. Wir wollen nicht, dass es negativ wird. Also wollen wir sicherstellen, dass, wenn es zu weniger als 0 kommt, weil manchmal der Schaden, den wir anwenden, die HP auf weniger als 0 nehmen kann. Wir möchten es auf 0 setzen. Also aktives Zeichen an der Position I, was gibt es immer API es, weil die eckigen Klammern daneben kann nicht HP gleich 0 ist. Dann fahren wir weiter auf f V, aktive Zeichen Punkt AHP ist gleich 0. Dann werden wir den Charakter hier töten. Also füge ich einfach einen Kommentar hinzu, töte Charaktere oder Charakter oder was auch immer. Ok? Aber wenn es nicht ist, also wenn der Charakter Punkt I Punkt aktuelle HP ist nicht gleich 0, dann werden wir eine andere hier erstellen. Und wir werden überprüfen, ob dieser Charakter , der kein H B hat, das gleich 0 ist, ein Spieler ist. Also, wenn der aktive Charakter Punkt I Punkt ist Spieler, wir werden v alle Spieler setzen, die auf false. Und wenn es das andere ist, wenn S der Feind ist, sind alle Feinde gleich falsch. Sie sind nicht alles, was noch einer von ihnen am Leben ist. Warum machen wir all das Ärger durch? Weil wir, wir wollen nicht jedes Mal
durch alle Feinde gehen und dann überprüfen, ob sie alle am Leben sind. Wir denken, dass sie alle tot sind. Und dann, wenn einer von ihnen am Leben ist, dann sind sie nicht mehr das. Und wir können das Spiel fortsetzen, weil wir entweder
alle Spieler haben müssen , die das Spiel verlieren oder alle Feinde, die es zu gewinnen. Okay, also nochmal, lassen Sie uns noch einmal gehen, wie dieser Code funktioniert. Wir gehen durch die Charaktere. Wir überprüfen zunächst, ob es kleiner als 0 ist, setzen
wir es auf 0. Wir wollen keine negativen Zahlen. Ich werde die Klammern entfernen, halten Sie es einfach. Dann überprüfen wir, ob es gleich 0 ist. Also muss dieser Zustand das durchgemacht haben. Oder zum Beispiel, vielleicht für einen Zufall geht es nicht unter, es ist genau 0. Keine Sorge darüber. Wir töten den Charakter. Sonst. Wenn es nicht so ist, dann überprüfen wir, ob es ein Spieler ist oder ob es ein Feind ist. Wenn es ein Spieler ist, haben wir gesagt, dass alle Spieler dabei sind, wenn es ein Feind ist, dass alle Feinde darin sind. Noch. Jetzt hier drin, nachdem wir fertig sind, müssen
wir nach den Feinden und den Spielern suchen und dann entscheiden, ob wir gewonnen oder verloren haben. Und das wird Teil Ihrer Herausforderung sein. Überprüfe die Schulden. Und zuerst müssen
Sie eine Bedingung erstellen, die überprüft, ob alle Feinde oder alle Spieler das sind, dann müssen Sie eine Gewinn- oder Verlustbotschaft drucken. Und ich werde Ihnen einen Hinweis geben, wie Sie ein oder hinzufügen können. Sie müssen für alle mit diesen beiden Symbolen überprüfen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also zuerst überprüfen
wir, ob Feinde sind, die oder alle Feinde tot sind, oder alle Spieler oder das. Dann treten wir in diesen Zustand ein. Wir überprüfen, ob es alle Feinde waren, dann werden wir ausdrucken wir gewonnen. Sonst. Das bedeutet, dass es alle Spieler sind. Wir werden drucken. Wir haben verloren. Oder wir können auch, ich denke, sonst, wenn alle Spieler das sind, dann werden wir drucken wir verloren. Dies ist nur für einen zusätzlichen Sicherheitsschritt. Und schließlich, was passiert, nachdem wir fertig sind? Wir gehen außerhalb von dir aus. Wir greifen auf die Gefechtszene zu und schalten sie aus. Also müssen wir das Semikolon hinzufügen. Kampfszene. Punkte sind aktiv, falsch. Und wir werden auf den Spiele-Manager zugreifen und sicherstellen, dass der Spieler wieder laufen kann. Gefecht ist als gleich false aktiv. So kann der Spieler jetzt wieder laufen. Und schließlich ist der Kampf aktiv auf false gesetzt. Toll, also lass uns das retten. Und leider gibt es noch keine Möglichkeit, dies zu testen, bis einer von uns, entweder wir oder der Feind angreift. Im nächsten Video stellen
wir sicher, dass der Feind angreifen kann. Ich sehe dich in diesem Video und stelle sicher, dass du alle deine Änderungen begehen und auf Wiedersehen.
98. Mit Gegnen greifen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir den rundenbasierten Kampf automatischer und dynamischer gemacht. Also, wenn wir den Kampf beginnen, können
wir sehen, dass der Begriff 0 dreht, um jetzt abschreckt, wenn bestimmt 3, es schaltet sich aus und Sie können sehen, dass die Kurve geht durch seine eigene und dann wieder von seiner eigenen und geht zurück zu 0, weil die Feinde haben Angriff beendet. Also, wie aufregend ist das? Hat er? Ich weiß, ich weiß. Vergeuden wir keine Zeit mehr und fangen wir an. Wir wollen
also zwischen jedem feindlichen Angriff warten. Das bedeutet, dass wir ein Coworking brauchen. Warum machen wir das? Nun, weil wir den Feind nicht angreifen wollen wie Popup, Pop und dann ist er weg. Nein, wir wollen ein Popup bekommen. Jetzt wollen wir Papst haben, als zu erkennen, was passiert. Sehen Sie, wie unser Leben etwas kleiner wird,
sehen Sie, wo der Schaden zugefügt wurde. Und wieder zehn. Das wollen wir also tun. Dafür müssen wir eine Co-Routine erstellen. Und dafür werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung ist es, eine Beschichtung zu erstellen. So richten Sie die Gewichtung für gedreht auf false. Dadurch wird die Gewichtung als falsch bezeichnet. Dies ist am Anfang der Koroutine. Dann müssen Sie 1 Sekunde warten. Dann müssen Sie feindliche Angriffs-Methode aufrufen werden später erstellt. Dann müssen Sie noch eine Sekunde warten und dann rufen Sie den nächsten Begriff an. Also, mit all diesen Informationen, pausieren Sie das Video jetzt. Sie können hier sogar noch einen Punkt hinzufügen. Und wenn Sie an einen zusätzlichen Schritt denken möchten, den Sie machen möchten, wo nennen Sie das Werben? Wie auch immer, für jetzt, Ihre Herausforderung ist es, die Partitur-Routine zu erstellen. Pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also, wo sind wir? Wir werden die nächste Amtszeit
schließen, den Update-Kampf schließen. Und hier drinnen werden wir die Koroutine schaffen. Es ist also ein öffentlicher Augenaufzähler. Und es wird die Feindbewegung Co-Routine sein, weil es die Bewegung des Feindes ist. Also werden wir zuerst,
stellen Sie die Gewichtung auf false. Dann werden wir nachgeben, zurückkehren. Neu. Warte vier Sekunden, 1 Sekunde. Dann werden wir zu NMI gehen, das wird es erstellen und nur ein bisschen. Dann werden wir zurückgeben, warten wieder auf neu. Und dann gehen wir zur nächsten Amtszeit. Okay, großartig. Lassen Sie uns voran gehen und extrahieren Sie diese Methode oder generieren Sie diese Methode. Also hier drinnen werden wir ein paar Dinge tun. Zunächst einmal wollen wir eine Liste aller Spieler, die wir angreifen können. Also werden wir eine Liste vom Typ erstellen. Und weil wir vorerst die Indizes durchlaufen, zeige
ich Ihnen, was ich meine. So sind die Spieler gleich einer neuen Liste von int. Und jetzt wollen wir zu einem zufälligen Bereich gehen. Nun wollen wir zum
Beispiel nicht immer auf die 0 gehen . Also wollen wir eine zufällige Reichweite von Spielern haben. Also werden wir hier eine Variable erstellen, die die ausgewählte Ebene sein wird, die angegriffen werden soll. Und es wird gleich den Spielern sein, die wir in einem zufälligen Punktbereich haben. Zufällige Zufallsreichweite. Warum gibst du mir nicht die Reichweite? Hoffnung. Okay, willkommen zurück. Also random.randrange. Ich habe es gewaltsam funktionieren lassen. Was ist das Problem hier? Es wurde verwirrt zwischen, wie Sie sehen können, Unity Engine Punkt zufällig und dem System, System.Out zufällig. Also kommentiere ich einfach das System aus, hoffentlich wird nicht viele Probleme daraus haben. Lassen Sie uns weiter auf random.randrange. Wir haben das Minimum. Also, was ist das Minimum? Es ist die 0, weil wir bei 0 von der Anzahl der Spieler beginnen und dann die Spieler. Aber zählen. Und wir schließen das ab und wenn du vergessen hast, was Spieler sind, wo ist es? Wir haben es irgendwo hier gesetzt, wo wir die Liste erstellt haben. Okay, also die Auflistung hier, wählen
wir aus den Spielern, die wir haben. Und jetzt, was wir tun werden, ist eine for-Schleife durchlaufen. Und es wird durch die aktiven Charaktere gehen, Punktanzahl, Erhöhung ich jedes einzelne Mal. Wir werden prüfen, ob es ein Spieler ist. So aktiver Charakter an Position i Punkt als Spieler, und sein HB ist größer als 0. Dann werden wir zu den Spielern VI hinzufügen. Also, was haben wir jetzt? Wir haben eine Liste von Spielern, aus denen wir zufällig wählen können, um anzugreifen, indem wir ihre Position zu dieser Liste von Ganzzahlen hinzufügen und
dann einen von ihnen auswählen, um angegriffen zu werden. Das letzte, was wir sicherstellen
müssen, ist, dass wir den Feind Co-Routine nennen. Und das wird hier drin passieren. Nachdem wir den Knopf auf false gesetzt
haben, können wir voran gehen und die geschweiften Klammern hier öffnen. Und wir werden voran gehen und die Beschichtung anrufen. Also fange Co-Routine Feind Bewegung an, umwerben. Wenn wir also den Knopf ausschalten, haben
wir die Beschichtung und wir werden diese Methode extrahieren, nur um alles sauber zu halten. Es wird aufgerufen werden, Layer-Schaltflächen aktivieren. Ist das ein guter Name? Oder überprüfen Sie für die Aktivierung von Player-Buttons oder überprüfen Sie Button-Halter, überprüfen Sie Layer-Knopf-Halter eingegeben hatte. Und ich werde diese Methode verschieben. Wo soll ich umziehen oder sollte ich es hier behalten? Lass es uns hier behalten. Lass es uns hier behalten. Wir haben den Startkampf, der Feind bewegt sich, Curtin, rette all das. Okay, also lasst uns in unser Spiel gehen und wir werden das testen. Wir öffnen die Schlacht. Und die, By the way, wir können auch eine Art von haben eine Art von Musik spielen anders, wenn wir einen Kampf betreten. Versuchen wir also, zum nächsten Begriff,
1, 2, zu gehen und jetzt den aktuellen Begriff zu verfolgen. Also, als wir die drei hatten, warteten
wir ein bisschen, 1, 2, Arbeit auch etwas ging schief als Doppelklick darf nicht negativ sein. Okay, also Index außerhalb des Bereichs, Index muss nicht negativ und kleiner als die Größe des Parameters. Kann ich es bitte wissen? Wo meinst du? Oh, okay, also weiß ich, was das Problem ist. Das Problem war hier drin. Also erstellen wir eine Liste, sie ist leer, und dann versuchen wir, einen Bereich in der Zählung zu durchlaufen. Das ist ein großes No-Nein. Also, was wir tun müssen, ist, es hier niederzulegen. Und jetzt, wenn wir unser Spiel laufen, haben
wir dieses Problem nicht mehr. Führen Sie das Spiel, schlagen Sie den Geeky. Und jetzt können Sie sehen, also drehen Sie eine 0, wir erhöhen es um 1, 2 ,
3, es geht aus, suchen und dann zurück zu 0. Wie cool ist das? Also, jetzt sind wir zurück warten auf ihre Reihe, so warten auf uns zu spielen. Ich hoffe, Sie haben genossen und ich hoffe, Sie schaffen die Coroutine. Es war nicht zu schwer. Ich hoffe, all dieser Code ist nicht zu verwirrend. Wenn es ist, Ich empfehle den wahren Blick zurück auf eine Überprüfung jede einzelne Zeile, stellen Sie sicher, dass Sie verstehen, was passiert, weil, wie wir vorwärts bewegen die
Dinge werden immer komplexer. Dies ist sehr wichtig, um zu verstehen, was passiert. Warum nennen wir bestimmte Dinge und bestimmte Positionen? Warum nennen wir das Ende hier? Nun, da dies der perfekte Ort ist, um es anzurufen, können
wir sofort die Coroutine starten, sobald die Schaltfläche deaktiviert ist. Also werde ich Sie im nächsten Video sehen, wo wir tatsächlich verstehen, wo der Feind angreift, indem wir
Effekte auf die Spieler erzeugen , die angegriffen werden. Also sehe ich dich dort.
99. Attack: Willkommen zurück meine Spiele-Entwickler. Und in diesem Video werden wir einige Angriffseffekte erstellen. Also haben wir die Aufhellung, wir haben das blaue Feuer und wir haben einen Schrägstrich. Ja, das sind die Angriffe, die ich den Rest erschaffen werde. Ich werde dich verlassen, um deinen eigenen Angriff zu finden. Fette, schaffen Sie alle, und lassen Sie uns keine Zeit mehr verschwenden. All diese sind auf Open Game Art verfügbar und lasst uns loslegen. Okay, jetzt greifen unsere Feinde an. Sie wählen, welchen Spieler sie angreifen wollen. Aber es gibt keine Wirkung, und wir brauchen eine Art von Effekt, um unser Spiel gut zu machen. Lassen Sie uns also voran und erstellen Sie ein paar Effekte. So können wir hier sehen und die Feinde Charaktere, Sprites, die wir bereits haben diese große Kugel und diese Tentakel, die wir verwenden können und die Feuerbälle sind besonders schön. Also werde ich diese verwenden und ich werde auch in
die Sprites gehen und hier einen neuen Ordner erstellen. Das wird die Angriffseffekte sein. Und ich habe dir wie immer ein paar Angriffseffekte zur Verfügung gestellt, sind alle von offener Spielkunst, also werde ich diesen hier hinzufügen. Dies ist für den regulären Schrägstrich, für den regelmäßigen Angriff. Dann haben wir den glitzernden Feuerball zurück und wir werden diesen benutzen. Fügen wir es hier hinzu. Es ist ein bisschen groß. So können wir sagen, dass dies Blitz ist, weil wir bereits
vielleicht Feuer haben oder wir können verschiedene Effekte verwenden, habe ich denke, Feuer. Mal sehen. Was haben wir hier drin? Also, die Charaktere, lass mich alles rausnehmen. Also dieses eine Feuer und dieses Feuer ist Feuer. Also können wir die benutzen. Wenn du willst. Sie können eine Steuer für die Feinde separat und 40 Spieler separat erstellen. Ich denke, dass wir beide verwenden können einige spezielle, wie der Magier oder die Tentakel können nur für die Feinde verwendet werden und die anderen können miteinander verflochten werden. Weißt du, was ich meine? Also lasst uns weitermachen und diese zu den Sprites der Attacke bewegen. Also gehen wir hin. Hier drin haben wir diese Feuerbälle. Wir werden sie alle auf eine einzige Zeile setzen, um eine Animation zu erstellen. Also lasst uns weitermachen und das tun. Und wenn ich das sage, Hoppla, gehen wir zum Tatort. Und die sehen aus wie auf dem Spieler. Fügen wir das hier hinzu. Und es ist, machen wir es zum Hintergrund. Und es ist ein bisschen klein. Also werde ich all diese auswählen und sie 32 machen. Mal sehen, wie groß das ist. Ja, das ist groß genug, glaube ich. Lassen Sie uns nun voran und erstellen Sie eine Animation. Also gehen wir in unser Fenster. Oder wir werden hier ein leeres Spielobjekt erstellen. Oder, wissen Sie, lassen Sie uns diese Schrägstrickanimation behalten. Oder schräg einfach, was du willst. Es ist auf dem Hintergrund, es sollte auf dem Kampfhintergrund oder Kampfcharakter, Kampfcharakter eins sein. Speichern Sie das, weil wir wollen, dass diese Angriffe auf die Charaktere. Okay? Also gehen wir zum Fenster, gehen zu den Animationen. Animationen werden neben unserem Spiel docket. Und hier werden wir auf diesen klicken, klicken Sie auf Erstellen. Wenn wir zu den Assets Animationen gehen, verbrachte eine Weile, da gingen wir zu den Animationen. Animationen, Sie sollten wahrscheinlich Ihre Hausaufgaben jetzt machen. So Schrägstrich und stellen Sie sicher, dass Sie sich daran erinnern, wie Animationen funktionieren. Also erstellen wir einen Schrägstrich Animation. Wir werden all diese auswählen und sie hierher ziehen. Also jetzt, wenn wir es laufen, ja, da gehen wir. Das ist unsere Animation. Vielleicht machen Sie es etwas langsamer. Also mal sehen. Ja, ich denke, das ist gut genug, jetzt gibt es viele andere, die Sie hinzufügen können. So können Sie hier sehen, dass neben dem Feuerball und allem gibt es diese Alternativen,
verschiedene Farben, verschiedene Arten von Schrägstrichen. Da ist der Klassiker, ich benutze den Klassiker. Da ist dieses eine und die einen und die anderen benutzen, was auch immer Sie finden, zu Ihnen passt. Dies ist nur zur Demonstration und ich denke, es ist ein gutes Beispiel. Aber es gibt noch eine Sache, die wir tun wollen, und das ist am Ende können Sie hier sehen. Also diese erste 1, zweite, 1 Drittel, vierte und fünfte. Und dann möchte ich es ausschalten. An dieser Stelle möchte
ich die Aufnahme-Taste drücken und möchte, dass der Sprite-Renderer auf diesem Schrägstrich deaktiviert wird. Wie sieht das aus? Wenn wir also unser Spiel laufen, wie Sie am Ende sehen können, wird
es ausgeschaltet und dann werden wir von vorne anfangen. Da gehen wir. Und jetzt können wir auch zu den Animationen gehen und ich möchte sicherstellen, dass es nicht Schleifen ist. So wird der Schrägstrich nicht Schleife, speichern Sie das. Es läuft. Da gehen wir, und es schaltet sich am Ende aus. Da gehen wir. Okay, großartig. Nun ist das nächste, was zu tun ist, wollen wir ein Skript zu diesen Angriffen hinzufügen. Also gehen wir in die Skripte. Und ich habe gerade bemerkt, wie viel wir das schon getan haben, so erstaunlich. Also, wenn das Kampfsystem, werden
wir ein C-Sharp Skript namens Tech Tatsache erstellen. Weißt du noch, als wir nur ein paar Ordner hatten? Nur ein paar Ordner, ein paar C-Sharp-Skripte. Nun schauen Sie, wie viel wir haben und wie viel wir
organisiert haben und wie viel wir den Meistern hinzugefügt haben. Ich meine, sieh mal, wie viel wir brauchen, um nach unten zu scrollen. Ich fühle mich sehr stolz auf mich und die Sicht natürlich. Aber wie auch immer, lass uns wieder ans Geschäft gehen. Wir werden den Angriff anhängen, beeinflussen die Animation Schrägstrich. Wir werden doppelklicken. Und dann werden wir hier ein paar Dinge tun. Also werden wir ein Feld serialisieren, und dies wird der, ein Float, der die Effektzeit sein wird. Wie viel Zeit gibt es und wann wir sie zerstören. Also wollen wir die Animation nicht da drin halten. Wir wollen es zerstören, nachdem die Effektzeit beendet ist. Dies wird für jede der Animationen einzigartig sein. Dann werden wir ein weiteres serialisiertes Feld hinzufügen 40 Soundeffekt zu spielen. Also, wenn Lehrer als beeinflusst Anzahl zu spielen, weil natürlich, jede Animation erfordert eine Art von Sound-Effekt. Und am Anfang werden wir auf die Audio-Manager Door Instanz zugreifen. Die Lay wirkt sich auf die S f x Zahl zu spielen. Und ich glaube nicht, dass wir Soundeffekte für alle Angriffe haben. Ich bin sicher, Sie werden sie alle finden. Dann werden wir gehen und aktualisieren. Und wir werden das Spielobjekt zerstören, aber nicht nur zerstören, wir werden ein Komma treffen. Und Sie werden sehen, dass, wenn wir ein T hinzufügen, es ist eine optionale Menge an Zeit, um zu verzögern, bevor das Spiel Objekt zerstört wird, und es wird die Effektzeit sein. Warum machen wir das? Weil wir nicht wollen, dass das Schrägspielobjekt herumhängt. Wir wollen es instanziieren,
es irgendwann abschalten, nachdem wir fertig sind. Also werde ich das hier auf 25 verschieben. Und ich denke, wir wollen es nur die Effektzeit behalten. Wie viel ist das? Woher wissen wir Amature? 25. Also 30 ist die Mitte, also ist das 1234. Ich weiß es nicht. Lass es uns einfach für 0,5 Sekunden behalten. Das ist, denke ich 30. Das ist also 1 Sekunde bis 35 und das ist etwas weniger. Und das ist der Schrägstrich Angriff. Haben wir irgendwelche Slash-Attacken und die AudioManager Soundeffekte? Sehen wir uns die Narben Dialog Monster, Zauber. Überprüfen Sie. Ich denke, wir sollten es
wollen, nutzen wir den Dialog für jetzt. Was ist der Dialog? Damit wir es hier spielen können. Das ist also der Angriff Modifikator
, der sehr schön ist, zerstreuen Angriff, was sehr schön ist. Wir benutzen es für den Magier. Ich fühle, dass es gruseliger ist. Aber da das hier ist das Monster. Wir können es benutzen. Und der Flächenübergang, wir können ihn benutzen. Und ich werde den Dialog oder den Schrägstrich benutzen. Wie bequem können Sie gehen zu Open game ofs und laden Sie Ihre eigenen. Bitte, benutze nicht, was ich tue. Ich bin ein Elite-Schul-TÜV. Während die Hintergrund-Sound-Effekte, Dialog auch. Es ist also ein Element zum Schrägstrich, um das zu speichern. Okay, großartig. Jetzt werde ich eine Herausforderung stellen. Und diese Herausforderung besteht darin, weiter zu gehen und alle anderen Effekte zu erzeugen. Stellen Sie also alle anderen Effekte ein, die Sie dem Angriff hinzufügen möchten. Und das war's. Das ist alles, was Sie bei dieser Herausforderung tun müssen. Das Feuer, die Zauber, die großen Angriffe, was immer Sie wollen, schaffen so viele Ehepartner, wie Sie wollen. Und pausieren Sie das Video jetzt, gehen Sie zur Herausforderung. Okay, willkommen zurück. Jetzt, da wir den Schrägstrich Effekt haben, werden
wir zu den Prefabs gehen. Und denken Sie daran, was ich gesagt habe, wie glücklich ich bin. Ich werde ein bisschen verärgert. Wir werden hier einen neuen Ordner für die technischen Fakten erstellen. Und wir sollten wahrscheinlich auch alle diese verwalten, aber nicht jetzt, wir werden den Schrägstrich hinzufügen. Nennen wir es einfach den Schrägstrich ohne Animation, also Schrägstrich. Und jetzt werden wir einen weiteren Effekt erzeugen. Also gehen wir zu den Sprites in der Nähe. Und die Attacke Fakten, und mal sehen, was wir haben. Doppelklicken Sie auf. Das ist diejenige, die wir gerade gemacht haben. Also die Attacke Fakten, lassen Sie uns den Feuerball mehrlagig Sprite Editor tun. Und mal sehen, wie wir das aufschneiden sollten. 64 ist zu groß. 32 mal 32 Scheiben nach oben. Da gehen wir, bewerben wir uns. Jetzt haben wir unsere Firewalls. Wir werden sicherstellen, dass es ein Filter ist. Kein Punkt gibt uns eine bessere Qualität. Wir werden das hier reinziehen. Es ist sehr klein. Und wir werden es auf die Kampffiguren eins setzen. Und drehen Sie sich. Blau für Ball, Blau, Ball Drücken Sie Enter. Lasst uns das größer machen. Also denke ich, dieser braucht 16. Bewerben. Ja, da gehen wir. Das ist 16. Wir werden ein hinzufügen, wie hieß es? Die es hieß die F-Angriffseffekte. Oh, ja, Angriffseffekt. Und lassen Sie uns eine Animation erstellen. Wo bist du hin? Ich Animationen, Angriff Animationen. Blau, Feuerball. Speichern Sie das. Jag. Diese. Legen Sie sie hier rein. Lass es uns zu schnell laufen. 20, langsam 15. Ja, da gehen wir. Ich denke, das reicht. Und am letzten, also gehen wir 5555, greifen
wir auf das Spielobjekt zu und schalten das Sprite aus. Und wir werden die Effektzeit auf 0,4 Sekunden einstellen, und der Effekt zu spielen wird der AudioManager sein, Feuer Fakt vier. Also vier, speichern Sie das. Und o prefab alles am Ende. Was haben wir sonst noch? Das hier? Und hier ist dies die, nennen
wir es das Funkeln oder Aufhellen mehrlagig Sprite Editor Scheibe. Das hier ist ein großes Bild, das Sie hier sehen können. Also ich denke, wir brauchen die 256 mal 256 Scheibe, die oben. Ja, da gehen wir. Nette Vermutung. Und wir werden diesen Park hier hinzufügen. Ich werde es hier reinlegen. Wo ist der Feuerball? Oh, warte. Haben wir etwas falsch gemacht? Ja. Ja. Wir haben das Sprite ausgeschaltet, ohne tatsächlich den Rekord zu treffen. Schalten Sie das aus und speichern Sie den Stop-Lauf. Also schalten Sie am Ende aus. Ok, ausgezeichnet. Also schaltet sich der letzte Frame aus. Wir müssen sicherstellen, dass alle Animationen nicht Schleife. Also der glitzernde Feuerschlacht Hintergrund, eins, 32. Ja, da gehen wir. Das ist ein schöner Blitzeffekt. So Blitzeffekt. Wir werden die Animation erstellen. Blitz während Aufhellungseffekt Lasst es uns einfach im Blitz halten. Wählt alle diese aus und zieht sie hierher. Also mal sehen. Ist es in der Lage, zuerst, lassen Sie uns sie 1 Sekunde machen. Ja, da gehen wir. Ich denke, das ist ein netter. Ich werde den Angriff Affekt hinzufügen. Der Angriff wirkt sich auf die Zeit 1 auf das Audio, wird das Feuer auch ertönen. Wofür war das Feuer? Ist es nicht? Ja, für vier und auf die letzte, die ungefähr hier ist, hier
oben, hier und hier, und wir laufen Abzweige aus. Aufzeichnung beenden, speichern. Also schaltet es sich auf dem letzten aus. Lassen Sie es uns hier zurück. So haben wir jetzt den Aufhellungseffekt. Was sollen wir noch hinzufügen? Die Tentakel? Wir wissen also, dass es noch ein paar weitere gibt, die wir hinzufügen möchten. Jeder wird seine eigene Effektzeit haben, jeder wird seine Soundeffekt-Spiel haben. Ich werde sie abseits des Bildschirms machen, nur um keine Zeit mehr zu verschwenden. Und ich sehe dich in der nächsten, wenn wir sie tatsächlich für Spieler verwenden. Also sehe ich dich dann.
100. Anschläge auswählen: Willkommen zurück, meine Spiele-Entwickler. In diesem Video haben wir tatsächlich eine Menge Steuern gemacht, die tatsächlich funktionieren. Als wir also den Imker hatten, beginnen
wir den Kampf. Wir hatten das N und die Feinde angreifen. Da gehen wir. Wie Sie gesehen haben, wählen
sie zufällige Spieler. So jeder der feindlichen Schuhe, zufällige Spieler und wählen zufällige Angriffe. Also lasst uns das noch einmal versuchen. Ja, da gehen wir. Zufälliger Spieler. Ein zufälliger Spieler. Versuchen wir es noch einmal. Da geht's, Der Blitz, wie cool ist das? Also benutzen wir den Schrägstrich, die Aufhellung, die violetten Angriffe. Es ist so erstaunlich. Es ist so cool. Wir wählen zufällige Spieler aus. Es macht sehr lustig. Also lasst uns keine Zeit mehr verschwenden. Dieses Video ist lang genug und lasst uns anfangen. Die Animationen haben alle eine Loop-Zeit von 0 oder ich habe die Loop-Zeit deaktiviert. Jetzt können wir fortfahren und alle löschen. Wir werden das alles retten. Und dann werden wir weitermachen und ein neues Skript erstellen, das die Kampfbewegungen genannt wird. In unseren Skripten, im Gefechtsbereich und im Kampfsystem, werden
wir ein C-Sharp-Drehbuch erstellen. Kampf, bewegt, getroffen, Enter,
warten, bis es kompiliert. Und das wird eine ganz besondere Art von
Klasse sein , weil wir noch keine davon gemacht haben. Wir werden das morgendliche Verhalten entfernen. So werden Sie jetzt sehen, dass Update und Start nicht mehr missbraucht werden können. Sie sind regelmäßige Funktionen und wir werden sie löschen. Warum machen wir das? Weil wir nicht wirklich anhängen wollen, sondern sich an irgendetwas bewegt. Wir wollen es einfach als Informationsquelle behalten. Es ist ähnlich wie die Elemente Assets, die wir erstellt haben. Also irgendwo hier drin, die Gegenstände Assets, können Sie sehen, obwohl wir hier den Anfang haben, also ist es irgendwie anders, aber Kampfbewegungen werden an nichts angehängt werden. Es wird nur verwendet, um, äh, ein paar Dinge zu tun. Und wir werden hier hinzufügen, dass es ein Systempunkt serialisierbar ist. Und das wird darauf hinweisen, dass wir es überall verwenden können. Wir werden also einen öffentlichen String-Move-Angriff erstellen. Wir werden dies viermal duplizieren, weil wir vier Arten von Variablen haben werden. Und hier werden wir eine ganze Zahl für die MOOC-Leistung haben. Wir werden eine ganze Zahl für die Manakosten haben. Denn denken Sie daran, dass all dies Zauber sind, die Mono haben, nicht den Angriff, obwohl wir das auf 0 setzen. Und schließlich werden wir hier den Effekt haben, den wir nutzen wollen. Also Kampfeffekt, wo ist es? Schlacht, Kampf, Kampf. Kampfbewegungen, die wir nennen es bewegt oder Kampfeffekt? Nein, da gehen wir. Da ist es bekämpfende Tatsache. Also öffentliche Kampf-Effekt oder eine Tag-Tatsache. Tut mir leid. Oh mein Gott. Okay, also der Effekt zu verwenden, und wir werden es hinzufügen. Jetzt gehen wir zurück in den Kampfmanager. Also, wo ist der Kampfmanager? Wo ist es hin? Ernsthaft? Wo ist es hin? Also, aber Manager, hier sind wir aus irgendeinem Grund mit schließen diese. Also gehen wir wieder zu den meisten der Mathematik und sie beginnen, aber auch. Und hier werden wir ein serialisiertes Feld schaffen, das die Kampfbewegungen sein wird. Und es wird eine Liste der Kampfbewegungen sein. Da gehen wir. Nun, wenn wir in Unity
gehen, geh zum Kampfmanager. Sie können jetzt sehen, dass sich die Schlacht bewegt, wenn wir auf sie klicken. Wenn wir ein Element hinzufügen, hat
dieses Element mehrere Variablen darin bereits darauf warten, dass wir hinzufügen. Also werden wir genau das tun, werden das absperren. Wir gehen in die Prefabs. Der Angriff bewegt sich, und wir gehen weiter und fügen das blaue Feuer hinzu. Das wird also der blaue Feuerball sein, die Bewegtmacht, sagen wir, es ist 15. Ich bin mir nicht einmal sicher, was diese Zahlen sein werden. Diese müssen viel Zeit in Anspruch nehmen und sicherstellen, dass alle korrekt sind. Also haben wir sechs. Also die
Laser-Move-Kraft , sagen wir, es ist zehn, Manakosten sind sechs. Und ich denke, Manacles sollten viel mehr sein. Manakosten werden also 100 betragen. Und der blaue Feuerball, die Manakosten sollten 200 betragen. Die Schweren gehen. Der blaue Feuerball. Mal sehen, wir haben die Aufhellung. Und ich glaube, ich habe Blitz falsch geschrieben. Und der Angriff wird sein, sagen wir 25. Und die Manakosten betragen 120. Und das sind sehr seltsame Zahlen. Ich bin mir nicht sicher, ob sie gut sein werden, wenn wir versuchen, sie zu benutzen. Und ich werde den Schrägstrich und die Tentakel hinzufügen. Und wir werden hier hinzufügen lila. Die violetten Tentakel haben also eine Angriffskraft. Alles, was ich wirklich all das von oben auf meinem Kopf mache. Eine Kosten von 300, der Schrägstrich a mehr, sagen
wir 10 und Höhe der Kosten von 0. Und die Bewegung der Tentakel hat eine Bewegungskraft von sechs mit einem Manakosten von 360. Okay, großartig, jetzt haben wir alle unsere Angriffe richtig eingerichtet. Lasst uns das retten. Also, jetzt, was wir tun, ist, anstatt einfach zehn Gesundheit von dem ausgewählten Spieler und den feindlichen Angriff zu
entfernen, werden
wir tatsächlich auf unseren aktiven Charakter in der aktuellen Runde zugreifen wird einen zufälligen Angriff erzeugen, dass der eigentliche Feind hat. Also, wenn wir zu einem der Feinde
prefabs gehen und hier können Sie sehen, dass wir die Angriffe zur Verfügung haben. So können wir jetzt die Elemente mögen und die Namen der Angriffe hinzufügen, die wir zur Verfügung haben. Wählen Sie einen von ihnen, um den Feind
anzugreifen, um den Spieler mit anzugreifen, und es wird zufällig wählen. Also lasst uns gehen. Zuallererst werden wir den Code dafür erstellen. Wir gehen zurück in unsere Drehbücher und auf den feindlichen Angriff. Nachdem wir einen bestimmten Spieler ausgewählt haben, werden
wir hier eine weitere Ganzzahl erstellen und es wird der ausgewählte Angriff sein. Und es wird ein zufälliger Punktbereich sein. Und es wird zwischen 0 sein, weil wir bei
00 beginnen und aktive Charaktere in der aktuellen Runde, wir schleifen, weil wir den aktuellen aktiven Charakter wollen, also der aktuelle Feind, den wir verwenden und wir werden auf die Angriff bewegt. Also Angriff Moves verfügbar ist nicht Zugang zu uns ,
weil das ist gehen, um die Kampffiguren hier in, wir wollen zurück. Also werden wir eine Methode erstellen,
ein öffentliches String-Array namens Angriffsmulen fehlgeschlagen. Und hier drin werden wir einfach die verfügbaren Angriffsbewegungen zurückgeben. Gehen wir zurück in den Kampfmanager. So Angriff bewegt sich verfügbar, die Länge. Es wird also zwischen 0 und der Anzahl der angegriffenen Angriffe wählen, die wir haben. Dann werden wir eine Schleife erstellen. Also werden wir uns durch die Liste der Kampfbewegungen schleifen. Wenn ich also gleich 0 bin, bin ich kleiner als die Liste der Kampfbewegungen, die wir gerade erstellt haben. Länge I plus, plus. Und dann in hier werden wir überprüfen, ob der Kampf bewegt sich weniger an der Position, die ich Punkt bewegt Namen wäre nicht hinzufügen, einen Move-Namen. Das ist also der Name Verschieben. Warum nannte ich es Umzugsangriff? Ich weiß nicht, Move Name und das wird der Mond sein. Name verschieben. Danke. Also bin ich ein bisschen weg von meinem Spiel. Keine Sorge darüber. Michael, komm schon, konzentriere dich. Wir greifen auf den aktiven Charakter in der aktuellen,
aktuellen Runde mit dem Angriff zu bewegen verfügbar. Also werde ich diese Zeile kopieren. Fügen Sie es hier ein, und an welcher Position werden wir darauf zugreifen? Es wird bei dem ausgewählten Angriff sein. Also, wenn es eine Ähnlichkeit zwischen ihnen, so suchen wir nach dem zufälligen Angriff, den wir von diesen zufällig ausgewählten Angriff bekommen, und dann vergleichen wir es. Haben wir diesen Gefechtszug in unserem Kampfmanager? Wenn ja, dann werden wir instanziieren. Und wir werden das aufmachen. Wir müssen es keiner Variablen zuweisen. Und wir werden auf die Liste der Gefechtsbewegungen an Position zugreifen , die
ich den Effekt auf gemeinsame verwenden. Dies wird das Objekt sein. Jetzt ist die Position und Rotation aktiven Charakter v Selected Player die Transformation der Position
anzugreifen und die Rotation zu transformieren. Das wird also finden, und wir wollen keine Eltern hinzufügen, müssen
wir wirklich nicht. Also, was ist hier los? Wir wählen zufällig einen Spieler aus. Wir wählen zufällig einen Angriff aus. Wir durchlaufen alle verfügbaren Angriffe, die wir haben können. Wir überprüfen, ob wir den Angriff haben und die Gefechtsbewegungen angreifen, wenn wir ihn finden, dann instanziieren wir diesen Effekt auf die Position des Spielers mit seiner Rotation. Also lasst uns das alles retten. Gehen wir zurück in die Einheit. Und wir benutzen die Warlords und die Hauptseite, wenn wir einen Kampf beginnen. Lassen Sie mich überprüfen, ob wir ja sind. Oh, der Meistermagier. Also der Major Master, beherrsche mein Alter. Ok. Welche Art von Bewegungen hat der Master mmh? Wir gehen zu den Angriffseffekten von Prefabs. Also, was glaubst du, hat ein Meister abgesperrt? Ich glaube, er hat Tentakel. Er hat den Blitz und er hat wahrscheinlich auch den Laser. Also, weil er ein Meisterbild ist, werde
ich schauen, wie viel Häm Mono hat und ich denke das Lila ist auch etwas, das er hat, die lila Tentakel. Okay, also werden wir das retten. Und dann wählen wir einen anderen Butler,
den Feind, die Hexenmeister. Wir werden sie absperren. Und je mehr Glück sollte ein bisschen weniger Steuern haben. Also die Prefabs, er wird das Blau weit haben, aber natürlich hat er nicht den Blitz, hat nicht den Laser, du wirst die Tentakel haben. Und sagen wir, er hat auch den Schrägstrich, kopieren Sie ihn hier hinein. Also hat er auch den Schrägstrich, obwohl ich denke, dass wir den Schlamm nicht brauchen, lassen Sie ihn hier drin behalten. Wir werden das retten und gehen weiter und testen unsere Kämpfe. Also werden wir das Spiel laufen. Wir beginnen einen Kampf. Wir gehen zum Kampfmanager, damit wir sehen können, was hier passiert. Schließen Sie das hier. Also haben wir die N Schlüssel eins zu drei getroffen. Okay, also passiert nichts. Oh, Fall. Also das Problem ist, dass, wenn wir
aus irgendeinem Grund wegen meiner mangelnden Konzentration von Bewegung geändert , Ich habe diese Variable hier genannt und starten Sie bewegt Namen, bewegen Angriff. Also haben wir den Namen der Variablen geändert und indem wir den Namen der Variablen ändern, haben wir den Namen hier gelöscht. Also, wenn wir suchen und der Kampfmanager und hier, so die Schlacht bewegen Name, ist es gleich einer der verfügbaren? Natürlich nicht, weil die verfügbaren sind alle, oder der Kampf bewegt Punktnamen sind alle leere Strings. Also müssen wir das noch einmal machen. Und lasst uns zu den Prefabs gehen und das alles kopieren und einfügen. Also bewegt sich der Angriff. Lasst uns zum Manager gehen, wird das absperren. Blauer Feuerball, der Laser, die Aufhellung. Wir müssen sicherstellen, dass sie genau gleich sind. Sonst wird es sie nicht finden. Wie Sie wissen, arbeiten wir mit String-Referenzen. Speichern Sie das und jetzt bin ich fast 100% sicher. Also wollte ich dir sagen, wie ich das tatsächlich debugge. Also hatte ich hier einen Druck und ich ging durch. Also wollte ich nur sichergehen, ob wir nicht zu diesem Punkt und hier kommen. Also habe ich einen Druck hinzugefügt. Ich habe gesehen, dass ja, wir gehen tatsächlich in die Schleife. Also habe ich hier einen zweiten Druck hinzugefügt, den wir instanziieren oder instanziieren. Es spielt keine Rolle, was Ihren Bedürfnissen entspricht. Also habe ich gesehen, dass wir nicht wirklich in diese wenn Bedingung eintreten. Dann wusste ich sofort, dass die Bedingung hier nicht erfüllt wird. Warum? Ich schaute mich um und bemerkte, dass sie leer waren. Das ist also ein kleiner Profi-Tipp für Sie. Jetzt sollten wir alles reibungslos laufen lassen. Also führe unser Spiel. Der Schnabel ist etwas außer Ordnung hier. Doppelklicken, Was ist das Problem? Wird versuchen, vorbei an drei Hüfte der LIGO,
der Laser zu bewegen . Ja, da gehen wir. Und beide haben das Skelett angegriffen. So nett. Wie Sie sehen können, funktioniert
alles korrekt mit seinen Soundeffekten. Es gibt hier ein bisschen ein Problem. Sobald wir das Spiel auf dem Aufwachen starten. Ich denke, das ist nichts zu beängstigend. Ja, ich denke, das ist wahrscheinlich nichts zu beängstigend. Ich hoffe, Sie haben dieses Video genossen. Ich hoffe, Sie genießen die Fehler, die Ihr Lehrer macht, die mangelnde Konzentration und wohin es Sie führen kann, während die Entwicklung des Spiels. Also, wenn Sie die Ergebnisse genießen, kennen
Sie den Bohrer, lassen Sie mir eine Rezension. Es hilft mir sehr. Und ich sehe dich im nächsten Video, wo wir anfangen, mit unseren Spielern anzugreifen.
101. Teil 15: Damage: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir tatsächlich den Spielern Schaden von den Gegnern hinzufügen. Also, wenn wir unser Spiel laufen, drücken Sie die Taste B, gehen Sie zu den feindlichen Stearns. Da gehen wir, Ein Angriff, Angriffe. Und Sie können hier sehen, dass wir tatsächlich einen kritischen Treffer hatten. Statt 127 haben wir 254. Und Sie können hier den ganzen Schaden sehen, der Gutes angetan hat. Also zuerst hatten wir den Meister, der 127 und dann den Kriegsherr 93. Aber stattdessen, weil sie kritische Treffer hatten, werden sie verdoppelt. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, also jetzt, bevor wir zu den angreifenden Spielern wechseln, müssen
wir die Schadenskontrolle einrichten. Wir müssen also sicherstellen, dass wir eine Möglichkeit haben, Schaden vom Feind,
vom Spieler usw. anzubringen . Also, wie ist tatsächlich beschädigt Schwanz zu arbeiten? Lassen Sie mich Ihnen nur zeigen und ein wenig über die Berechnung des Schadensbetrags sprechen. Wir haben zwei Variablen für den Schaden. Wir haben die Geschicklichkeit und wir haben die Waffen, Kräfte, steile Waffen, die wir aufnehmen. Es hat irgendeine Art von Attributen. Wir können es mit der Geschicklichkeit verwenden, die bereits auf dem Spieler verfügbar ist, was jedes Level erhöht. Dann haben wir auch zwei Variablen für den Unterschied. Wir haben die Verteidigung, die auf jedem einzelnen Spieler ist. Es könnte die Haut sein, die er hat, die Kleidung, die er trägt, die Art der Build, die er hat, et cetera. Und wir haben die Rüstungsverteidigung, also ist es die Rüstung, die er aufnimmt. Wie gut ist der Unterschied dazu, et cetera. Verkomplizieren Sie die Dinge nicht, fügen
Sie einfach die Macht und den Unterschied hinzu. Wir werden nicht zu viel hineingehen. Der Schadensbetrag wird also die Leistung geteilt durch die Differenzzeiten der MOOC angetrieben. Also, weil wir gesagt haben, dass jeder Zauber oder Schrägstrich oder was auch immer es ist, werden
wir eine bestimmte Kraft haben. Also fügen wir dies in Betracht, und dann fügen wir einfach eine Art zufällige Konstante hinzu. Und schließlich fügen wir auch eine kleine Menge
kritischer Schäden mit einem bestimmten Prozentsatz der Arbeit hinzu. Also lasst uns weitermachen und das tun. Also gehen wir in den Kampfmanager. Öffnen wir die Skripte und wir werden eine Methode erstellen, um Schaden zu verursachen. Also werde ich den Feind schließen. Schau, wie groß unsere Methode bereits ist. Ich meine, unser Drehbuch hat es schon. Also hier drin werde ich eine private Leere erschaffen, Charakteren
Schaden zufügen. Und das wird sowohl auf den Feind als auch vom Feind und den Spielern verwendet werden. Also werden wir zuerst
einen Parameter bekommen, der der ausgewählte Charakter zum Angriff sein wird. Das wird uns also
den Feind geben , den wir eigentlich schon Spieler haben, den wir tatsächlich angreifen müssen. Und noch eine ganze Zahl, die die Bewegung Macht sein wird. Wie viel Macht macht der Zug, den wir verwenden, um einem bestimmten Charakter
Schaden zuzufügen, tatsächlich ist. Also, jetzt werden wir zuerst die Angriffskraft berechnen. Also werden wir die Angriffskraft schweben. Und es wird gleich den aktiven Charakteren sein, die im aktuellen Zug ist, Geschicklichkeit. Also berücksichtigen wir die Geschicklichkeit. Dann nehmen wir auch eine Kreiswaffenmacht, die er hat. So aktiver Charakter, aktueller Begriff Punkt Waffe Macht. Speichern Sie das. Jetzt werden wir den Betrag berechnen. Also schweben Sie den Dicey nur Betrag, ich wollte den Differenzbetrag sagen. Also werden wir die Höhe der Verteidigung berechnen, die wir haben. Also werden wir die aktiven Charaktere überprüfen. Aber dieses Mal verwenden wir den ausgewählten Charakter, um anzugreifen. Also haben wir den Akt der Charaktere im Kampf. Wir wählen den ausgewählten Charakter, den wir angreifen wollen. Also an diesem Ort, wenn wir mit einem Spieler angreifen, dann wollen wir einen Feind angreifen. Wenn wir mit dem Feind angreifen, dann wollen wir einen Spieler angreifen. Also werden wir die Verteidigung des Spielers oder
des Charakters berechnen , den wir angreifen wollen. Und wir werden auch berücksichtigen,
ich denke, Sie wissen bereits, was wir berücksichtigen wollen. Und das ist die Rüstungsverteidigung, die er auf Nope hat. Rüstung Verteidigung. Ok. Wie Sie jetzt sehen können, haben wir den Angriff, wir haben die Macht. Jetzt müssen wir den Schadensbetrag berechnen. Also Schadensbetrag, und es wird gleich der Formel sein, die wir gegründet haben. Es wird also die Angriffskraft geteilt durch den Differenzbetrag, den wir haben. Wir werden es dann mit der Umzugskraft multiplizieren. Und wir werden es auch mit einem zufälligen Bereich multiplizieren. Und hier drinnen hängt es wirklich von dir ab. Wie viel Zufälligkeit möchten Sie hinzufügen? Ich denke, 0,9 F und 1,1 f ist eine gute Menge. Das wird uns also etwa 90 Prozent oder 110% geben. Das ist also der Grundbereich des Schadens, den wir anrichten. Es ist ein bisschen Zufälligkeit. Es ist schön, weil wir berücksichtigen, zum Beispiel, sagen
wir, der MAE macht eine Art von Magie und trifft den Spieler nicht vollständig. Es ist also eine nette Note, denke ich. Und Sie können die Formel ändern, wenn Sie eine bessere Formel finden können. Dies ist eine der grundlegendsten Arten von Formeln, die Sie auch können, wenn Sie Ihre eigenen Spielerstatistiken haben, können
Sie Ihre eigenen hinzufügen. Also weiter, was wollen wir jetzt tun? Wir wollen diesen Schadensbetrag in eine ganze Zahl umwandeln, weil wir es als Float haben. Also werden wir die Variable eingeben, die der Schaden sein wird, den zu geben. Und wir werden es in eine ganze Zahl konvertieren. Und warum mache ich das auf einer separaten Leitung? Weil ich glaube, dass es viel klarer ist, wenn wir durchziehen. Sie verstehen also, dass wir den Angriff berechnen, die Verteidigung
berechnen, den Schadensbetrag berechnen und den Schaden berechnen, den wir geben wollen. Ok, großartig. Nun, weil wir keine Möglichkeit haben anzugeben, wie wir zustande kommen oder wie viel Schaden wir damit zu tun haben. Wir werden das Debug-Punktprotokoll verwenden. Also debuggen Sie Punktprotokoll. Und wir wollen wissen, welcher Charakter den Schaden verursacht. Also der Akt des Charakters auf dem aktuellen Begriff, Punktname. Und wir werden verketten und sagen, dass er gerade behandelt, behandelt, behandelt. So schreibt man Delta, glaube ich. Ja. Und dann werden wir es mit dem Schadensbetrag verketten. Und wir werden auch zeigen, wie sehr der Schaden wirklich einen Effekt haben wird. Also meine ich, damit werden
wir auch den Schaden verketten, den wir geben müssen. Und wir werden es zwischen diesen beiden Klammern schließen. Ok? Und wir werden hier auch noch etwas hinzufügen, das ich fast vergessen habe. Und das werden wir auch hier drinnen sagen. So hat der Drache zum Beispiel nur eine gewisse Menge an Schaden zugefügt. Und dann verkettet wir wieder mit dem Charakter oder den aktiven Charakteren, den ausgewählten Charakter anzugreifen. So können wir jetzt klar sehen, was der Schaden ist, wer ihn umgeht und wem er zugefügt wird. Schließlich werden wir Schaden nehmen. Haben wir diese Methode und unsere Charaktere, die Kampffiguren hier müssen einen Take Schaden erstellen. Also öffentlich, nichtig, erleiden HP Schaden. Und das wird der ganzzahlige Schaden sein, den man erhält. Und hier drin werden wir einfach die beschädigten von der aktuellen HP entfernen. Das aktuelle HP Minus entspricht also dem zu erhaltenden Schaden. Und offensichtlich, wenn die aktuelle HB, wenn die aktuelle HB kleiner als 0 ist, dann werden wir die aktuelle HP auf 0 setzen. Das war's. Das retten wir. Ich denke, wir haben einen irgendwo, um sich darum zu kümmern, aber wir werden nur sicherstellen, dass wir diese Bedingung hier hinzufügen, nur für den Fall, dass wir mit unserer aktuellen HP nicht unter 0 gehen wollen. Also endlich bekommen wir den Akt der Charaktere. Wir gehen zum ausgewählten Charakter, um anzugreifen. Wir nehmen HP Schaden und den Schaden, den wir als den Schaden erhalten wollen, der eine ganze Zahl ist
, weil wir dafür gesorgt haben, dass der Parameter hier
eine ganze Zahl ist , weil der aktuelle HB eine ganze Zahl ist. Und schließlich werden wir diese Methode nennen. Und wo nennen wir es? Nun, wir nennen es, nachdem wir mit dem Angriff fertig sind. Also hier drin müssen wir dem Charakter Schaden zufügen den wir dem Charakter schicken müssen, den wir angreifen wollen. Also haben wir es bereits hier drin, den ausgewählten Spieler anzugreifen. Also wählen Sie Spieler, um anzugreifen und was ist die Umzugskraft? Nun, wir werden es hier reinbringen, nachdem wir instanziiert haben. Also werden wir eine Variable erstellen, die eine ganze Zahl sein wird. Der Umzug. Macht. Und lassen Sie es uns vorerst auf 0 setzen. Und nachdem wir überprüft
haben, stellen wir sicher, dass der Zug verfügbar ist als die meisten Macht, es wird gleich sein wie die Kampf-Move-Liste. An der Position punkte ich die Bewegungskraft. Das retten wir. Wir schicken die Variable hier rein, wir speichern das. Und jetzt lasst uns das alles testen. Also lasst uns wieder in unser Spiel gehen. Und derzeit funktioniert die Macht oder der Angriff nur auf die, mit dem Feind auf den Spieler. Also gehen wir voran und beginnen den Kampf. Und wir gehen zur nächsten Kurve. Und aus irgendeinem Grund haben wir die Leinwand nicht gezeigt. Also die Kampfmanager-Szene, die Kampfleinwand. Wenn wir unser Spiel laufen, das ist nur sehen, wo das Problem ist, es die BK, während die Kampfszene, wo ist das Menü? Also wieder, wenn Sie jemals auf ein solches Problem stoßen, bei dem alles zerstört wird, müssen
wir hier reingehen und sicherstellen, dass es 19 mal 20, 1920 mal 1080 ist. Lassen Sie mich jetzt diese Kampfszene ausschalten. Da gehen wir. Führen Sie das Spiel aus. Drücken Sie die Taste B. Da gehen wir. Also lasst uns zum Kampfmanager gehen. Das sagte der N, und jetzt greifen die Feinde an. Ja, da gehen wir. Also haben wir schon verloren, weil wir aus irgendeinem Grund getötet wurden. Das ist nicht sehr gut. Also lass mich einfach hier in der Konsole zurückgehen, das Spiel
nicht laufen lassen und schauen wir uns an, was passiert. So gab der Hauptmeister 128 auf das Gramm, das ist der Kampfcharakter. Und dann die Hexenmeister del 251 an Draco. Okay, und dann haben wir verloren. Offensichtlich hatten wir noch einen von ihnen zur Verfügung. Es ist etwas falsch, wir werden das später beheben, aber für jetzt sind wir Schaden zu verursachen war einfach sehr gut. Das nächste, was zu tun ist, ist, voran zu gehen und eine Art kritischen Schaden hinzuzufügen. Also im Battle Manager, werden
wir die Aktualisierung Schlacht schließen. Wir müssen zurückgehen und überprüfen, warum wir einfach so gestorben sind. Wir müssen jetzt ein bisschen Schadens- oder kritische Schadensberechnungen erstellen. Und es wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht darin, kritischen Schaden zu verursachen. Sie müssen eine Methode erstellen, die
ein Ende zurückgibt, um den kritischen Schaden mit einem Argument zu berechnen .
Sie müssen den zufälligen Punktwert innerhalb
einer if-Anweisung verwenden und den beschädigten Wert mal 2 zurückgeben. Der kritische Schaden ist also ein Schaden, der mal 2 ist. Drucken Sie schließlich den Betrag und das Debug-Punktprotokoll aus und Sie müssen es natürlich
von Schaden aufrufen und es einer Variablen zuweisen. Also pausieren Sie das Video jetzt und erstellen Sie eine kritische Schadensmethode. Okay, also zuerst, wo berechnen wir den Schaden? So, und hier sehen wir, dass wir das beschädigte haben, um zu geben. Wir können tatsächlich unter ihm, gehen Sie weiter und sagen, dass der Schaden zu geben wird
gleich sein, um Kritisch zu berechnen. Und wir werden ihm den Schaden geben, den wir zu geben haben. Lassen Sie uns nun voran und erstellen Sie diese Methode. Also werden wir die Methode generieren. Und hier drin, was wir tun werden, ist, dass wir dieses f erstellen, das zu einem zufälligen Wert gehen wird. Und Sie können sehen, dass dies einen Zufallswert zwischen 01 zurückgibt. Das wird uns also geben, wenn Sie einen bestimmten Prozentsatz wollen und wenn es weniger ist als, sagen
wir 0,1 f, also haben wir eine 10-prozentige Chance auf diese Arbeit. Wir werden den Debug-Punkt-Log Uhr verwenden. Und wir werden hier drinnen sagen, Karriere-Kitzel-Hit. Anstelle von Schaden, um Punkte zu geben. Wie viele Punkte oder wie viele Schadenspunkte haben wir damit zu tun? Wir haben Schaden zugefügt, um mal 2 zu geben. Und drücken Sie einfach die Eingabetaste hier und beginnen Sie dann erneut zu verketten. War das da, wo wir gehen. So kritischen Schaden anstelle des regelmäßigen Schadens zu geben oder Punkte, der Schaden zu geben mal 2 wurde zugefügt. Und wir werden Schaden zurückgeben, um mal 0 mal zu geben, um das zu retten. Und lassen Sie uns diese einfach in Klammern setzen, nur weil 44, um sicherzustellen, dass es funktioniert. Sonst, wenn es nicht funktioniert, dann werden wir einfach den Schaden zurückgeben, um zu geben. Also, was hier passiert ist, ist, dass wir überprüfen. Wir bekommen einen zufälligen Wert. Und wenn dieser Wert kleiner als 0,1 ist, gibt uns der
zufällige Punktwert, wie wir gesagt haben, eine Zahl zwischen 01. Wenn es also weniger als 0,1 ist, bedeutet
das, dass es eine 10-prozentige Chance hat zu arbeiten, dann werden wir den Schaden zurückgeben, um mal 2 zu geben, und wir werden es hier dem Schaden zuordnen, den wir geben. Sonst. Wenn es nicht weniger als 0,1 ist, wird es einfach den Schaden zurückgeben, den es gibt. Und um des Tests willen, werden
wir dies auf weniger als 0,8 setzen. Das gibt uns eine 80-prozentige Chance. Und wir werden hier sagen, das muss zu einem Nullpunkt 1 f wechseln . Gehen wir zurück und unser Spiel. Lass uns das Spiel laufen. Lasst uns die B-Taste drücken, die am Ende ist. Und okay, also gehen wir. So kritischer Treffer, wir haben gerade einen kritischen Kopf. Also statt 211 Punkte, 422, war das in Ordnung? Sehr gut. Ich hoffe, Sie haben genossen, ich hoffe, Sie verstehen, wie alles funktioniert und ich sehe Sie im nächsten Video. Wir haben hier auch einen kritischen Treffer gemacht. Also sehe ich dich im nächsten Video.
102. Welcher Feind: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir etwas über
Partikelsysteme lernen und wir werden sie tatsächlich nutzen. Also, wenn wir unser Spiel laufen,
denken Sie daran, wann einer der Feinde angegriffen hat und wir nicht wussten, welcher angreift. Natürlich, mit der Konsole hätten wir wissen können, aber visuell, woher wissen wir das? Nun, wie Sie sehen können, wissen wir
jetzt, dass der Feind, der angreift, diesen kleinen Rotschimmer um sie herum hat. Es ist nicht perfekt. Es ist schön genug und es gibt uns einen Weg zu wissen. So zum Beispiel, der Major angegriffen zuerst als der Krieg fehlte Angriff an zweiter Stelle. Vergeuden wir also keine Zeit mehr. Übertragen Sie Ihre Änderungen am Ende dieses Videos und beginnen wir. Oh, okay, willkommen zurück. Also starben wir vorher, wenn Sie sich im vorherigen Video zu schnell erinnern oder wir verloren zu schnell, Das ist, weil der Spieler, Jimmy hat eine aktuelle HP von 0, so werden wir es auf 100 setzen. Und auch die Skelettwürfel und ein Schlag. Vielleicht sollten wir die auf 200 mal 200 erhöhen. Und das machen wir auch für das Gramm. Also setzen wir das auf zweihundert, zweihundert, speichern Sie das, wenden Sie die Änderungen an. Und das ist alles, was wir tun müssen. Also lasst uns das speichern und wieder auf das eigentliche Problem hier drinnen zurückkommen. Und das ist, dass wir nicht wirklich visuell sehen, welcher Feind unseren Spieler angreift. Woher sollen wir das wissen? Nun, es gibt einen sehr einfachen Weg und das ist, vielleicht einen kleinen Kreis oder Spark
oder vielleicht eine Art von Volk um den Feind zu schaffen , der gerade einen der Spieler angegriffen hat. Wie sollen wir das machen? Nun, wir werden das Partikelsystem der Unity nutzen, um einen Effekt zu erzeugen. Ich werde nicht zu tief in Partikelsysteme gehen , weil sie selbst ein Kurs sein können. Ich werde nur über die Grundlagen gehen und Ihnen
ein vordefiniertes Partikelsystem zeigen , das nicht notwendigerweise erstellt wird, aber die Idee bekommen hat. Also werde ich hier mit der rechten Maustaste klicken. Ich werde gehen, um zu verschleißresistent gegen die Auswirkungen und gegen das Partikelsystem. Da gehen wir. So wie Sie sehen können, haben
wir bereits ein Partikelsystem wird die Position des Satzes auf 0 setzen. Und wenn wir die 2D aufheben, können
Sie sehen, dass dies unsere Partikel sind und ich
werde sie nach vorne bewegen. Also, da gehst du hin. Sie können jetzt sehen, dass wir diese Partikel herauskommen, lassen Sie mich sie einfach mehr bewegen und gehen Sie. Also werde ich das größer machen und wir werden uns diese Partikel ansehen. So, wie Sie sehen können, werden
sie nicht vor gerendert, weil sie Sortierebene ist anders. Gerendert können wir wählen, auf welcher Sortierebene sie sich befinden. So Sortierschicht, lassen Sie uns sie auf
die Kampffiguren legen und Ebene eins bestellen, so dass wir sie deutlich sehen können. Wie Sie sehen können, sind das unsere Teilchen. Und die Art und Weise, wie sie arbeiten, ist,
wenn wir uns bewegen, können Sie sehen, dass es sich um 2D-kleine Bilder handelt, die immer so aussehen, wie wir es suchen, ob es im Szenenmodus oder auf der Spielstimmung. Und das liegt daran, dass sie ein wenig Speicher und
Platz sparen wollen und so viele Partikel zu rendern ist sehr, sehr verwirrend und Herz. Gehen wir also in den Inspektor und machen ein paar Dinge. Wie Sie sehen können, gibt es Hunderte und Hunderte von Dingen, die Sie
das Knie von Lärm auf äußere Kräfte zu Rotation der Geschwindigkeit und all diese ändern können . Und wie gesagt, ich werde nicht in jeden einzelnen von ihnen gehen, aber ich werde versuchen, die Dinge zu erklären, die wir tun werden. Das erste, was zuerst ist, dass wir das zu einer Emission von Burst machen werden. Also hier drin können wir den Burst hinzufügen. Sie können die Emission über Rate sehen. Sie können sehen, dass wir es verringern, erhöhen und so weiter. Ich werde einen Burst hinzufügen. Ich werde zu den Formen gehen und es zu einem Kreis machen, damit wir Formen in eine Kugel ändern können, zum Beispiel, ich werde es zu einem Kreis machen. Ich werde natürlich versuchen, es zu drehen. Keine Anschlüsse, die Warm drucken, Brauchen Sie das
nicht für jetzt. Ich werde es drehen. Also, da gehen wir oder wir können es auf 0 setzen. Also, jetzt ist es irgendwie platzen, wie Sie sehen können. Wenn wir es nur ein bisschen sehen. Ja, da gehen wir. Das ist der Burst. Wir können den Burst der Zyklen und die Zählungen ändern. Lassen Sie uns die Rate im Laufe der Zeit herausstellen. Jetzt können wir einen Burst sehen. Da gehen wir. Die Wahrscheinlichkeit, das Intervall kann vielleicht eins sein. Und es spielt keine Rolle, denn wir werden es nur einmal erscheinen lassen und dann verschwinden lassen. Wir wollen nicht die ganze Zeit sein. Wir können 60 Partikel hinzufügen und so weiter. Wir werden später sehen, wie sich das alles ändern wird. Also 60, Kreis 60, der Burst, und dann gehen wir über das Leben auf die Größe über. Also hier drin haben wir eine Option. Welches ist die Größe über die Lebensdauer. Stellen Sie sicher, dass dieses Kontrollkästchen aktiviert ist, um die Größe über die Lebensdauer zu bestimmen. Wir können hier auf die Grafik klicken. Und wir können dieses Partikelsystem bewegen. Und hier haben wir diese Option. Wenn wir auf das Diagramm klicken, können
wir wählen, was die Größe über die Lebensdauer, wie wir es verringern, erhöhen, machen die y größer oder kleiner, wie Sie sehen können, wenn sie sich bewegen. Und das ist die Geschwindigkeit, mit der sie die Größe geändert haben. Also, wenn wir vier hier setzen, zum Beispiel, Da gehen wir. Wenn wir es erhöhen, nehmen sie Zeit, bis sie kleiner werden. Aber was wir tun werden, ist, dass wir es einfach schaffen. So. Also gehen wir hin. Sie beginnen bei einem sehr großen und dann werden sie kleiner und kleiner, bis sie in einer Minute auf etwa 0 kommen. Ja, da gehen wir. Ich denke, das ist gut genug. Ich werde das schließen. Als nächstes werden wir die Dauer einstellen. Also hier haben wir Optionen, die sehr, sehr klein sind. Also die Dauer hier drin wollten wir weniger nur eine Minute. Also gehen wir hin. Jetzt haben wir eine Art Teig platzen. Dann müssen wir die Startlebensdauer festlegen. Also werden wir die Startlebensdauer auf zwei setzen. Und da gehen wir, Sie können sehen, dass sie schneller verschwinden. Wir müssen die Startgeschwindigkeit einstellen. Wir werden es vielleicht auf 0 setzen, dass C. Also, wie Sie sehen können, wird
das zu einer Art Rauchpuff. Und wenn wir es auf 0 setzen, werden
Sie sehen, dass es nur auf der Position passiert, die wir wollen. Wir wollen nicht, dass es überall platzt. Wenn einer der Charaktere etwas tut, werden
wir eine Stop-Aktion hinzufügen, um zu zerstören. Also hier drin haben wir die Stop-Aktion und das wird zerstört werden. Dies wird das gesamte Objekt zerstören, weil wir es nicht behalten wollen und es immer und
wiederholen über den Spieler, der der Feind ist,
der gerade den Zug gemacht hat oder so. Und schließlich können Sie die Farben ändern. So können wir es auf rot setzen, zum Beispiel, wenn Sie wollen oder irgendwie ein orangees Gefühl, vielleicht rötlich. Und ich empfehle, die Schuhpause jetzt
zu stoppen und durch Ihr gesamtes Partikelsystem zu schauen. Es gibt so viele Dinge, mit denen man spielen und Spaß haben kann. Da sind die Lichter, das Kollisionsgeräusch. Es gibt so viele. Die Farbe über das Leben hinweg ist eine meiner Favoriten. Sie können die Farben über die Lebensdauer zwischen zwei Werten ändern, zum Beispiel, was sehr,
sehr schön ist und in diesem Fall wirklich hilfreich sein könnte, tue ich. Wenn Sie möchten, können Sie auch eines dieser Partikelsysteme erstellen
und diese mithilfe der Videos auf Google Drive an mich senden. Ich würde gerne sehen, was du dir einfällt, weil ich kein sehr kreativer Mensch bin. Ich höre einfach auf, und dann
überlasse ich die kreativen Teile den Leuten, die wissen, wie man das macht. Also empfehle ich, dass du dir wirklich aus dem Weg gehst. Nehmen Sie sich Zeit, wenn Sie mit der Rate der Person sind und etwas wirklich schön aussehendes schaffen. Aber für jetzt denke ich, dass dieser Rauchzug, lesen Sie Puff von Rauch ist genug für mich für jetzt, um zu zeigen, wie das funktionieren wird. Ich werde das ändern, werde es einfach beim Partikelsystemnamen behalten oder es vielleicht dem Charakter nennen. Angreifende Partikel. Jetzt werden wir es vorstellen. Also gehen wir in die Prefabs. Lasst uns das ein bisschen größer machen. Die Tatsachen des Angriffs, und wir fügen sie hier hinzu und die Tatsachen des Angriffs werden wir das retten. Und ich werde Ihnen eine Herausforderung stellen, und das ist, die Partikel zu instanziieren. Sie müssen also einen Verweis auf das Partikelsystem erhalten. Verwenden Sie die richtige Variable, die Sie herausfinden können. Dann musst du ihn instanziieren, bevor du Schaden verursachst. Und ich gebe Ihnen ein paar Hinweise. Position und oder wenn Sie dies auf eigene Faust tun wollen, vergessen Sie es. Wie auch immer, Position und Transformation sollte die des aktiven Charakters auf dem aktuellen Begriff sein. Dieses Partikelsystem zeigt an, welcher Charakter angreift, also brauchen wir es Instanziierung jenseits dieses Charakters. Wenn Sie ein bisschen eine Auffrischung auf Instanziierung wollen, gehen Sie für es in der Einheit Hunde mit, dass gesagt, pausieren Sie das Video jetzt und gehen Sie die Herausforderung zu tun. Okay, willkommen zurück. Also werden wir hier nach oben scrollen. Wir werden ein serialisiertes Feld erstellen, das vom Typ Partikelsystem sein wird. Und es wird die Attacke oder die Charakterfakte sein. Wir werden nach unten scrollen und der Feind greift hier drin an. Übrigens, es gibt ein paar Dinge, die wir
tatsächlich umgestalten können und hier, so zum Beispiel, die Wahl des Umzugs und die Auswahl des Charakters sind sehr wichtig, um zu werden, oder wir können es als eine einzige Methode behalten. Möchten Sie, dass Ihr Spiel Ihre Zeit hat, um Ihren eigenen Code zu erstellen? Und hier drinnen werden wir voran gehen und instanziieren. Und instanziieren Sie den Angriff oder den Charakter Angriffseffekt. Wir werden es auf den Akt des Charakters Strom instanziieren, drehen Sie die Transformation, diese Position. Und der Akt der Charaktere aktuelle drehen die Transformationsrotation. Und wir müssen aus nichts ein Kind machen. Das ist einfach gut genug. Und wir werden hier sagen und die Tatsache instanziieren. Tacking Charakter. Speichern Sie das. Zurück in unserem Spiel werden
wir das löschen. Und bevor wir, okay, wir haben gelöscht und dann gehen wir zu dem Charakter hier
drin, der empfängliche Positionen hier drin auf 0 ist. Während der Battle Manager, die Tatsache, da wir gehen, wir retten das. Wir führen unser Spiel. Wir haben es größer erscheinen lassen. Wir beginnen den Kampf. Und gehen wir weiter und schlagen die Anki. Anki. Anki. Ja, da gehen wir. Aber wie Sie sehen können, hält Schleifen und Schleifen und Schleifen und Schleifen. Also, was ist das Problem hier drin? Also werde ich in den Charakter gehen und sehen, was das Problem ist. Nun, schleifen, speichern Sie das, führen Sie unser Spiel, drücken Sie die Taste B. Wie cool sieht das aus? Aus der 3D-Perspektive? Es ist schön. Und Angriffe. Und es verschwindet. Und Sie können sehen, wie der Feind Partikel angreift. Es wird Süd nach 1 Sekunde zerstört. Jetzt wissen wir, welcher Charakter angreift. Wieder. Es ist der Priester oder die Räude, und dann wieder die Kriegssperre. Wie Sie sehen können, weil wir die Jimmy dazu gebracht haben, aktuelle HP zu haben, macht
er es nicht sofort. Eigentlich wird er auch angegriffen. Und da gehen wir. Ich hoffe, Sie haben den Eintrag des Partikelsystems genossen. Wenn Sie eine nächste Strukturherausforderung wünschen, empfehle
ich Ihnen, alle diese in separate Methoden zu extrahieren. Es macht wirklich Spaß. Es gibt Ihnen ein Gefühl, wie alles funktioniert und gibt Ihnen einige organisatorische Unterbewusstsein. Ich weiß nicht, was es tut sowieso, ich hoffe, es gefällt euch und ich sehe euch im nächsten Video.
103. Schaden visualisieren: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video, wenn wir unser Spiel laufen, können
wir den Kampf beginnen. können wir. Da gehen wir. Wie Sie jetzt gesehen haben, wissen wir
nicht nur, welche Schicht angegriffen wird, wir wissen
nicht nur, welcher Feind angreift, sondern auch, wie viel Schaden dem Charakter zugefügt
wird, der angegriffen wird. Also zeige ich es dir nochmal. 109 Schaden wurde zugefügt, 73 Schadenspunkte wurde angerichtet. Und das können wir von der Konsole direkt hier bestätigen. Wir brauchen also kein Debug-Punktprotokoll mehr. Irgendwo hier drin. Wir werden es später löschen. Aber jetzt verschwenden wir keine Zeit mehr und fangen wir an. O k. Jetzt, wo wir visualisieren, welcher Feind angreift, besteht der nächste Schritt darin, die Menge des Schadens zu visualisieren, der zugefügt wird. Um das zu tun, werden
wir eine kleine Leinwand erstellen. Wir werden einen Text drauf haben. Und wir werden etwas bevorzugen. Und jedes Mal, wenn wir von einem Spieler oder einem Feind beschädigt werden, werden
wir diesen Text in
der Luft instanziiert mit etwas Jitter und Bewegung nach oben erstellen und ihn dann verschwinden lassen. Also lasst uns weitermachen und das tun. Das erste, was wir tun müssen, ist eine Leinwand zu erstellen. Also werde ich mit der rechten Maustaste auf UI-Canvas und wir werden es den erlittenen Schaden nennen. Wie sollen wir es klein machen? Wir gehen auf die Leinwand und wir gehen in Schuhe Weltraum. Und so können wir es so klein machen, wie wir wollen. Stellen Sie sicher, dass Sie hier den Schaden ändern, nicht den Schaden. Ich meine, die Leinwand des erlittenen Schadens. Lassen Sie mich das das beschädigte Denken Canvas nennen. Und wir werden es auf 0.010.01 skalieren. Lassen Sie uns hier doppelklicken, oder das ist, was, verschieben Sie es neben den Spielern nach unten. Doppelklicken Sie erneut darauf. Gehen Sie nach oben, drehen Sie. Da gehen wir. Das wird also unsere Leinwand sein. Wir können es sogar kleiner machen. Aber jetzt gehen wir weiter und fügen Sie einen Text hinzu. Was ich nicht werde den Text Mesh Pro hinzufügen, weil diese Zahlen sein werden. Also ein normaler Text, den ich glaube, war von Phi. Und wir werden hier 99 schreiben. Wir werden wissen, was, Lassen Sie uns den Text viel Sonde hinzufügen. Warum sollten wir nicht aufgeben, uns
nicht die Chance geben, den Text Mesh Pro zu verwenden? Wir werden es auf die mittelalterliche Party setzen, wenn es uns erlaubt. Und wir werden an allen Ecken verankern. Halten Sie also Alt gedrückt, klicken Sie auf diesen, und da gehen wir. Jetzt ist es an allen Seiten verankert. Was bedeutet der Schaden SMS Jahr. Ich kann es nicht sehen. Soll ich es größer oder kleiner machen? Es zeigt sich nicht fett. Vielleicht auch, weil lassen Sie mich sehen, was los ist. Verschieben Sie es hier rein ist das Problem. Okay, also gehen wir. Also dahinter sehen wir es nicht. Warum ist das so? Weil wir sicherstellen müssen, dass wir auf der richtigen Sortierschicht sind. So Sortierung Schicht Kampffiguren. Eins, okay, großartig. So wurde Schaden erlitten. Da geht es. Also über die Spieler, sollte
es über den Spielern erscheinen. Wir werden es etwas kleiner machen. Also werde ich den Canvas wählen, zu den ROC-Tools
gehen und es groß machen. Und dann werden wir die Schrift auch etwas kleiner machen. Also denke ich, das ist genug. Wir werden es auch so skalieren, dass es fast die genaue Größe hat, die wir haben mussten. Wir werden es in Rot ändern. Und ich glaube, das war's. Das ist alles, was wir tun müssen. Es ist ziemlich einfach. Wir werden nicht zu viel davon machen. Und dann werden wir es ziehen und bevorzugen Bit. Und jetzt haben wir diesen Schadensbetrag, so wird er oben auf dem Spieler erscheinen und dann verschwinden. Wir werden dies löschen und wir werden ein neues Skript erstellen, um alle Jittering und das Verschwinden und das Verschieben und so weiter zu
steuern. Also in den Skripten, im Kampfsystem,
mit der rechten Maustaste erstellen Sie ein neues C-scharfes Skript, das die Charaktergesundheit oder
der Charakterschaden sein wird . GUI, GUI, grafische Benutzeroberfläche. Auch wenn es nicht so ist. Schnittstelle, aber es wird den Job erledigen. Und wir werden haben, wir hätten zu den Prefabs hinzufügen sollen, keine Sorgen darüber. Während die Prefabs Angriff, Schaden, unter Leinwand, fügen Sie eine Komponente, die wird der Charakter GUI sein, Charakter schädlich GUI, speichern Sie, dass. Schließen Sie all dies, doppelklicken Sie, öffnen Sie die Skripte. Okay, was brauchen wir hier drin? Zuallererst benötigen wir einen Verweis auf den Text, also müssen wir den TMP Pro verwenden. Und hier werden wir ein serialisiertes Feld erstellen, das
das Text-Netz pero Gui sein wird , die Schadenssteuer. Dann werden wir einen Float erstellen, der die Lebensdauer repräsentieren wird. Und wir setzen es auf 1,5. Wir werden einen weiteren Schwimmer für die Bewegungsgeschwindigkeit erstellen. Also Geschwindigkeit bewegen. Und schließlich werden wir Texte Vibration schaffen. Also Text Vibration. Und Sie werden sehen, wie wir das in nur ein wenig anwenden werden und wir setzen es auf 0,5. sind Werte, die ich bereits ausprobiert habe und an die ich gedacht habe, und wir werden die Bewegungsgeschwindigkeit auch auf eins setzen. Speichern Sie das. Ok, großartig. Jetzt ein Update, wir werden das Spiel Objekt nach einer bestimmten Lebensdauer zerstören. Also zerstören Spielobjekt, nachdem das Leben beendet ist. Und auch wir werden auf die Position zugreifen und sie während der gesamten Bewegungsgeschwindigkeit ändern. So transformieren die Position ist gleich einem neuen Vektor 3. Und es tut mir leid, ich meinte nicht gleich. Es sollte plus gleich sein. Warum ist das so? Nun, denn lassen Sie mich erklären. Wir werden es instanziieren. Dann. Wir wollen es langsam nach oben bewegen. So fügen wir langsam Bewegung mit der Bewegungsgeschwindigkeit und nur auf der zed-Achse hinzu. Also hier werden wir die X-Bewegung auf 0 setzen. Und die y-Bewegung wird die Bewegung Geschwindigkeit Punkt time.Deltatime oder mal time.Deltatime sein. Was ist time.Deltatime? Nun, es ist etwas, das nur, und wenn Sie es bemerkt haben, tut mir leid, dass ich mich unterbreche. Diese bei 0. Deshalb mussten wir keine Z-Komponente hinzufügen. Wie auch immer, die Bewegungsgeschwindigkeit mal time.Deltatime. Wir sind, wann immer wir es mit einem Objekt zu tun haben, ein Update zu bewegen, oder wenn wir mit etwas zu tun haben, das im Laufe der Zeit zunimmt, müssen
wir sicherstellen, dass es mit Time.Deltatime multipliziert wird. Und was uns das erlaubt, trennt
es die Frames pro Sekunde auf unserem Spiel von der Bewegungsgeschwindigkeit. Warum ist das wichtig? Da ein Update, das wir jeden einzelnen
Frame aufrufen , wenn es darum geht, Methoden aufzurufen und Dinge zu tun, ist
es in Ordnung, wenn es darum geht, Eingaben zu übernehmen, es ist kein Problem. Aber wenn es um Bewegung geht, wenn wir einen sehr starken Computer und schnelle Bilder pro Sekunde haben, dann wird die Bewegungsgeschwindigkeit sehr, sehr schnell sein. Und das wollen wir nicht. Also, was wir tun, und das Gegenteil ist wahr. Wenn wir eine langsame PCI haben, ist
die Bildrate sehr niedrig und die Bewegungsgeschwindigkeit ist sehr langsam. Also, was wir tun, ist, dass wir es mit Time.Deltatime multiplizieren. Und dies löst die Bildrate von der Menge oder von V mal diese Updates und time.Deltatime ist tatsächlich die Zeit zwischen jedem Frame und Sie können
es sehen und hören Sie die Fertigstellungszeit in Sekunden seit dem letzten Frame. So ermöglicht es uns, reibungslose Bewegung zu haben, trotz wie viele Rahmen, die wir eine Stunde haben. Auch hier ist dies eine sehr wichtige Komponente, besonders wenn es um 3D-Gaming geht. Und schließlich werden wir eine öffentliche Lücke schaffen, Schaden setzen. Und es wird einen Parameter hier drin nehmen, der die Schadensmenge oder
der Schaden, der angezeigt werden soll , oder was auch immer. Also werden wir auf den Schadenstext zugreifen. Beschädigungstext. Der Text ist gleich dem Schadensbetrag Punkt toString, da dies eine ganze Zahl ist, also müssen wir es konvertieren. Dann werden wir einen Jitter-Betrag erstellen. Und es wird eine zufällige Reichweite sein. Und es geht zwischen der minus besteuerten Vibration und plus Textschwingung, die das Minimum und das Maximum sind. So wird es zwischen minus 0,50,5 von links nach rechts nur ein wenig bewegen, nur um ein bisschen Spaß zu machen. Und schließlich wird die Position transform.py plus gleich dem neuen Vektor 3. Und es wird sein. Ein Betrag. Und das ist der Wert auf dem x und dann der allgemeine Betrag auf dem y. und wir werden es bei 0 belassen, oder wir können es sogar entfernen und den einen so verwenden, wie wir es hier oben gemacht haben. also die 0 auf der Set-Komponente hinzufügen, werden
wir das speichern. Und wenn Sie noch etwas verwirrt sind, greifen
wir auf den Text zu. Wir setzen es als den Schadensbetrag, auf den wir zugreifen, oder wir legen einen allgemeinen Betrag fest, der
zwischen der Textschwingung minus und positiv sein wird . Und schließlich fügen wir diesen Betrag zur Position unseres Textes hinzu, wenn er instanziiert wird. Nun ist das letzte, was zu tun ist, tatsächlich einen Verweis darauf
im Kampfmanager zu bekommen und ihn zu verwenden, wenn Schaden verursacht
wird und es wird deine Herausforderung sein. Ihre Herausforderung ist es, den Schaden zu zeigen. So erhalten Sie einen Verweis auf die Charaktergesundheit GUI, die instanziiert wird jedes Mal, wenn ein Charakter Schaden erleidet oder Charakterschaden hier eintritt. Instanziiert jedes Mal, wenn ein Charakter Schaden erleidet und herauszufinden, was die Positionen und Rotationen sein sollten. Ich bin mir ziemlich sicher, dass du schon weißt, wie das geht. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also in unserem Kampfmanager hier oben, werden
wir eine Referenz bekommen,
ein serialisiertes Feld vom Typ, Charakterschaden, GUI, Schaden, Texte werden es einfach nennen. Und wenn wir dann nach unten scrollen, wenn wir den Schaden erleiden, damit der Schaden zugefügt wird, können
wir ihn entweder beim feindlichen Angriff anrufen oder wir können ihn hier reinrufen. Nennen wir es einfach und den feindlichen Angriff. Also, nachdem wir dem Spieler den Schaden zugefügt
haben, gehen wir in den Charakter auf den Charakterschaden GUI gehen. Es wird ein Zeichen sein, der Charakterschadentext genannt wird. Und es wird gleich der Instanziierung sein. Und warum setzen wir es in eine Variable? Denn nur ein bisschen werden wir die SAT Schadensmethode verwenden. Deshalb brauchen wir eine Variable oder wir können sie einfach auf dem instanziierten verwenden, aber das ist sauberer. Also der Beschädigungstext, dass wir eine Referenz da oben haben. Und wo setzen wir es ein? Nun, es ist auf die aktiven Charaktere, aber nicht auf den aktuellen Begriff, sondern auf den ausgewählten, um angegriffen zu werden. So ausgewählter Spieler, um Punkt transformieren anzugreifen. Weißt du, was ich für einen besseren Ort halte, um das hinzuzufügen? Weil wir es auch benutzen werden, wenn der Spieler angreift. Wir wollen also nicht, dass es nur Schaden verursacht, wenn der Feind angreift. Wir wollten das auch tun, wenn Schäden. Statt des ausgewählten Spielers werden
wir den ausgewählten Charakter verwenden, um auf die Position des Transformationsfelds anzugreifen. Und schließlich, aktiver Charakter,
ich, dupliziere das, diese, Rotation. Speichern Sie das. Also nochmal, warum habe ich das von dem feindlichen Angriff zu dem Schaden an Charakter gebracht? Weil der Schaden an Charakter verursacht wird auch vom Spieler aufgerufen werden. Und wir wollen den Feinden denselben Schaden anrichten wie wir, wie Sie jetzt den Spielern sehen werden. Es ist also besser, es in einer Methode zu verwenden, die mehr ist, nennen
wir es universell und für beide Parteien verfügbar. Jetzt instanziieren wir den Text, wenn wir dem ausgewählten Charakter Schaden zufügen, den wir angreifen. Also werden wir das retten. Lasst uns wieder in eine Einheit gehen und das ausführen und sehen, was passiert. Also führen Sie unser Spiel und wir erhalten einen Fehler. Und die Einheit schaltet sich aus. Oh, okay, willkommen zurück. Ich wollte dir zeigen, was passiert, wenn, falls du diese Art von Layout bekommst, einfach zum Layout zwei-mal drei gehen und wir zurück sind, Baby. Und bevor ich es vergesse, war
das ein Problem. Deshalb ist es mir vor ein paar Videos passiert. Also wieder, wir müssen sicherstellen, dass wir es auf 1920 setzen. Beschlossen hier wird sich ändern. Leider gibt es nichts, was Sie gegen die Zerquetschung der Einheit tun können. Deshalb sparen Sie immer und erstellen immer Verpflichtungen und Repositories. Lasst uns jetzt in unseren Kampfmanager gehen. Wir haben den beschädigten Text. Wir gehen in die Prefabs und in die Schlachten. Und wir bevorzugen nicht Bit 0. Wir haben deshalb Prefab bei unserer Angst, aber so werden wir den hier hinzugefügten Schadenstext nehmen. Da gehen wir, der Schaden, der Canvas einnimmt, retten
wir das und lassen Sie uns das ausprobieren. Also führen wir unser Spiel und sie beginnen jetzt den Kampf. Wir bewegen uns durch die Spieler. Oh, da gehen wir. So funktioniert es wenigstens. Wir haben die Texte richtig funktionieren, alles funktioniert. Das letzte, was wir vergessen haben zu tun, weil ich abgelenkt wurde, indem ich erklärt habe, was wir tun. So der Charakter des Schadens Text, der den Schaden sagte. Set. Schaden? Ja, bitte. Und was schicken wir hier rein? Die Höhe des Schadens. Also der Schaden zu geben, speichern Sie das zurück in unserem Spiel, wir müssen einen Verweis auf den Text hier setzen. Also, wie werden wir das tun? Lassen Sie uns doppelklicken und öffnen Sie das Prefab. Und wir ziehen den Text hier in den Text. Das retten wir. Und wie wir das Prefab geöffnet haben, doppelklicken wir einfach darauf. Es ist kein Großes. Geh zurück. Jetzt haben wir den beschädigten Satz, Text, Schaden saß das Spiel laufen, stoppt den Kampf. Ja, ja. Da gehen wir. 2159. Und ist das richtig? Lassen Sie mich die Konsole öffnen, damit wir hier sehen können, dass der erste Angriff 21 war. Ja, es war richtig. Und der zweite war 59. Versuchen wir es noch einmal. 63, da gehen wir. 220 oder 212. Ausgezeichnet. Versuchen wir es noch einmal. Dominanz DLT. Okay, toll, also funktioniert alles einwandfrei. Es könnte ein bisschen Tuning geben, wie ich gesagt habe, wenn Sie dem Text ein bisschen mehr Geschmack hinzufügen möchten, fügen Sie eine eigene Schriftart, ich denke, ist eine großartige Idee. Sie können eine Menge Dinge tun. Sie können den Jitter ändern. Vielleicht möchten Sie es auf eine leicht abwechslungsreiche Position anwenden, nicht sofort auf dem Spieler. Also hoffe ich, Sie genießen es. Ich hoffe, du begehst deine Änderungen. Und ich werde dich im nächsten Video sehen.
104. Battle: Willkommen zurück, meine Spiele-Entwickler. In diesem Video führen wir den Code aus, wir beginnen einen Kampf, wir gehen bis zum Ende, aber Sie werden hier feststellen, dass wir
den düsteren Draco und Jimmy haben und sich ihr Leben tatsächlich verschlechtern, wenn sie Schaden erleiden. So können Sie sehen, wie ihr Leben langsam verschwindet, aber sicher. Da gehst du. Der Graham stirbt, Draco stirbt. Nur Jimmy überlebt. Aber wenn Jimmy stirbt, was passiert dann? Und wenn Jimi stirbt, haben
wir verloren, oh mein Gott. Vergeuden wir keine Zeit mehr. Und lasst uns anfangen. Oh, okay. Jetzt wissen wir, wer den Schaden verursacht. Wir wissen, wie viel Schaden er verursacht. Es gibt immer noch ein kleines Problem, ein kleines, bittliches Problem. Wenn wir unser Spiel laufen, drücken
wir die B-Taste und alles scheint korrekt zu funktionieren. Aber das Problem ist, dass wir Spielernamen eins haben, Spielername eins. Wer ist Spielername eins? Und warum wird die Gesundheit nicht verändert? Und warum haben wir so viel Art und Weise? Es ist also an der Zeit, unsere Gefechtsstatistiken zu aktualisieren. Lasst uns in unseren Kampfmanager gehen und genau das tun. Ich werde den Deal für sie als feindlichen Angriff schließen. Ich bin mir ziemlich sicher, dass wir mit all den fertig sind. Wenn wir es brauchen, kommen wir zu ihnen zurück. Aber zuerst brauchen wir einen Verweis auf die Texte. Also hier werden wir voran gehen und ein serialisiertes Feld erstellen, das vom Typ Text Mesh pero Gui sein wird. Was, was, was haben wir? Oh, okay, also mit dem MPI-Pero
habe ich mich gefragt, was das Problem ist. Also Text-Mesh pro Zeile, Sie GUI. Und wir werden eine haben, und hier brauchen wir einen Schieberegler, aber wir müssen die Benutzeroberfläche einstellen. Also speichere ich das auf. Und lassen Sie mich das einfach anpassen. Es waren 133, glaube ich. Ok. Also ein Schieberegler 14, der Schieberegler für
die Ebenengesundheit und der Spieler-Mana-Schieberegler. Speichern Sie das. Ok, großartig. Wir stellen alles in den Inspektor, bevor wir es vergessen. Also Kampfmanager, Kampfszene. Es gibt oh nein, es war die Schlacht Canvas, die Spielerstatistiken. Und lassen Sie mich die Kampfszene einschalten, damit wir die Spielerstatistiken deutlich sehen können. Ok, da gehen wir. Also werde ich die öffnen. Ich gehe zum Kampfmanager. Ich werde es sperren und die Player-Texte werden ausgewählt und an die Orte gezogen. Die Gesundheits-Schieberegler werden an die richtigen Stellen gezogen. Und das Mana wird auch dasselbe tun. Speichern Sie das. Da gehen wir. Also ist alles eingerichtet, wird all diese schließen und wir werden die Kampfszene ausschalten. Geh zurück und Einheit, wir kümmern uns darum, all das zu retten. Hoppla. Oh, nein, nein, nein, nicht jetzt. Zumindest jetzt wissen Sie, dass Sie eine Herausforderung haben, aber vorher werden wir unsere Update-Spieler-Statistiken erstellen. Und wenn Sie möchten, können Sie das Video pausieren und es selbst aktualisieren. Aber wir werden in erster Linie, erstellen Sie ein gleich 0, während ich weniger als die Luft ist. Die Spieler Namen Text Punktlänge und dann I plus, plus. Also bewegen wir uns durch alle Spieler namens besteuert. Wir überprüfen, ob die Punktzahl der aktiven Zeichen größer als eins ist, entschuldigen Sie mich, Punkt I. Und warum tun wir das? Weil wir sicherstellen müssen, dass es
mehr Zeichen gibt als die Player-Texte, die verfügbar sind. Wenn dies nicht der Fall ist, bedeutet das, dass wir nicht fortfahren können, können
wir den Text nicht aktualisieren. Sie werden sehen, dass dies nicht sehr, sehr wichtig ist, aber es ist wichtig, um ein paar Fehler zu vermeiden. Also überprüfen wir nur, dass wir mehr Zeichen haben, dann haben wir Player-Textnamen. Dann werden wir überprüfen, ob der aktive Charakter ein Spieler ist. Natürlich müssen wir natürlich die Spieler aktualisieren. Und dann beginnt hier drin das lustige Zeug. Also werden wir eine Kampfcharaktervariable erstellen, die die Spielerdaten sein wird. Und es wird gleich dem aktiven Charakter sein. Also haben wir einen Hinweis auf ihn, weil ich sicher bin, dass wir es sehr benutzen werden. Dann werden wir auf den Namen Text zugreifen. Also Spieler Namen Text an der Position I, der Text. Und es wird gleich den Spielerdaten sein, dem Charakternamen. Dann werden wir die Schieberegler verwenden. Also Spieler Gesundheit Schieberegler an der Position i. Wir werden den maximalen Wert setzen, wie wir immer tun, um die Spielerdaten Punkt max, HP, und den aktuellen Wert. Und der Wert, ich meine, und hier der aktuelle Wert des HB. Lassen Sie uns diese beiden Zeilen duplizieren. Und wir werden den Schieberegler benutzen. Und der Schieberegler. Der Maximalwert ist das Maximum und der Wert ist die aktuelle Art und Weise. Also werden wir all das retten. Und jetzt werden wir auf die Herausforderung gehen, etwas, das überrascht. Alles, was Sie tun müssen, ist sicherzustellen, dass wir
keine Informationen zeigen , es sei denn, wir haben einen aktiven Spieler. Sie müssen also eine else - Anweisungen To else - Anweisungen erstellen, um sicherzustellen, dass wir keine leeren Stellen sehen, wenn wir keinen Spieler dort aktiv haben. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, also gibt es zwei Orte, an denen wir
sicherstellen müssen , dass wir das Spielobjekt der Steuer ausschalten. Also ist der erste hier drin. Wir haben den aktiven Charakter ist Spieler. Wenn es sich nicht um einen Spieler als Spielername, Text, Punkt, Punkt, Spielobjekt handelt, das saß aktiv ist falsch. Und auch wenn wir mehr aktive Charaktere oder Amin haben, wenn wir weniger Akt von Charakteren haben als die Höhe der Steuer, die wir haben, dann sonst. Wir werden das Gleiche hier drinnen machen. Speichern, kopieren Sie das, fügen Sie es hier ein, speichern Sie es. Und jetzt ist das letzte, was wir tun müssen, zu sehen, wo wir die Update-Player-Statistiken nennen. Zwar gibt es ein paar Plätze zuerst, wenn wir Schaden verursachen. So können wir das im Feind tun. Hier werden wir die Spielerstatistiken aktualisieren. Wo sollen wir es sonst tun? Wir können es tun, wenn wir zur nächsten Kurve gehen. So aktualisieren Kampf, Update, Spielerstatistiken. Und das tun wir auch, wenn wir den Kampf beginnen. Wenn wir also den Kampf beginnen, aktualisieren
wir auch die Spielerstatistiken. Und ich denke, das ist alles, was wir tun müssen. Also werden wir all das retten. Wir werden in die Einheit gehen. Wir werden warten, bis das Skript zusammengesetzt ist. Wir werden das Spiel leiten. Wir werden den Kampf beginnen. Und aus irgendeinem Grund bin
ich nicht in der Lage, die Schlacht zu beginnen. Das ist, weil aus irgendeinem Grund, Lasst uns das noch einmal versuchen. Oh, okay. Also, was der Kampfmanager wurde ausgeschaltet? Es sollte die Kampfszene sein, die ausgeschaltet ist. Oh, und wir haben es gesperrt. Also gehen wir hin. Nein. Ich meine, da gehen wir. Okay, jetzt führen wir das Spiel. Das war so komisch. Also beginnen wir die Schlacht und, und, und so haben wir den grimmigen Draco. Oh mein Gott, wie cool ist das? Ernsthaft? Wie cool ist das? Versuchen wir es noch einmal. Ich bin überrascht, dass es vom ersten Schritt an funktioniert hat. Also Jimmy, Jimmy, Jimmy, der düstere. Schön. Mal sehen, was passiert. Draco Würfel runter. Mal sehen. Jimi stirbt die düsteren Würfel und wir verlieren, weil alle unsere Charaktere eine aktuelle HP von 0 haben. Aber das nächste, was wir tun müssen, ist die toten Schichten zu
behandeln, wenn wir die Schlacht aktualisieren, wenn Sie sich erinnern, wir haben Charakter in getötet. Also sehe ich dich im nächsten Video und stelle sicher, dass du deine Änderungen festmachst. Und wenn Sie den Kurs genießen und mich als Lehrer mögen, würde
ich gerne Ihre Meinung kennen. Also lassen Sie mir eine Rezension wann immer Sie können, wann immer Sie wollen, wann immer Sie wollen. Und wir sehen uns im nächsten. Hey Mike Anführer aus der Zukunft. Ich weiß, dass du mich loswerden wolltest, aber hier bin ich wieder zurück. Es gibt ein kleines Problem. Wenn wir das Spiel laufen, können
Sie sehen, dass wir das Gramm ausgeschaltet haben, aber wir können nicht nur seinen Namen sehen. Das ist also ein kleines Problem und hier schalten wir nur den Player-Textnamen aus. Das ist nicht das, was wir wollen. Also, was wir tun werden, ist, dass wir einen Hinweis auf die Spieler bekommen. Und hier statt nur den Namen zu bekommen, werden
wir auch die Spielobjekte referenzieren. Und es wird ein Spielobjekt sein. Und wir nennen es die Spielerstatistiken oder die Spieler Battle Statistiken. Wir werden das retten. Es wird ein Array sein. Und wir benutzen hier die Spieler-Kampfstatistiken. Also Spielerstatistiken, Position I und Spielerschlachten, das ist Position I. während der Spieler das kämpft. War das so schwer. Also werden wir das retten. Wir gehen hier wieder rein und müssen sie referenzieren. Claire Kampfstatistiken wählen, wird dies sperren. Wählen Sie den Spieler eins bis drei, setzen Sie sie hier auf die speichern, die das Gramm oder Draco ausschalten, wir führen das Spiel jetzt wir sollten nicht sehen, es erscheint. Also gehen wir hin. Wir sehen die Grimms-gesamte Struktur nicht, was viel besser ist. Tut mir leid für die Unterbrechung. Vielleicht wolltest du dich ausruhen. Du hast endlich gesagt, Michael, es ist Solver Woche. Ich muss nicht mehr auf ihn hören, aber er kommt zurück. Also sehe ich dich im nächsten Video, wo wir unsere Charaktere töten werden. Sehr lustig.
105. Tode Battlers: Willkommen zurück, meine Spiele-Entwickler. In diesem Video werden wir die Spieler überspringen, die das sind. Momentan brauchen wir also drei Begriffe für die Spieler. Aber wenn einer von ihnen stirbt, wirst du sehen. Jetzt stirbt Draco. Und Sie können jetzt sehen, bestimmen Sie eine 0, wenn wir die Anki einmal hatten, es geht sofort auf zwei, so dass es über Dracos Reihe überspringt. Es geht sofort an die Feinde. nur zwei Begriffe genommen. Also jetzt, wenn wir die Anki hatten, griffen
wir mit Jimmy sofort an die Reihe der Feinde. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay. Derzeit scheint alles gut zu funktionieren, aber es gibt ein kleines Problem. Ich bin mir nicht sicher, ob es dir aufgefallen ist. Wenn die Schlacht neu starten, sagen
wir, wir haben Jimmy und Draco. Wir hatten die Anki und Schlüssel. Da gehen wir. Jimmy. Jericho nochmal, versuchen wir es. Also Jimmy Draco. Draco ist gerade gestorben. Okay. Dre könnte einfach sterben. Das heißt, er muss keine Wendung bekommen. Also, jetzt sollten wir, in der Theorie, wenn wir die Eingabetaste drücken, nur Jimmy spielen und dann gehen wir zu den Feinden. Also haben wir das Ende getroffen. Wir hatten die n wieder. Also offensichtlich können Sie sehen, dass wir
eine Wendung genommen haben , und wenn es nicht offensichtlich war, schalten Sie das Gramm ein. Also das Problem hier drin, dass, obwohl einige
unserer Charaktere tot sind oder unsere Spieler sind, dass sie immer noch abwechselnd sind. Also in Battle Manager wieder
123, also drei von ihnen greifen an. Hoffentlich stirbt einer von ihnen 3123. Wir wollen, dass einer von ihnen stirbt. 2, 3. Das wird ewig dauern. Okay, jetzt ist Draco 1, 2, 3 gestorben. Auch hier werden wir die Bedingungen durchlaufen. Und da gehen wir. So können Sie sehen, dass der Zug immer noch für Draco Jimmy und jeden Spieler spielt, der Würfel. Das ist also ein Problem, das wir nicht haben wollen. Also, was wir tun werden, ist jedes Mal, wenn wir überprüfen, ob alle Feinde oder Spieler Schulden sind, wenn sie nicht sind. Also, das bedeutet, dass wir entweder nicht verlieren das Spiel oder wenn das Spiel. Wir möchten den Charakter Stearns überspringen, der eine aktuelle HP von 0 hat. Und wir werden das mit einer while-Schleife tun. Also, was ist eine while-Schleife? Es ist ähnlich wie bei for-Schleifen, bei denen es mehrmals einen Codeblock ausführt. Aber anstatt die Anzahl der Male vor der Hand
zu bestimmen, anstatt ILS als zu setzen, sagen
wir die Länge eines Arrays, warten
wir, bis eine bestimmte Bedingung erfüllt ist. Also die Struktur davon, wir haben eine while-Schleife. Wir haben eine bestimmte Bedingung, die wahr ist. Wenn es so ist, geben wir in den Code und diese Klammer ein. Und wir machen das immer wieder und wieder und wieder, bis
wir endlich diese Bedingung falsch haben. Und wenn es falsch wird, hören
wir auf, durch die Schleife zu gehen und diese beiden Punkte hier sollten nicht vorhanden sein. Lassen Sie mich sie einfach entfernen. Willkommen im Back-End. Da gehen wir. Stellen Sie also sicher, dass Sie verstehen, wie während Schleifen funktionieren, wenn Sie möchten, gehen Sie sie an verschiedenen Orten, suchen Sie nach ihnen, stellen Sie sicher, dass Sie wissen, was zu tun ist, denn in nur ein wenig, Sie haben eine Herausforderung, die Zeichen zu überspringen. Also ein aktualisierender Kampf. Wenn jetzt alle Feinde sind, sind
alle Spieler tot. Nachdem wir überprüfen, ob keiner von ihnen. Das meine ich. Sie müssen also eine else-Anweisung hinzufügen, müssen eine while-Schleife erstellen, die Schleifen hält. Während der aktive Charakter HP 0 ist, wird durch eins
erhöht, wenn es ist. Und wenn der Turn größer ist als die Anzahl der aktiven Zeichen muss es zurück auf 0 zurückgesetzt werden. Es ist eine schwierige Herausforderung,
vor allem, weil Sie eine neue Waffe verwenden, die wir gerade verstanden haben, nämlich die while-Schleife. Keine Sorge. Tu dein Bestes. Pausieren Sie das Video jetzt, verstehen Sie die Herausforderung. Verstehen Sie, während Schleifen, und gehen Sie. Tun Sie es. Okay, willkommen zurück. Also werden wir nach oben ziehen. Wo ist unser Update Kampf? Da gehen wir. Wenn also alle Feinde und alle Spieler tot sind, werden
wir entweder gewinnen oder wir werden verlieren. Aber wenn keiner von ihnen ist, dann werden wir eine else-Anweisung erstellen wird eine while-Schleife erstellen, und dies wird weiterhin Schleifen, während der Akt der Zeichen auf der aktuellen Runde. Punktstrom, HP ist gleich 0. Also auf dem aktuellen Begriff, während wir einen Charakter haben, der eine aktuelle HP von 0 hat, wollen
wir die aktuelle Kurve sofort erhöhen. Und wir werden überprüfen, ob der aktuelle Begriff
größer oder gleich der aktiven Zeichen Punktanzahl ist , dann werden wir die aktuelle Umdrehung auf 0 setzen. Und das war's. Also, was passiert hier drin? Während wir die gekämpften aktualisieren, überprüfen
wir, ob wir jetzt nicht mit dem Töten von Charakteren zu tun haben. Das machen wir später, keine Sorge. Wenn also alle Feinde oder alle Spieler darin sind, bedeutet das, dass wir vielleicht einen von ihnen haben, der eine aktuelle HP 0 hat, aber immer noch abwechselnd. Also, was machen wir? Wir erstellen eine while-Schleife , die alle Zeichen des aktuellen Begriffs überprüft. Wenn sie die aktuelle HP von 0 haben, wird die aktuelle Laufzeit um eins erhöht. Wenn der aktuelle Term größer als der Akt der
Zeichenanzahl ist , ist der aktuelle Term zurück auf 0. Dann schauen wir zurück, wir gehen zum nächsten Charakter, weil wir den Zug
erhöht haben und dies, während die Bedingung nicht erfüllt wurde. Also überprüfen wir, ob das nächste Zeichen auch eine aktuelle HP von 0 hat, dann bewegen wir uns erneut, geben die Bedingung ein, geben die while-Schleife ein. Wir nehmen entschlossen zu, wir setzen eins fort, dann gehen wir zurück in diese while-Schleife. Also endlich kommen wir zu einem der Charaktere, der keine aktuelle HP 0 hat und wir stoppen den Kampf oder er macht seinen Zug oder was auch immer. Also werden wir das retten. Sie werden dies in Aktion sehen könnte es besser verstehen, wenn Sie immer noch verwirrt sind. Speichern Sie das, führen Sie das Spiel. Hoffentlich stirbt einer der Spieler sofort. Also und da gehen wir. Wie cool ist das? Draco ist gerade gestorben. Also jetzt, wenn wir die End Taste einmal drücken, gut da gehen wir. So springt der aktuelle Begriff sofort auf zwei. Also, jetzt haben wir es zweimal getroffen. Großartig. Also, jetzt hat Draco keine Wendung. Also wieder, wir hatten die Anki, sobald wir sofort zum zweiten, dritten, starb Jimmy. Also, jetzt sollten wir technisch gesehen nur einmal die Anki schlagen. Mädchen Rate. Also funktioniert alles richtig. Spieler, die sind, die nicht abwechselnd sind. Und jetzt werde ich meine Änderungen,
Spieler und Charaktere zu begehen , weil dies in beide Richtungen funktionieren wird, nicht
mehr abwechselnd, wenn sie Änderungen vorgenommen werden. Gehen Sie zum Meister und sehen Sie, wie viel wir durchgemacht haben. Wir haben so viel durchgemacht und es gibt noch ein bisschen mehr zu gehen. Also sehe ich dich im nächsten Video.
106. Teil 16: Player: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. Denken Sie daran, als unsere Feinde uns angriffen, während wir keine Möglichkeit hatten, uns zu verteidigen. Aber jetzt ändert sich das alles, denn wenn wir den Kampf beginnen, überspringen
wir nicht einfach unsere Reihe. Wir können tatsächlich angreifen. Also greifen wir das Skelett an, wir greifen mit Draco an und wir greifen Jimmy an. Jetzt bekommen wir unsere Ärsche getreten. Ich bin mir nicht sicher, ob ich das hätte. Das hätte ich sagen können. immer, Sie können sehen, wer er angreift langsam, aber sicher. Aber das sind wir. Also verschwenden wir keine Zeit mehr. Und lasst uns anfangen. Oh, okay, jetzt, da wir unseren Feind angreifen, haben wir die Gefechtsstatistiken, die sich selbst aktualisieren. Wir wissen, welchen Spieler, welcher Feind angreift, welchen Spieler er angreift. Wenn der Spieler stirbt, kann er abwechselnd abwechseln, damit alles zusammenkommt. Aber jetzt ist der nächste Schritt Boom, lassen Sie den Spieler anfangen anzugreifen. Wie sollen wir das machen? Nun, wir werden eine andere Methode erstellen, die es dem Spieler ermöglicht anzugreifen. Also lasst uns das Skript öffnen. Und im Kampfmanager, wie Sie sehen können, haben wir eine Menge. Jetzt ist es Zeit für den Spieler Angriff. Und ich werde eine Kommentar-Layer-Stapelmethoden hinzufügen. Und lasst uns anfangen. Also zuerst werde ich einen öffentlichen Angriff für ungültige Spieler erstellen. Und wir geben ihm zwei Variablen. Der erste wird ein String move name sein. Es ist also die Bewegung, die wir durchführen werden, und eine ganze Zahl, die die ausgewählte ist, ein Emmy. Also hier drin ist es vor allem,
es ist ziemlich ähnlich wie der feindliche Angriff. Es ist fast das Gleiche. Also das erste, was wir beim feindlichen Angriff brauchen, bekommen
wir den Spieler. Also keine Notwendigkeit dafür. Wir gehen voran und zuerst, holen die Bewegtkraft und wählen dann einen bestimmten Zug aus. Also in hier werden wir eine int mov Macht gleich 0 zu schaffen, und wir werden fortfahren. Aber der Unterschied, oder das gleiche hier
drin ist, dass wir im Grunde den gleichen Code verwenden. Was wir tun, ist, dass wir die meiste Kraft schaffen. Wir haben bereits den ausgewählten Feind, den wir angreifen wollen. Dann unten unten hier, suchen
wir durch die Schlacht am meisten nutzlos. Wir prüfen, ob sich die Kämpfe bewegen. Liste, dot move ist gleich dem Filmnamen , den wir es durch den Player Angriff senden und so weiter und so weiter. Also lassen Sie mich es Ihnen zeigen, weil ich das Gefühl habe, dass ich es total verpfuscht habe. Also Ende I gleich 0. Während ich weniger als die Gefechtsbewegungen ist, listen Sie die Länge auf. Und ich plus Plus. Also schleifen wir uns durch die Kampfbewegungen. Dann prüfen wir, ob sich die Gefechtsliste an Position I bewegt, dieser Name ist gleich dem Move-Namen, der direkt hier gesendet wird. Also öffnen wir uns und dann werden wir den Effekt instanziieren
, der so ziemlich der gleiche ist wie dieser. Und hier können wir das kopieren. Wir können sogar die Umzugsleistung
kopieren, diese kopieren, sie hier einfügen. Und es ist auf dem ausgewählten gegnerischen Ziel und dem ausgewählten gegnerischen Ziel. Nun, was wir hier tun können, ist, dass wir tatsächlich eine Methode mit diesem erstellen können. Und es ist sehr nützlich, weil wir es hier und hier verwenden können, was meiner Meinung nach ziemlich vernünftig ist. Also lassen Sie uns voran und wählen Sie diese mit der rechten Maustaste schnelle Aktion und Refactoring. Wir werden die Methode extrahieren. Und es nimmt in das Auge und das ausgewählte feindliche Ziel. Also werden wir das immer mehr Macht und instanziierende Wirkung nennen. Ich bin mir nicht sicher, ob wir das alles tun sollten. Und Fakteninstanziierung. Oh meine Güte, gnädig. Koffer. Also immer bewegte Kraft und Effekt-Instanziierung. Wie gefällt dir das? Also werden wir diese Methode hier verwenden. Also verwenden wir einfach die Effekt-Instanziierung. Und was sind die Variablen, die es nimmt. Es nimmt also das gegnerische Ziel ein, das wir das Charakterziel nennen. Wir werden das retten. Und dann werden wir hier den ausgewählten Spieler schicken, um mit dem I. anzugreifen. Speichern Sie das und wir können die Instanziierung von hier entfernen. Lassen Sie es uns löschen. Und natürlich werden wir das noch einmal testen. Wir können es jetzt tatsächlich testen. Wir müssen dieses auch extrahieren, weil wir es in nur ein bisschen verwenden werden. Du wirst sehen. Also gehen wir hin. Lassen Sie uns das testen. Stellen Sie sicher, dass die Methode, die wir extrahiert haben, weiterhin funktioniert. Dies instanziiert also die Wirkung der Angriffe und sie führen jetzt den Code aus. Und sie jetzt wird
die Einheit beginnen und doch funktioniert sie immer noch. Ausgezeichnet. Also retten wir das. Jetzt haben wir eine Methode, die die Move-Power und Effekt-Instanziierung erhält, bewegt Macht und Wirkung Instanziierung. Sehr subtil. Wie auch immer, lassen Sie uns weitermachen. Was sollen wir als Nächstes tun? Erstens, wir müssen die Auswirkungen
auf den Angriff oder auf den Feind, der angegriffen wird, hinzufügen . Also, und Ihre Herausforderung ist es, den Effekt hinzuzufügen. Sie müssen also die Methode aufrufen, die den Effekt instanziiert, der
uns sagt , welcher Feind angreift oder welcher Spieler angreift. Und Sie müssen auch die Methode aufrufen, um Schaden mit den entsprechenden Argumenten zu verursachen. Also mit diesen Informationen, pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Wie bist du damit weitergekommen? Also haben wir die meiste Macht und hier sollte alles gut funktionieren. Also werden wir diese Methode aus dem feindlichen Angriff extrahieren. Nun, mit der rechten Maustaste. Und das ist die Charakterangriff Fakten. Das ist also das Partikelsystem, wie Sie hier sehen können. Es ist das rote Schießzeug. Und wir werden extrahieren, es wird eine Extraktmethode tun. Und diese Extraktmethode instanziieren Tatsache auf Tacking Zeichen. Also heute ist nicht mein bester Tag, um Methoden Namen zu geben, aber zumindest sind sie wirklich scharf und Sie wissen, was Sie nennen. Nachdem wir also entschieden haben, welcher Film zu tun hat, fügen
wir ihm die Macht hinzu. Wir werden den Effekt auf den angreifenden Charakter instanziieren. Und was es tut, ist, dass es den aktuellen Begriff wählt, so dass er den aktiven Charakter in den aktuellen Kurven wählt. Also wird es den Spieler wählen, der angreift, was gut ist. Und schließlich müssen wir Schaden anrichten. Also werden wir Charakteren Schaden zufügen. Wir werden unser Ziel wählen, welches das ausgewählte feindliche Ziel ist. Und dann werden wir ihm die Bewegungskraft geben, die wir bestimmt haben. Also lasst uns das retten. Und wir haben immer noch das letzte Stück Code, der voran gehen und den nächsten Begriff machen soll. Speichern Sie das, zurück, beenden Sie unser Spiel. Und hier werden wir rennen. Wir werden auch zuerst, bevor wir das tun, wir müssen diese Methode tatsächlich aufrufen. Also, wo nennen wir den Spieler Angriff? Nun, wir werden es über die Tasten anrufen. Also schalten wir die Kampfszene ein und gehen in die Szenen. Und wir müssen eine von diesen auswählen. Ich werde den Angriffsockel auswählen. Also die Angriffstaste, wenn ich nach unten scrolle, wenn ich eine Bedingung im Kampfmanager hinzufüge, gehe zum Kampfmanager. Was können wir hier drinnen tun? Wir brauchen den Spieler aus irgendeinem Grund. Ich habe den Spieler nicht angreifen. Ist es ein öffentlicher Schlüssel? Ist ein öffentlicher Kampfmanager. Manager. Wie Sie sehen können, aus irgendeinem Grund, können
wir den Spieler Angriff nicht finden. Und warum ist das? Nun, denn wenn wir hier reinschauen, können
wir sehen, dass es zwei Argumente braucht. Das ist ein großes No-Nein. Wir können nicht zwei Argumente haben. Also, was wir tun werden, ist, dass wir hier eine Klammer hinzufügen. Wir werden das auskommentieren. Und dann werden wir hier eine ganze Zahl erstellen. Und es wird das ausgewählte feindliche Ziel sein. Also werden wir das kopieren, fügen Sie es hier ein, und wir wählen einfach das Ziel aus, das 0 ist. Wir werden das retten. Und jetzt sollten wir es hier drin sehen können. Also, wenn wir die Funktion Kampfmanager treffen, und da gehen wir, Spieler Angriff, der in einer Schnur nimmt. Und warum ist das? Nun, weil Sie hier keine Methode aufrufen können, die zwei Argumente akzeptiert. Dafür werden wir später eine Lösung finden. Mach dir keine Sorgen. Dies dient nur zu Testzwecken. Also, was ist der Angriff? Es ist der Schrägstrich. Wir werden diesen Kampfmanager kopieren, ich meine Angriffsknopf. Und der Angriffsknopf tut normalerweise der Schrägstrich wird das speichern. Ausgezeichnet. Jetzt ist es Zeit, unser Spiel zu laufen. Also gehen wir zu laufen oder wir müssen
die Schlacht Szene der Schlacht Szene um das Spiel hatte die BP ausschalten . Also, jetzt können wir angreifen, können
wir wählen, um anzugreifen. Also gehen wir hin. Wir haben uns angegriffen, was nicht gut ist. So können Sie sehen, dass wir alle drei zumindest wissen, dass wir angreifen können. Also, wenn wir angreifen, sagen
wir Hit Attack, Draco greift das Skelett an. Der Spieler greift das Skelett an. Auch. Richtig. Jetzt müssen wir beheben, was wir falsch in der verursachenden Schaden an Charakter o k getan haben. Also die Sache, die ich nicht in Betracht gezogen habe, ist, dass die Feind-Liste beginnt auf der dritten, weil warum wir das Skelett haben, was auch immer Sie Nennen Sie es die dunkle. Und Jimi Solo, die Feinde begannen mit der dritten und vierten Ganzzahl. So auf die, kann entweder in hier drei oder vier wählen. Wählen wir 3. Das retten wir. Jetzt greifen wir den richtigen Feind an. Und das habe ich nicht berücksichtigt. Jetzt, wenn wir angreifen, sollte derjenige unserer Spieler das Partikelsystem auf ihn haben und dieses gemacht sollte den Schrägstrich Effekt auf ihn haben. Da gehen wir. Da gehen wir. Da gehen wir. Und Sie können sehen, dass wir angegriffen werden und bestimmt, wenn Sie bemerkt haben, werden auf eigene Faust aktualisiert. Also hoffe ich, Sie genießen es. Keine Sorge, alles wird in den nächsten Videos automatisiert. Wenn ich dich sehe, dann.
107. Zielobjekte: Willkommen zurück meine Spiele-Entwickler zu einem brandneuen Video, wo ich vergesse, eine Menge Dinge zu tun. Aber irgendwann haben wir es geschafft. Also, als wir unser Spiel laufen, hatten wir DBT. Wir beschließen, anzugreifen. Wen wollen wir sie angreifen, um einen Kriegsherr anzugreifen? Oder willst du sie im Alter angreifen, jetzt
abstimmen, weil wir den Kriegsherr angreifen, als wir den Major angreifen, dann greifen wir wieder den Major an, aber dann die Hauptachse. Lassen Sie uns also keine Zeit mehr verschwenden und beginnen wir mit der Auswahl unserer Ziele. Okay, also wollen wir natürlich keinen Feind aus dem Code wählen müssen. Das ist völliger Unsinn. Was wir tun möchten, ist eine Möglichkeit zu haben, ein Ziel aus unserer Benutzeroberfläche zu wählen. Also lasst uns das machen. Wir schalten die Kampfszene ein. Wir gehen auf die Speisekarte. Wir werden dieses Menü duplizieren. Wir nennen das die feindlichen Ziele und feindliche Ziele. Und wir werden es, glaube ich, hier drin behalten. Das ist kein Problem, denn wenn wir entweder magische Gegenstände angreifen oder rennen, wenn wir das gegnerische Ziel öffnen, sollte
es den Angriff Anti-Magie abdecken, sollten
wir dann nicht in der Lage sein, etwas anderes. Also hier drin, das feindliche Ziel, werden
wir weitermachen und mal sehen. Ich werde diese drei Knöpfe wählen. Ich werde sie löschen. Und ich werde die entfernen,
sorry, der Schrägstrich Angriff und hier, und dies wird von der Angriffstaste zu einem, sagen
wir feindlichen Knopf ändern . Und der Text hier wird sich zu ändern, sagen wir Ziel. Und wir werden es so machen, dass es so Auto-Größe passt und das Maximum erhöhen. Vielleicht. Ich weiß es nicht. Also wollen wir, dass es groß genug ist. Da gehen wir. Wir legen es direkt darunter. Aber so gehen wir hin. Es ist also das Ziel. Dort gehen wir bei Autogrößen und ich werde es an den Rändern etwas kleiner machen. Okay, da gehen wir. Und richtig. Jetzt werden wir es duplizieren. Also duplizieren wir es einmal, zweimal, dreimal, und wir haben nur maximal vier Feinde. Also werden wir es so behalten. Jetzt ist das nächste, was wir tun werden,
ein Skript für die Kampf-Ziel-Buttons zu erstellen . Also werden wir gehen und zu unseren Skripten in die Schlachten. Wenn Sie dies ein bisschen größer machen, klicken Sie mit der rechten Maustaste
ein C-Skript erstellen , das die Schlacht genannt wird. Gefecht. Ziel. Tasten drücken die Eingabetaste. Warten Sie, bis dies kompiliert wird. Und ich werde es an jedem einzelnen dieser Knöpfe befestigen. Also werde ich sie alle aussuchen. Ich werde eine Komponente hinzufügen. Ich werde die Kampf-Ziel-Buttons wählen. Und wir werden das Drehbuch öffnen. Da gehen wir. Jetzt ist es an der Zeit, ein paar Variablen hinzuzufügen. Also, jetzt wollen wir zuerst einen Filmnamen, also ist es öffentlich, String, Name verschieben, und Sie werden sehen, warum wir hier einen Filmnamen brauchen. Es sollte nicht einmal öffentlich sein, aber wir werden es öffentlich halten, damit wir wissen, was los ist. Dann schaffen wir ein Publikum und es wird das aktive Kampf-Ziel sein. Ziel. Und schließlich werden wir ein öffentliches Steuernetz Pro erstellen. Und es wird das Wo ist es? Ein Text-Mesh-Prüfpunkt, der Zielname. Wir werden das retten. Jetzt beginnt es, wir werden alle diese zuweisen und wir können dies tun, oder wir werden einfach diesen Stack Smash bro zuweisen. Also gehen wir zu gehen und sagen, dass der Zielname gleich ist um Komponente und Kinder Text Mesh pro gehen zu bekommen. Und da gehen wir. So gibt es einen Text viel pro und Stalin GST pro GUI GUI. Also, jetzt funktioniert das. Das nächste, was wir tun werden, ist, dass wir hier eine Methode zum Drücken erstellen. Was passiert, wenn wir den Knopf drücken? Es wird ein Publikum sein. Leere Presse. Und was wir hier drin tun, ist, dass wir einfach den Kampfmanager anrufen und die Instanz bekommen. Und wir Angriff war der Spieler, so Kampfmanager, Punkt-Instanz, Punkt-Spieler Angriff. Und was schicken wir hier rein? Wir senden den Filmnamen ein und wir senden auch das aktive Gefechtsziel ein. Jetzt können wir in den Kampfmanager gehen. Wir können die Kommentare hier entfernen und wir können dies jetzt stoppen, dies wird den Boden davon abhalten, zu arbeiten, aber keine Sorge, wir werden uns damit in nur ein bisschen beschäftigen. Also, hier haben wir das aktive Kampf-Ziel geschickt. Das retten wir. Und das nächste, was wir tun müssen, ist, dass wir tatsächlich die Kontrolle über dieses Zielmenü bekommen müssen, oder das ist dieses feindliche Zielfeld. Nennen wir es die feindliche Zielgruppe. Und wir schalten es aus und auf basierend darauf, wenn wir entweder den Angriff oder die magischen Tasten drücken. Also lasst uns das machen. Wir gehen zurück zu unserem Drehbuch, gehen zurück zu unserem Kampfmanager, halten
dies als eine gemeinsame, als Erinnerung daran, dass wir hier etwas ändern. Lassen Sie mich den Schaden schließen. Dealer geht den Feind runter. Und hier drin, das wurde gerade unter dem feindlichen Angriff erschaffen oder was immer du willst. Wir werden eine öffentliche Leere erstellen, öffnen Zielmenü. Und es wird in den String verschieben Namen nehmen. Und das wird an den Angriffsknopf angehängt werden. Also hier drin werden wir einfach einen Verweis auf das Zielpanel bekommen. Also werden wir ein serialisiertes Feld erstellen. Es wird vom Typ Spielobjekt sein. Und es wird das Ziel für das gegnerische Zielfeld sein. Und wir werden dieses Panel auf wahr setzen. Also hier drin, feindliche Zielgruppe, reaktiv, wahr. Ok, großartig. Jetzt der nächste Schritt, 0, und lassen Sie uns die Referenz hier setzen. Also der Kampfmanager, das Zielmenü, der Zielfeind, was auch immer das gegnerische Zielfeld ist. Jetzt setzen wir es auf wahr, wenn wir angreifen wollen. Nun ist der nächste offensichtliche Schritt, die Namen hier in die Namen des Feindes zu ändern. Und das wird Teil Ihrer Herausforderung sein. Ihre Herausforderung besteht also darin, den Feind in eine Liste zu laden, ganzzahlige Liste. So erstellen Sie eine Liste vom Typ int für die Feinde. Schleife durch den ganzen Akt der Zeichen. Wenn das Zeichen kein Spieler ist, fügen Sie sie zur Liste hinzu und drucken Sie die Länge der Liste am Ende aus, nur um sicherzustellen, dass wir sie alle schneiden. Also pausieren Sie das Video jetzt und gehen Sie den Feind zu schaffen. Und lasst uns zurückkommen. Wenn wir also das Panel öffnen, werden
wir voran gehen und eine Liste von Ints bekommen. Wir nennen es die Feinde. Und wir werden erstellen,
stellen Sie sicher, dass es eine neue Liste von Ints ist. Und was machen wir hier drin? Nun, offensichtlich schleifen wir uns durch. Und R gleich 0 I weniger als der Akt der Zeichen Punktlänge, Punktanzahl, weil es eine Liste ist, die ich plus, plus. Und hier, wenn die aktiven Charaktere auf dem Auge Position als Spieler. Deshalb habe ich gesagt, dass, wenn es kein Spieler ist, und dann werden wir auf die Feindliste zugreifen und wir werden das hinzufügen. Und schließlich, wenn wir fertig sind, gehen
wir zum Debug-Protokoll und wir bekommen den enem-. Speichern Sie das wieder in Unity. Wir werden drehen, wo der Feind Ziele. Lasst uns vorerst alle Tasten behalten. Später schalten wir sie aus und schalten nur die Tasten ein, die wir brauchen. Lassen Sie mich zwei davon behalten. Weil wir wissen, dass wir zwei Spieler haben, zwei Feinde, und wir müssen abschalten. Das gesamte Panel wird in das Menü gehen. Der Angriffsknopf, den wir gehen, können
Sie hier sehen, dass er fehlt, weil wir es geändert haben. Also von gehen wir zum Kampfmanager zu gehen und wir Zielmenü mit einer Zeichenfolge
öffnen, die den Schrägstrich sein wird. Wir werden das retten. Wir schalten die Kampfszene aus, führen das Spiel, schlagen den B-Tasten-Angriff. Also, jetzt haben wir Ziel eins, Ziel eins. Es hat sich leider nicht geändert, aber wir können sehen, dass wir hier zwei Feinde haben. Also lasst uns weitermachen. Was sollen wir als Nächstes tun? Nun, offensichtlich müssen wir die Namen auf den Zieltasten ändern. Also werden wir hier einen Kommentar hinzufügen, gemeinsam dies aus. Und 4 und ich gleich 0. So können Sie sehen, wie nützlich Schleifen sind. Ich glaube, wir haben bislang 20 Gruppen geschaffen. Also die Ziel-Buttons, gekämpft Ziel-Buttons, müssen wir diese Referenz erstellen. Also hier werden wir ein serialisiertes Feld vom Typ erstellen. Ziel-Tasten, Kampf-Ziel-Buttons. Da gehen wir. Es wird ein Array sein, und es wird die Zielschaltflächen genannt werden. Wir werden wieder nach unten scrollen. Wir werden durch die Zieltasten Punktlänge Schleife, und fügen Sie i bei jedem Zug. Und dann, wenn die Punktzahl der Feinde größer ist als ich also genau wie wir es hier oben getan haben, wo ist es? Wo haben wir dafür gesorgt, dass wir das hatten? In der Update-Spieler-Statistik? Wir haben sichergestellt, dass die Anzahl der aktiven Zeichen größer ist als die Anzahl. Wir sorgen dafür, dass das hier drin ist. Auch. Die Ziel-Tasten, Position habe ich Spielobjekt. Das ist traurig, aktiv, wahr. Und wir wollen es nicht instanziieren. Es ist ein bisschen hart und wir wissen bereits, dass wir maximal fünf haben, also keine Sorge darüber. Wir können sie ein- und ausschalten. Die Zielschaltfläche. An Position i Punkt bewegen. Der Name ist gleich dem Namen des Films, den wir hier bestimmt haben. Und hier, dass wir mit dem offenen Ziel weitergeben. Dann haben wir den Zielknopf. Wir müssen das aktive Gefechtsziel festlegen. Das aktive,
aktive Kampf-Ziel ist also gleich den Gegnern an Position I. Und schließlich brauchen wir die Ziel-Schaltflächen. Ich Punktname, Punkttext ist gleich den aktiven Zeichen. Und worauf sollten wir hier drinnen zugreifen? Es sind die Feinde an Position i. Das liegt daran
, dass es ein ganzzahliger Punktzeichenname ist. Oh, entschuldigen Sie mich. Der Punkt sollte außerhalb des Zeichennamens sein. Also, was machen wir hier drin und was haben wir falsch gemacht? Okay, was machen wir hier drin? Zuallererst schleifen wir uns durch die Zielschaltflächen. Wir sorgen dafür, dass wir die Feinde haben. Wir setzen es auf true und die Zieltaste auf true. Wir setzen den Stimmungsnamen. Warum machen wir das? Weil wir den Filmnamen und den Spieler dabei schicken. Dann setzen wir das Ziel, das der Feind an Position I ist. Und schließlich bekommen wir den Namen des aktiven Charakters auf
die Feinde an Position I. Okay, also weil wir die Feinde bekommen, Es ist eine int-Liste. Und dann bekommen wir die Position des Feindes innerhalb dieser IntList. Und dann benutzen wir all das, um es in den Akt des
Charakters zu stecken und seinen Namen zu bekommen. Lasst uns das retten. Und das letzte, was wir tun müssen, ist, nachdem der Spieler angegriffen hat, wollen
wir das Zielmenü erhalten. Während das Zielmenü, wie haben wir es genannt? Also unsere feindlichen Ziel-Panel und dann ich, Ziel-Panel Dots Direktive falsch. Nachdem wir den Angriff beendet
haben, wollen wir das Panel schließen. Wir werden in die Einheit gehen. Was sollen wir hier drinnen setzen? Ich habe es vergessen. Also lasst uns das retten. Gehen wir in die gegnerischen Ziel-Tasten und wir werden sie alle ausschalten. Das retten wir. Wir führen das Spiel. Wir öffnen die Schlacht, wir machen einen Angriff. Wir haben keine Namen. Warum ist das so? Weil wir die Schaltflächen und hier die Ziel-Tasten nicht eingestellt haben. Ich wusste, dass wir etwas vergessen haben. Speichern Sie das wieder falsch, jetzt sollte alles theoretisch sehr reibungslos funktionieren. Also Angriff, wir haben wieder ein Problem. Doppelklicken Sie auf Öffnen. Was ist das Problem hier? Okay, wenn wir also auf eine von denen klicken, können
wir sehen, dass wir nicht das Ziel dafür gegeben haben. Oh, okay. Ok. Ok. Also klicken wir auf diese Schaltfläche, wir ziehen in den Text, wir klicken auf diesen Button, wir ziehen in den Text, wir klicken auf diesen Button, wir ziehen in den Text, wir klicken auf diesen Button, ziehen wir in den Text, wir speichern all das. Wir führen das Spiel. Und jetzt hoffentlich, als wir versuchten, anzugreifen, haben
wir den magischen Major Master und das Kriegsprotokoll n. Sehr klein. Lassen Sie uns versuchen, die Größe zu maximieren. Wir beginnen die Schlacht, wir greifen den Major oder den kriegsähnlichen an. Versuchen wir, den Krieg Locke anzugreifen. Offensichtlich passiert nichts, weil
ich wieder vergessen habe, den onclick auf all diese zu setzen. Verlust der Kampfmanager, Kampfmanager oder nicht der Kampfmanager, Ich meine, die, das eigentliche feindliche Ziel. Also gehen wir zu, auf jeden von denen. Da gehen wir, die Schaltflächen, wählen Sie alle aus. Gekämpft, Ziel, Presse, speichern Sie das, führen Sie das Spiel. Dies ist das dritte Mal, dass wir versuchen, unser Spiel zu laufen, wenn wir angreifen, was die Kriegssperre zeigt, die auf den großen Meister Hexenmeister kämpft, okay, also greifen wir denselben Feind an. Wir müssen das auch 0 beheben. Also habe ich das Problem herausgefunden. Wenn wir unser Spiel laufen, beginnen
wir den Kampf, wir schlagen Angriff. Wir können sehen, dass der erste die Schaltfläche darstellt. Es hat einen Schrägstrich und das aktive Gefechtziel ist drei, das zweite ist vier. Und ich war so verwirrt, was los ist? Warum funktioniert es nicht? Jedes Mal, wenn wir den Borlaug treffen wollen, haben wir immer noch den Major hier drinnen getroffen. Das Problem war also, dass ich eine sehr,
das heißt dumme Bewegung gemacht habe . Wenn wir einen Knopf wählen, habe
ich sie alle ausgewählt und habe ihnen ein einziges Ziel gesetzt. Wir sollten jede Schaltfläche auswählen, das Skript darauf
ziehen, das Skript darauf ziehen. Ziehen Sie das Skript darauf, und ziehen Sie das Skript darauf. Also, jetzt wählen wir die Presse für jede
der Tasten. Da gehen wir. Also, jetzt sollten wir es tun. Endlich. Ja, da gehen wir. Wie Sie sehen können, greifen wir
jetzt, wenn wir die Hauptseite angreifen, das Kriegsprotokoll an. Und da gehen wir. Jetzt können wir entscheiden, welchen Feind wir angreifen wollen. Wie cool ist das? Im nächsten Video werden
wir sehen, wie wir Magie verwenden können. Also sehe ich dich dann. Vergessen Sie nicht, Ihre Änderungen jedes Mal zu übernehmen, wenn wir etwas Erstaunliches tun.
108. Magische UI einrichten: Willkommen zurück, meine Spiele-Entwickler. Wir haben nicht zu viel am vorderen Ende unseres Spiels gemacht, aber im Backend haben
wir eine Menge Code mit vielen Schaltflächen
und vielen komplizierten und detaillierten Funktionalitäten erstellt . Also lasst uns keine Zeit mehr verschwenden, und lasst uns anfangen. Oh, guter Zeitpunkt, etwas Magie mit unseren Spielern zu nutzen. Nun, wie sollen wir das machen? Wir wollen nicht, dass zufällige Magie geschieht und für uns die Wahl, die gut mit den Feinden ist, nicht so gut, wenn es um den Spieler geht, weil wir wählen wollen, welche geschrieben MY verwenden wollen. Also lasst uns weitermachen und das tun. Zuerst werden wir die Kampfszene ausschalten. Wohin gehen Sie auf die Leinwand? Wir werden das Menü oder die feindlichen Ziele wählen, spielt keine Rolle. Wir werden es duplizieren. Wir werden es ein bisschen größer machen, weil wir hier eine Menge mehr Ehepartner hinzufügen können. Wir werden das Gitter benutzen, um es von oben
nur ein wenig und von links nur ein wenig zu bewegen . Dies wird die sein, was sollten wir es nennen, die Zauberwahl Panel, Ich denke, Auslauf Wahl Panel. Nennen Sie es etwas klügeres, wenn Sie wollen. Und jetzt machen wir es eine kleinere, Lasst uns es so machen. Also zwei Reihen, zwei Reihen. Lassen Sie uns das EBIT duplizieren, die Schaltfläche Ausführen. So hängt davon ab, wie viele Zauber Sie derzeit haben. Wir haben nicht so viele Ehepartner. Aber wie Sie durch Ihre Reise und RPG-Spiele gehen, wissen
Sie, dass Sie Ehepartner sammeln können, lernen Sie neue, erhöhen Sie Ihre Charakterstatistiken. Also denke ich, sagen
wir für acht Zauber, ja, es sind Eier, ich denke, ist genug. Und wird die Box yay groß machen. Wir werden mit der Rasterbelastung zu bewegen, also verschieben Sie sie nach oben oder in die Mitte, oder fügen Sie vielleicht Abstand hinzu. Wissen Sie, das ist perfekt für jetzt, wir werden alle diese Tasten löschen, werden nur eine von ihnen benötigen, die die Angriffstaste ist. Und wir werden es in eine Art Zauberknopf ändern. Da gehen wir. Ich werde den Schrägstrich Angriff von hier entfernen. Und was werden wir tun? Nun, wenn wir den magischen Knopf drücken, ähnelt
es der Art, wie wir den Angriffsknopf benutzen. Wir drücken den magischen Knopf. Wir haben Optionen, einen der Ehepartner zu wählen, die wir auf dem Spieler haben. Wenn wir einen dieser Zauber wählen, dann haben wir die Möglichkeit zu wählen, für welchen Feind wir sie einsetzen wollen. Also werden wir diese Struktur in unserer gesamten Ausguss Auswahl Panel erstellen. Lasst uns anfangen. Lasst uns zunächst in unseren Kampfmanager gehen. Und zwei, wo ist es der Kampfmanager? Und hier drin brauchen wir eine kleine Referenz. Lass uns das schließen. Ein kleiner Verweis auf das Zaubermenü. So serialisiertes Feld, Spielobjekt, das magische Menü oder magische Auswahlfeld. Ich werde immer wieder „Get-Menü“ anrufen, weil ich immer wieder vergessen habe. Und wir brauchen eine Methode hier drin, die öffentliche Leere ist, öffnen Sie das Menü. So öffentlich offen, magische Panel oder magische Wahl Panel. Und wir werden einfach das magische Auswahlfeld so selektiv, wahr bekommen. Speichern Sie das. Lasst uns nun in die Kampffiguren gehen und jedem seine eigenen Bewegungen zum Angriff geben. Also, wo sind die Kampffiguren? In Einheit? Wir gehen zu den Prefabs, Kampffiguren Spieler. Also hat Draco hier drin die Angriffe zur Verfügung. Wir können hinzufügen, wie viele Angriffe er hat, das Gramm und Jimmy. Also mal sehen, Draco, was bekommt er? Wir werden das absperren. Wir gehen zu den Angriffen. Und hier können wir alle verfügbaren Angriffe sehen. Und machen wir das etwas größer. Also, was kann Draco tun? Nun, ich denke, da er ein bisschen dunkel ist, kann
er die Tentakel benutzen, beide. Und vielleicht nicht die violetten. Nicht die violetten, nur die Tentakel. Vielleicht kann er Aufhellung benutzen. Sicher. Warum nicht? Der Blitz und das blaue Feuer. Ich denke, die sind gut für Draco zu verwenden. Wir werden speichern, dass es entsperren
wird, gehen und wählen Sie einen anderen Butler. Also, das Gramm, was kann der Grimmige tun? Also mal sehen. Er kann Laser haben. Und Aufhellung. Also denke ich, das reicht für die Gram. Er ist nicht ein sehr überwältigender Charakter, ist eine Art von einer Woche. Und dann haben wir Jimmy. Jimmy, was kann Jimmy tun? Jimmy kann alles tun, damit er es gut gebrauchen kann, also müssen wir Jimmy absperren. Jimmy, der Dämon, damit er das blaue Feuer, denLaser,
die violetten Tentakel,
die schwarzen Tentakel und die Aufhellung benutzen kann Laser,
die violetten Tentakel, . Da gehst du, Jamie, ich glaube nicht, dass du genug Paneel für all
die haben wirst, was Teil deiner Herausforderung sein wird, nicht jetzt. Mach dir deswegen keine Sorgen. Battle Manager. Wir müssen das magische Auswahlfeld einstellen. Also buchstabieren Wahl, magische Wahl, Zauberwahl. Ich weiß es nicht. Hier hinten brauchen wir zwei Bahnen, tut mir leid. Wir müssen hier drin bleiben, und wir müssen ein Kampfmagie-Schaltflächen-Skript erstellen. Jede Schaltfläche hier, die wir in nur ein wenig
erstellen werden, wird ein eigenes Skript darauf haben. Und wir werden Dinge machen, die ähnlich der Art, wie wir mit den feindlichen Zielen umgegangen sind. Also in Skripten im Kampf waren mit der rechten Maustaste, erstellen Sie ein C scharfes Skript, das wird die Schlacht magische Tasten sein wird. Und wir werden es zu diesem Datei-Button hinzufügen. Und wir werden es in Visual Studio öffnen. Und hier drin brauchen wir ein paar Variablen. Also zuerst ein öffentlicher String, ein Rechtschreibname, dann ein öffentlicher und Zauberpreis. Dann brauchen wir zwei weitere Variablen für die Texte. Also öffentlicher Text Mesh Probe. Und es gibt eine Sache, die ich vergessen habe zu tun, und das sind die Kosten für diese PAL. Wir müssen sicherstellen, dass der Spieler
, der unseren Zauber benutzt, weiß, wie viel das kosten wird. Also werde ich hier den Namen des Zauberspruchs nennen und ihn übergroß machen. Und vielleicht setzen Sie ein paar Dinge. Machen Sie es größer. Da gehen wir. Und ich werde hier einen Text viel pro hinzufügen. Und wo sind wir? Text-Mesh Pro. Das wird die Zauberkosten sein. Das ist der Name des Zauberspruchs. Und Entsorgungskosten, die hier auf der Unterseite festgelegt werden. Es wird die Form sein, an die wir gewöhnt sind. Wir werden es automatisch verkleinern. Wir machen es mutig und wir werden es auf drei Neunen setzen. Ich hoffe, das sieht von hinten gut genug aus. Also hoffentlich wird das nicht sehr schlecht aussehen. Da gehen wir. Wir legen es gleich da hin. Dies ist die richtige Größe dafür. Wir wollen nicht, dass es den V-Zauber Namen zu sehr abdeckt. Ja, da gehen wir, wir retten das. Gehen wir zu dieser Schaltfläche. Und jetzt bekommen wir einen Hinweis darauf auch hier drin. Also der Rechtschreibname Text und der Zauber kosten Text. Und dann schaffen wir hier den Präzedenzfall. Lassen Sie uns also den Start und das Update entfernen. Vielleicht brauchen wir sie später. Also öffentlich, leere, drücken. Und der Kampfmanager Punkt-Instanz, Punkt öffnen Zielmenü. Und was braucht es hier drin? Es erfordert den Filmnamen, also wird es der Zaubername sein. Speichern Sie das. Aber wir können das nicht einfach machen. Wir müssen sicherstellen, dass der Spieler genug Mana hat, um diesen Zauber zu verwenden. Also werde ich Ihnen eine Herausforderung stellen. Und deine Herausforderung besteht darin, sicherzustellen, dass der Spieler genug Mana hat. Woher wissen wir also, dass der Spieler genug Mana hat, um auf den aktiven Charakter auf dem Zauberknopf
zugreifen zu können. Das erste, was du tun musst, ist, auf
die Variable des aktuellen Manas auf dem Kampfcharakter zuzugreifen . Du brauchst also eine Methode, die den Charakter vom Kampfmanager zurückgibt. Sie dann, wenn Sie die Taste drücken, ErstellenSie dann, wenn Sie die Taste drücken,eine if-Bedingung, die diese Methode aufruft und prüft, ob sie für die Stelle ausreicht. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also im Kampfmanager, werden
wir den derzeit aktiven Charakter zurückgeben, also öffentlichen Kampfcharakter. Und hier drin werden wir den aktuellen aktiven Charakter bekommen. Ich wollte ihn Butler oder Charakter nennen, und werde einfach den aktiven Charakter auf den aktuellen Begriff zurückgeben. Und das ist alles, was wir tun müssen. Wir werden das retten. Wir gehen zurück in den magischen Knopf. Und hier drin, bevor wir einen Zauber wirken, wird eine Bedingung schaffen. Wir gehen zum Kampf-Manager, Punkt-Instanz Punkt erhalten aktiven Charakter. Und wir werden auf das derzeitige Mana auf ihn zugreifen. Und wir werden prüfen, ob er mehr hat als die Zauberkosten. Und dann schieben wir die Kampfinstanz hierher. Und was sollen wir noch tun, nachdem wir diesen Knopf gedrückt haben? Nun, wir wollen zuerst die Speisekarte schließen. So Kampfmanager, die magische Menüoption oder Zauberwahl Panels, so etwas. Wir werden sehen. So Kampfmanager Punkt-Instanz, Punkt-Magie. Nein, gehen wir in den Kampfmanager. Wir müssen sicherstellen, dass es das magische Auswahlfeld ist. Wir können eine Methode erstellen, um zu wechseln, oder wir können es einfach öffentlich machen für jetzt. Nur um die Dinge etwas einfacher zu machen, speichern wir das. Also Instanz Magie, Auswahlfeld, das aktiv auf false gesetzt. Und dann müssen wir auch das Mana aus dem Charakter entfernen. So Battle Manager Punkt Instanz, Punkt, erhalten aktiven Charakter, Punkt aktuelle mono ist kleiner als oder gleich der Auslauf Kosten o k. groß, so jetzt speichern wir, dass, wir gehen zurück in unser Spiel. Wir werden all das retten. Und im nächsten Video werden
wir tatsächlich die Skripte unserer Schaltfläche zuweisen und sie zu ändern. Ich muss das Video jetzt schneiden, es ist schon zu groß und es gibt noch viel mehr Schritte zu tun. So. Wir sehen uns im nächsten.
109. Magie verwenden: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video, wie Sie sehen können, habe
ich einen Kampf gewonnen. Ich bin so stolz auf mich. Wenn wir unser Spiel laufen, drücken
wir die Taste B. Wir benutzen Magie. Wie Sie sehen können, haben wir Laser war Aufhellung, die erfordern 120, der Blitz. Also greifen wir mit dem Gram an, als wir den Kriegsherr hatten, du siehst, dass wir ein bisschen Mona verlieren. Und wir können dasselbe tun, wenn es um Draco geht, Blitzmeister, wir können wählen, welchen Feind wir angreifen wollen. Wir können wählen, mit welchem Dinkel wir angreifen wollen. Wir können wählen, ob wir Magie verwenden oder sie einfach angreifen wollen. Und all das wird in diesem Video möglich sein, natürlich brauchen wir ein bisschen Optimierung. Sie werden am Ende bemerken, es gibt immer noch eine Menge Dinge, die wir tun müssen, während wir durch
die Schlacht spielen und überprüfen Sie einige der Unannehmlichkeiten, die wir dort haben, einige Bugs und so weiter. Bis dahin verschwenden wir keine Zeit mehr. Lassen Sie uns beginnen und stellen Sie sicher, dass Sie immer die Änderungen, die wir in diesem Video vornehmen, übernehmen. Oh, okay, also keine Notwendigkeit, etwas zu erklären. Wir werden einfach weiter mit unserer Magie mit Kräften. Also lasst uns den Kampfmanager öffnen. Scrollen wir nach oben und lassen Sie uns einen Verweis auf alle magischen Schaltflächen erhalten. Also ein serialisiertes Feld mit den Kampf-Magie-Buttons, um das neu zu erstellen. haben wir. Und die magischen Knöpfe. Da gehen wir. Jetzt gehen wir und holen uns einen Hinweis auf sie. So oder Entsorgungskosten. Ich bin mir nicht sicher, ob ich magische Knöpfe buchstabiere, wie immer du sie nennen willst. Nennen wir sie magische Knöpfe. Und wir werden 1,
2, 3, 4, 5,
6,7, 8 oder genug hinzufügen 2, 3, 4, 5,
6, . Gehen wir zum Kampfmanager. Schließen Sie das. Wählen Sie alle magischen Schaltflächen aus, fügen Sie sie hier ein und schalten Sie sie alle aus. Also übernehmen wir Frankreich damit. Also wie alle von ihnen und schalten Sie sie alle aus. Großartig. Jetzt gehen wir zurück, wo wir unser Panel öffnen. Also hier drin werden wir sie
alle durchschauen und sie ein- und ausschalten und ihre Namen sagen. Also vier und r gleich 0. Ich bin weniger als die magischen Knöpfe. Punktlänge, Punktlänge I plus, plus. Wir werden überprüfen, ob die aktiven Zeichen der aktuellen Runde. Punktangriff bewegt sich verfügbar. Punktlänge ist größer als i. Das ist
also ähnlich dem, was wir tun. Jedes Mal, wenn wir Knöpfe haben, müssen
wir sicherstellen, dass wir mehr Angriffs-Moves zur Verfügung haben. Wir werden nach den magischen Schaltflächen an Position i, Punkt GameObject, Punkt gesetzt aktiv, wahr. Dann sind die magischen Schaltflächen an der Position, die ich dachte, buchstabieren mein Name ist gleich, um aktiven Charakter zu erhalten. Also jetzt haben wir den aktuellen aktiven Charakter erhalten. Wie cool ist das? Also können wir ihn hier benutzen, weil es den Strom zurückgibt. Wir hätten ihn auch hier drinnen benutzen können, aber wir gewöhnen uns nur daran. So bewegt sich Dot-Punkt-Angriff an Position I. Wir speichern das. Und schließlich die magischen Tasten an Position i, Punkte Glocke, Name, Text. Da gehen wir. Der Text ist gleich den magischen Schaltflächen an Position I buchstabieren Name. Also, weil jeder Kampf magische Taste hat einen speziellen Namen, dann werden wir auf die Tülle Kosten zugreifen, schreiben Namen Text auf sie und setzen diesen Bandnamen. Wir hätten es auch hier am Anfang geschafft. Vielleicht wäre das vielleicht besser gewesen, aber weil wir alles hier und hier im Badezimmermanager einstellen, lassen Sie es uns einfach hier drin behalten, damit wir es wissen. Ok. Also öffnen wir das Panel, wir setzen alles auf den Boden, nicht wir setzen Hälfte der Dinge hier drin als die Hälfte der Dinge hier drin. Also zurück im Kampfmanager. Schließlich müssen wir die Kosten überprüfen oder füllen, tatsächlich zerstreuen. Und das wird deine Herausforderung sein. Ihre Herausforderung besteht darin, diesen Podcast zu bekommen und ihn anzuwenden. Also gelooped durch die Gefechtsbewegungen, verwenden j statt I, weil wir bereits mit dem I. Überprüfen Sie, ob die Namen mit dem Namen des Zauberspruchs auf der Schaltfläche übereinstimmen. Stellen Sie die Ausgusskosten auf der Schaltfläche und stellen Sie sie auch auf den Text ein. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Willkommen zurück. Es war also eine schwierige Herausforderung, denke ich. Also werden wir eine for-Schleife erstellen, und die for-Schleife sollte nicht hier drin sein. Es sollte hier drin sein. Also vier. Und wir gehen voran und erstellen ein int j gleich 0, während j ist kleiner als die Schlacht bewegt Liste Punkt Länge j plus plus. Also gehen wir über alle Kampfbewegungen. Wenn der Kampf bewegt sich weniger, Position, j Punkt Name ist gleich den magischen Schaltflächen. Position, GA, Position, ich meine Punkt, Zaubername. Habe ich die ganze Zeit außerhalb der Klammern geschrieben. Ok. Also stellen wir sicher, dass wir es verfügbar haben als die magische Taste. An Position i, Punkt-Zauberkosten, Zauberkosten. Normale Kosten für jetzt wird festgelegt werden. Wir müssen es vom Spieler entfernen. Und lassen Sie uns diese Zeile duplizieren. Zauberkosten, Text, Kampfbewegung. Oder wir können diesen hier sofort benutzen. Kopieren Sie das, fügen Sie es hier ein, buchstabieren Sie Kosten Punkt toString. Da gehen wir. Also jetzt, lassen Sie uns das retten. Lasst uns in unsere Einheit gehen. Ich bin mir ziemlich sicher, dass wir viele Dinge vergessen haben. Das Problem hier drin, Was ist das Problem? Zeichenfolgen zu Text Mesh. Oh, okay, okay. Text. Speichern Sie das. Jetzt sollten wir keine Fehler haben. Ok, großartig. Also, jetzt werden wir das bekommen. Wir werden sehen, dass es erforderlich ist. Sie alle brauchen ein bisschen Arbeit. Also ich denke, wir können die lassen und gehen Sie voran und überprüfen Sie nach dem Rechtschreibnamen Text, der Zauber kostet Text. Und wir werden hier die Presse hinzufügen. Speichern Sie das. Lassen Sie es uns duplizieren. Wie viele hatten wir? Lass es uns einschalten. Sehen Sie, wie viele es gab. Speichern Sie das. So können Sie jetzt sehen, wie wir damit umgehen. So wird jedes das magische Skript des Buttons hier auf diesem verwendet. Bevor Sie also die Schaltflächen duplizieren, stellen Sie sicher, dass Sie die erste genau und korrekt erstellen und sie dann duplizieren. Wählen wir zum Beispiel die Schaltfläche hier aus. Wenn wir das Skript gewählt haben, das Skript auf der magischen Schaltfläche, die wir verwenden. Wenn wir wählen dispel Namen als dispel Namen der Schaltfläche, die wir wählen. Also hoffe, das ist verständlich. Wir werden sie alle ausschalten. Wir werden sparen, wir schließen das Auswahlfeld, führen das Spiel aus. Schlag die B-Taste, Schuhe, Magie. Warum funktioniert es nicht? Battle Manager, buchstabierte Touren Panel. Okay, auf der Speisekarte, Die Magie. Wir haben vergessen, das Wichtigste zu tun, das die magische Platte geöffnet wird. Öffnen Sie magische Panels, speichern Sie das. Nein, nein, nein, lass das Spiel nicht laufen. Wir müssen die Kampfszene ausschalten, das Spiel laufen lassen. Gehen wir zur Magie. Und es gibt ein Problem. Das Problem ist hier und dass der magische Knopf nicht richtig referenziert wird weil y nicht richtig referenziert wird, aber Sie können sehen, dass wir den Laser haben. Wir können den Krieg Locke wählen, und wir haben den Laser aufgetragen. So aufhellend. Okay, also stimmt etwas nicht. Das liegt daran, wenn Sie zum Button Manager gehen, was ist das Problem? Oh, okay. Also haben wir alles gelöscht. Und dann haben wir nicht dafür gesorgt, um sie wieder hinzuzufügen. Okay, da gehen wir. Es ist so schön, dass wir tatsächlich auf die Luft doppelklicken und
sofort zur falschen Zeile gehen können , damit wir mit der Diagnose beginnen können. Wieder. Lasst uns laufen, lasst uns das testen. Hoffentlich sollte das funktionieren, wenn wir die Magie hatten, wir haben Laser-Erleuchtung, weil wir an Draco arbeiten, glaube
ich zuerst. Wenn wir das aufheben, gehen
wir nach Draco, Draco, Draco, Draco, Draco. Prefabs Spieler. Draco hat Blitz-Tentakeln. Nein, ich glaube, es ist der Grim. So. Blitzkrieg Locke. Ja, da gehen wir. Wir haben den Blitz auf das Kriegsglück angewendet und unser ganzes Mana verloren. Jetzt benutzen wir Draco. Sie können sehen, dass wir den Ehepartner haben, den wir verwenden können. Also werden wir die Tentakel benutzen. Wir können sie nicht benutzen, weil wir nicht genug Mana haben. Also zum Beispiel, die Aufhellung braucht 120 Mono, während Jacob, ich meine, Draco hat, mal sehen. Draco hat Mana, 10. Okay, sehr nett. Also, was ist das Problem? Ich denke, wir haben etwas falsch mit unserem Code gemacht, weil aktuelle Mana verloren gegangen ist und ich glaube nicht. Alles, was wir zum kleinen Mano haben. So ist die aktuelle Mano Stand und das Maximum ist tan. Natürlich können wir diese nicht verwenden. Natürlich können wir diese natürlich nicht verwenden. Also müssen wir nach Draco. Fügen wir ihm ein bisschen Mana hinzu. Ernsthaft, lassen Sie uns 1000 Tausend und das düstere hinzufügen, tausend mit einem Tausendstel. Und der Spieler. Lassen Sie uns das Licht auf Draco auftragen, das auf das düstere
aufgetragen wird. Speichern Sie, dass wir das Spiel erneut ausführen. Wir fangen den Kampf an. Und ja, das ist Spielentwicklung. Du tust immer etwas. Alle diese müssen getestet werden, so Aufhellung, Aufhellung auf dem Hauptmeister. Da gehen wir. Wenn wir auf dem Grim sammeln, können
wir sehen, dass er den aktuellen Mano 120 verloren hat. Er hat Mana verloren. Draco hat die Menge an Mana. Wieder benutzen wir Magie. Mal sehen. Wir wollen die blauen Tentakel benutzen oder so. Wir werden sie auf die kriegerischen. Sie haben 200 gekostet. Als wir den Krieg hatten, sollten
wir das sehen. Oh, also haben wir schon verloren. Da gehen wir. Wenn wir schlagen, benutzen wir die wieder Magie und benutzen die violetten Tentakel der Hexenmeister. Hast du das gerade gesehen? Weil wir getroffen haben, denke ich, eine kritische dort gehen wir. Jimmy gab 2772 ab. Jimmy, das ist eine Nummer. Das ist eine Menge Schaden. Also, jetzt wieder fangen wir an. Aber wie Sie sehen können, haben
wir immer noch ein kleines Problem und hier wird es nicht aktualisiert. Wir haben all diese Dateien von jedem einzelnen Charakter zur Verfügung, wieder, Magie. So können Sie sehen, dass es hier ein kleines Problem gibt. Und der letzte Schritt, den wir vergessen haben zu tun, war eine else Aussage
in hier zu erstellen und sagte die magischen Schaltflächen an Position, Ich dachte, Spielobjekt aktiv auf false gesetzt. Also, jetzt sollten wir keine Zauber sehen, die nicht da sein sollten. Wir führen unser Spiel. Wir hatten die magische Verwendung Blitz, magische Verwendung auf den Hexenmeistern, Magie, Blitz. So magisch, wie Sie sehen können, weil wir auf Draco sind, sehen
wir keine anderen Angriffe. Magie, und Sie können sehen, dass wir den Weltweg getötet haben. Aber wir haben ihn nicht entfernt. Und weil Draco ist, dass wir nur angreifen können. So werden Sie sehen, dass es nur einen Begriff für die Feinde und einen Begriff für uns gibt. Das liegt daran, dass der Krieg gestorben ist, aber wir können ihn noch angreifen und wir
greifen immer noch mit Draco 0 an, weil er noch nicht gestorben ist. So verwenden wir Aufhellung an der Wand. Glück kann sehen, dass er überhaupt nicht mehr angreift, aber wir können ihn immer noch angreifen, was nicht gut ist, nicht genug Magie. Hey, wir wollen. Ich hoffe, Sie haben dieses Video genossen. Wir können endlich, wenn ein Spiel, und wir sehen uns in der nächsten.
110. Nicht ausschauenden Magie: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video haben wir ein Benachrichtigungsfeld, das uns verschiedene Dinge erzählt. Und einer der wichtigsten ist, dass, wenn wir versuchen, wenn wir 0 mono oder nicht genug mono für einen bestimmten Auslauf haben, was die Aufhellung ist. Nehmen wir an, wir versuchen, den Blitz zu treffen, aber wir haben nicht genug, also müssen wir etwas anderes tun. Wie auch immer, lasst uns keine Zeit mehr verschwenden und lasst uns anfangen, Benachrichtigungen zu unseren Kämpfen hinzuzufügen. Oh, okay, momentan, wenn wir nicht genug Mana haben, können
wir keine Magie machen, aber das reicht nicht, weil wir nicht sehen können, oder wir können nicht wissen, dass wir nicht genug Mana haben, um es zu tun. Also, was wir tun werden, werden wir diese Gelegenheit nutzen, um eine Benachrichtigung gebunden zu erstellen. Also, wie sollen wir das machen? Ich werde die Leinwand öffnen. Ich gehe in die Speisekarte. Ich werde den Angriffsknopf finden. Und bevor ich fortfahre, muss
ich die Kampfszene ausschalten. Ich werde den Angriffsknopf benutzen. Ich werde es duplizieren. Und ich werde das aus dem Kampf Canvas entfernen, oder weißt du was? Lasst es uns im Kampf Canvas behalten. Wir legen es einfach über die Speisekarte. Und das wird die Kampfbenachrichtigung sein. Also, aber kein TV-Cation-Panel, Sie können es anrufen, wenn Sie wollen. Wir werden die Tastenkomponente entfernen, weil wir sie nicht drücken. Und ich werde es hier reinlegen. Ich werde es ein bisschen größer machen. genau hier niedergelassen. Dies wird also für allgemeine Zwecke verwendet. Also werde ich den Text öffnen und ich werde
die Größe dieses Textes ändern , um yay big zu sein. Da gehen wir. Ich werde es in die Mitte setzen und ich werde sicherstellen , dass es ausgegrenzt ist und das Maximum so weit wie möglich erhöht. Und das Minimum, so klein ich denke, ich kann. Und dies wird die Kampfbenachrichtigungen sein und stellen sicher, dass Auto-Größen, weil Sie nie wissen welche Art von Benachrichtigung Sie wollen, um es hier zu setzen. Da es sich also um ein Allzweck- und Benachrichtigungsfeld handelt, werden
wir ein Skript verwenden, um es zu manipulieren. Also lasst uns mit der rechten Maustaste hier rein,
gehen, um C-scharfes Skript zu erstellen, und wir werden dies die Kampfbenachrichtigungen nennen. Geben Sie ein. Warten Sie, bis das kompiliert ist. Wir werden es der Staffelzertifizierung hinzufügen. Und wir werden das Drehbuch öffnen. Oh, großartig. Also, was machen wir hier drin? Zuallererst brauchen wir einen Verweis auf ein paar Dinge. Das erste, was wird sein, wie viel Zeit wird das auf dem Bildschirm bleiben? Es wird also ein Schwimmer, Zeit lebendig. Und dann wird der zweite Verweis offensichtlich auf den Text oder den Text Mesh Pro sein. Also müssen wir die AMP verwenden. Und das wird vom Typ sein. Danke, Mesh pero Gui. Der Textnachweis, der Textbenachrichtigungen ist, entfernt den Start und die Aktualisierung, da wir sie vorerst nicht benötigen. Und ich werde hier zwei Methoden erstellen. Der erste wird ein öffentlicher Void Set Text sein. Wir werden nur eine Reihe von Text aufnehmen. Ich meine, ich meine eine Steuer vom Typ String. Und dann werden wir den Text festlegen. Beachten Sie, dass der Text entspricht, der gesendet wurde. Dann erstellen wir eine andere Methode, um dieses Spielobjekt der Gefechtsbenachrichtigung zu aktivieren. Es ist also eine öffentliche Leere aktivieren. Und hier drin werden wir einfach das Spielobjekt bekommen und das Aktive auf wahr setzen. Okay, Nun das nächste, was wir tun möchten, ist, dass wir
diese Benachrichtigung deaktivieren oder setzen Sie sie auf false nach einer bestimmten Zeit. Wie machst du das? Ich kann dich fast hören, dass es Coroutinen benutzt, okay, also werden wir Coubertin benutzen. Aber Sie werden Coroutinen verwenden, weil Sie die Benachrichtigung verschwinden lassen, indem Sie eine Co-Routine
erstellen, die die Benachrichtigung verschwindet, nachdem die Zeit, um am Leben zu sein endet. Also pausieren Sie das Video jetzt und gehen Sie erstellen diese einfach verdeckt. Hey, willkommen zurück. Das war also keine allzu harte Herausforderung, glaube
ich, weil Sie bereits mit Koroutinen vertraut sind. Wir haben eine Tonne davon gemacht. Das wird also der Eigen Zähler sein, der,
nein, dieses Bier macht . Ist das, wie Sie schreiben verschwinden und dann werden wir zurückgeben. Das ist nicht, wie Sie schreiben Rückkehr neu. Und wir warten vier Sekunden, bis wir am Leben sind. Wie vorbei. Speichern Sie das. Und schließlich, nachdem wir auf diese Zeit gewartet haben,
gehen, um das Spiel Objekt zugreifen. Punktsatz aktiv. Auf Falsch. Wir werden das retten. Und nachdem wir aktiviert haben, starten
wir die Co-Routine, die die Nachricht macht. Ok, dieses Element kann nicht umbenannt werden. Vielleicht sollten wir Klammern hinzufügen. Und das sollte mit einem IEP Enter sein. Und ich bin mir nicht sicher, ob du weißt, wie ich das mache. Ich bin mir ziemlich sicher, dass wir das besprochen haben halten
Sie Kontrolle oder R gedrückt und Sie können jede Instanz dieser Welt ändern. Ich hoffe, ich habe das nicht ohne dein Wissen gemacht. immer, lassen Sie uns einen weitermachen, wo werden wir das nennen? Nun, offensichtlich in der Schlacht magische Knöpfe, nachdem wir diesen Knopf gedrückt haben und wir herausfinden, dass wir nicht genug Geld haben, um diesen Zauber zu benutzen. Sonst werden wir das Badezimmer benutzen, um Urlaub zu machen, aber es gibt ein kleines Problem hier drin. Und das ist eigentlich kein Problem,
eine Code-Hierarchie oder eine kalte Implementierung Denkweise, weil wir
diese Kampfbenachrichtigung in vielen Fällen in unseren Kämpfen verwenden werden , weil es nicht nur für die 0, wir haben nicht genug Geld. Oder vielleicht alles, was wir weggelaufen sind, oder du kannst nicht weglaufen oder du hast einen kritischen Schaden verursacht oder so. Also, weil wir es während unseres Kampfes verwenden werden, Es ist besser, einen Verweis darauf im Kampfmanager zu bekommen. Also werde ich all diese schließen. Und im Kampfmanager bekomme
ich einen Hinweis auf die Kampfbenachrichtigungen und
die Gefechtsbenachrichtigung. Und wir werden auf die Gefechtsbenachrichtigung
auf dem Kampfmanager zugreifen und dann die Methoden darauf verwenden. Also der Kampfmanager, Punktinstanz, Punktkampf, beachten Sie, dass dies öffentlich sein sollte. Offensichtlich. Sollte bemerkt haben, dass Vorhand, keine Sorgen, sagen öffentliche Variable. Also der Kampf Notiz Punkt SetText. Und diese Steuer wird sein, wir
haben nicht oder so
etwas. Und dann werden wir es aktivieren. So Kampfmanager Punkt-Instanz. Wir hätten eine einzelne Variable für diese drei Wörter erstellen sollen. Keine Sorge. Und auch hier drin wäre
das viel besser gewesen. Und schließlich, was machen wir hier drin? Wir stellen das magische Menü heraus. Also Kampfmanager, diese Instanz, das Menü Magie, magisches Menü, magische Auswahl Panel, die aktiv auf false gesetzt. Das war's. Und einige von Ihnen fragen sich vielleicht, warum wir eine Methode verwenden, um den Text zu setzen,
eine Methode, um ihn zu aktivieren. Warum nicht einfach den Text setzen und während aktiviert? Denn vielleicht müssen
Sie auf dem Weg den Text aus irgendeinem Grund separat einstellen und dann separat aktivieren. Sie können sie auf die gleiche Methode festlegen. Es ist okay, keine Sorgen darüber. Aber ich denke, es ist besser, sauberer und vielleicht wird später verwendet, um einfach den Text zu setzen oder einfach nur aus irgendwelchen Gründen zu aktivieren. Keine Sorge darüber. Lasst uns das retten. Geh zurück zu unserem Spiel hier. Muss zum Badezimmermanager gehen und ihm die Kampfbenachrichtigung geben. Oder bevor wir das tun, müssen
wir die Textmitteilung setzen. Und lassen Sie uns zwei Sekunden. Dann gehen wir zum Kampfmanager und geben ihm den Kampf der Knoten. Wir werden das alles retten. Wir gehen weiter und schalten die Kampfszene aus. Wir führen unser Spiel, starten die Schlacht. Und für offensichtlich sollten wir ausschalten die Kampfbenachrichtigung wird wieder laufen. Wir beginnen einen Kampf. Wir gehen zur Layer-Position,
Position eins, das Gramm, das aktuelle Mano wird auf 0 gesetzt. Wir werden das retten. Wir können im Spielmodus speichern, so dass wir Zugriff auf die Magie. Versuchen wir es mit dem Laser. Wir haben nicht genug Art und Weise und es schaltet sich so toll aus, das scheint zu funktionieren. Ich hoffe, Sie haben dieses Video genossen. Ich hoffe, du hast Spaß. Im nächsten Video werden
wir sehen, wie wir unsere Feinde töten werden weil sie derzeit irgendwie unsichtbar sind. Also sehe ich dich im nächsten Video.
111. Laufen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler in diesem Video, wenn wir unser Spiel laufen, wenn wir die Taste B drücken, hatten
wir den Run-Button, aber wir haben es nie benutzt. Wenn wir nun auf den Run-Button drücken, wie Sie sehen können, können wir weglaufen. Aber manchmal, wenn wir den Run-Button drücken, können
wir sehen, dass es kein Entkommen gibt, also können wir nicht von unseren Problemen weglaufen. Wir haben uns immer, oder manchmal, oder die meiste Zeit, um sie zu stellen. Vergeuden wir also keine Zeit mehr. Lasst uns unseren Problemen begegnen und loslegen. Okay, jetzt wollen wir unseren Spielern eine Chance geben, zu fliehen, weil wir
mit überwältigenden Feinden oder Feinden konfrontiert sind , die weit über unserer Kampfstufe liegen. Lassen Sie uns also voran gehen und eine Methode dafür erstellen. Wir gehen zum Kampfmanager. Und während der Kampfmanager, Button Manager, ich werde es hier reinlegen. Und wir werden hier eine Variable erstellen, ein serialisiertes Feld, das die Chance sein wird, wegzulaufen. Das ist also, wie viel Chance haben wir die Chance davonzulaufen? Und wir werden es auf 0,5 setzen. Dies sollte also von jedem Bad abhängen. Und dann werden wir bis zum Ende scrollen. Und hier drin werden wir eine öffentliche Leere schaffen, weglaufen. Und was werden wir hier drinnen machen? Nun, ich werde Ihnen eine Herausforderung ausstellen, denn können wir überhaupt entkommen? Dies ist die Frage, die Sie beantworten müssen. Erstellen Sie eine Methode Ausreißer, die ich bereits für Sie getan habe. In ihm müssen Sie nach einem zufälligen Wert suchen. Und wenn es größer als eine bestimmte Schwelle ist, lassen
wir die Spieler entkommen. Wenn nicht, zeigen Sie einen Hinweis, dass es kein Entkommen gibt. Genau wie wir es bei der Implementierung des kritischen Treffers getan
haben, müssen Sie dies in unserer Auslaufmethode implementieren. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Ok, willkommen zurück. Also das erste, was wir tun werden, ist einen zufälligen Punktwert zu bekommen. Und das gibt uns einen Wert zwischen 01 und wenn dieser Wert größer ist als
die Chance, wegzulaufen, weil die Chance auf Start-und Landebahn 0,5 ist, wenn ich mich richtig erinnere, ja. Wenn es also größer ist, bedeutet
das, dass wir eine 5050 Chance haben, weglaufen zu können, dann werden wir das ist Kampf aktiv auf falsch setzen. Und die Gefechtszene wird ebenfalls ausgeschaltet. Im aktiven Gefechtsymbol wird ausgeschaltet. Und sonst. Wenn wir nicht weglaufen können, dann ist die nächste Amtszeit fertig. Der Gefechtshinweis Punkt SetText wird sein, dass es kein Escape mit einem Ausrufezeichen gibt. Und schließlich wird der Gefechtsnachweis aktiviert. Wir werden das retten. Wir gehen zurück in unser Spiel. Wir gehen zu dem Knopf hier drin, der uns erlaubt, weglaufen zu können. Also das Menü, die Schaltfläche Ausführen, werden
wir hier eine On-Click-Methode hinzufügen. Also gehen wir hin. Wir werden die Kampfmanager hineinziehen. Das GameObject wird auf den Kampfmanager zugreifen und wir werden weglaufen. Also werden wir das retten. Wir werden unser Spiel laufen. Drücken Sie die Taste B, wird versuchen, zu laufen. Es gibt kein Entkommen. Versuchen wir es noch einmal. Da gehen wir. So konnten wir das zweite Mal entkommen. Wenn wir die Schlacht noch einmal versuchen, werden
Sie feststellen, dass wir hier ein leichtes Problem haben, dass der düstere Draco und Jimmy wieder geschaffen werden. Die ersten sind und werden zerstört. Das ist also ein großes No-Nein. Wir wollen nicht, dass das passiert. Das werden wir später in unseren Videos reparieren. Aber für jetzt, wie Sie sehen können, haben
wir die Fähigkeit, aus der Schlacht zu fliehen, was ein bisschen feige ist, aber wir sind in der Lage, das zu tun. Es ist eine Option. auch immer, ich sehe dich im nächsten Video.
112. So verwendest: Willkommen zurück, Meine Lieblings-Spiele-Entwickler und dieses Video, wenn wir das Spiel laufen, wenn wir ein paar Gegenstände abholen, wenn wir einen Kampf beginnen, wenn wir einige Gegenstände verwenden wollen, da gehen wir, können
wir sehen, dass die Elemente , die wir hier in unserem Inventar abgeholt haben, bereit für uns zu verwenden. Wenn wir klicken, können wir sehen, dass dies eine silberne Rüstung ist. Das ist ein schöner Ozean. Das ist eine goldene Axt, die wir nicht benutzen können, wir können nicht schließen, aber sie sind für uns da. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, also die letzte Schaltfläche, die wir verwenden möchten, ist die Schaltfläche „Elemente verwenden“. Also lassen Sie uns voran und implementieren dies in unserem Code. Wir werden zunächst entschuldigen, bevor wir dies in unserem Code implementieren, werden
wir das Menü dafür erstellen. Also, was wir tun werden, ist, gehen wir in die Leinwand und auf die Elemente Menü und zu widerstehen, wo besuchen Sie die Elemente Panel. Und wir werden dieses Panel einfach duplizieren. Wir ziehen es den ganzen Weg in die Schlacht Canvas hier drin. Okay, also werden wir das einschalten und dann werden wir hier ein paar Änderungen vornehmen. Das erste, was ist, dass wir nicht so groß haben, weil ich das Gefühl habe, als würden wir hier klicken. Und wir werden sehen, wir nennen dies die Verwendung Items Panel. Und wir werden ein paar Dinge hier drinnen ändern. Wir werden das nach oben bringen. Und einige der Dinge hier drin müssen repariert werden. Also werde ich das eins nach dem anderen machen und vielleicht sehe ich dich, nachdem ich alles neu organisiert habe. Oh, Kay, willkommen zurück. Also, was habe ich hier gemacht? Zuallererst habe ich das Layout der Elemente davon geändert. Ich habe das Element hier geändert, die Elementschaltfläche. Also werde ich all das löschen, ist, dass wir nur damit ich das Raster richtig auslegen kann. Ich habe diesen Gegenstand 0,7 auf der Skala genau hier auf der Rekt-Transformation gemacht. Und ich werde das vorstellen. Also gehe ich in die Prefabs. Und wo sollen wir das retten? Wo haben wir den vorherigen gespeichert? Lass es uns einfach innerhalb des Kampfes retten. Vielleicht. Lassen Sie uns dies von Kampfcharakteren zwei ändern, oder speichern Sie es und Gegenstände vielleicht. Ich weiß es nicht. Innerhalb der Kampffiguren werde
ich dies in die Kampf-Präfabs umbenennen. Kämpfen Sie Prefabs. Und ich werde diesen Gegenstand hier drin benutzen. Ich werde ein originelles Prefab erstellen. Und es wird die Schlacht
Items Button genannt werden, weil wir jedes Mal instanziieren werden. Und das wird das aber Items sein. Knopf Drücken Sie, geben Sie ein. Da gehen wir. Das retten wir. Was habe ich sonst noch getan? Ich habe das Zeichenwahlfeld ein wenig geändert, also habe ich dafür gesorgt, dass alles in diesem kleineren Menü ausgerichtet ist. Ich werde das ausschalten. Wir behalten alles gleich. Aber vielleicht sollten wir später den onclick entfernen. Und hier, weißt du was, lasst uns sie vorerst entfernen. Einzigartige Werte, verschiedene Objekte, verloren. Keine Sorge darüber. Lassen Sie uns dies einfach beim Klicken entfernen, weil diese verschiedene Methoden verwenden
werden, bin ich mir sicher. Und was haben wir noch getan? Lassen Sie mich das ausschalten. An der Items Display Panel, Ich habe ein bisschen kleiner gemacht, nur so dass es in
diesem Ort oder den Ort passen kann , dass es hat. Der US-Button. Ich habe auch den onclick entfernt. Es ist immer noch das Gleiche. Ich habe gerade die Größe geändert. Ich habe die Verwerfen-Schaltfläche in die Schließen-Schaltfläche geändert, denn jetzt werden wir dies verwenden, um das Menü zu schließen. Wenn wir die Artikel nicht mehr verwenden wollen, hätten
wir die Artikel hier drin verwenden können, aber keine Sorge darüber. Die Elemente Name und Wert und die Beschreibung, alle von ihnen sind auf 0,8 auf der Skala festgelegt und nur anders positioniert. Und ich glaube, das ist alles, was ich dachte. Also gehen wir hin. Ich glaube, das ist alles, was ich geändert habe. Und diese Verwendung Elemente Panel für die Kämpfe. Gehen wir zurück und fangen wir an zu codieren. Das erste, was wir tun werden, ist im Kampfmanager, wir gehen nach oben und wir werden einen Verweis auf all die neuen Dinge, die wir geschaffen haben,
bekommen. Zunächst einmal werden wir ein öffentliches Spielobjekt erstellen, das
die Elemente sein wird, um das Menü zu verwenden,
ich denke, wir können es nennen oder Panel, nennen Sie es, was Sie wollen. Dann werden wir ein serialisiertes Feld erstellen, das vom Typ Items Manager sein wird. Und es wird das ausgewählte Element sein. Es ist also fast dasselbe,
als wir das Inventar und die Gegenstände auf der normalen Leinwand erstellt haben. Sie werden sehen, dass wir sogar die gleiche Methode verwenden. Die zweite oder dritte Referenz ist also der Item-Slot-Container. Und hier werden wir alle Elemente einstellen. Wir werden alle Gegenstände setzen. Ich meine, das ist die Schaltfläche „Items“, die wir instanziieren werden. Dieser, der eine Transformation sein
wird, wird das Element Slot Container Elternteil sein. Und schließlich werden wir die Elemente Namen und Beschreibung erhalten. Also das serialisierte Feld, das viel pro und con besteuert werden wird, um das Element, Name, Element, Korruption zu
sein. Da gehen wir. Das nächste, was wir tun müssen, ist, müssen wir ein Update Artikel im Inventar erstellen. Wir werden also Artikel im Inventar aktualisieren. Ich hätte zuerst
sicherstellen sollen, dass „öffentliche Leere“. Und dann gehen wir einfach in unseren Canvas-Manager. Wie war der Name? Sieh mal, wie viele Skripte wir haben. Also werde ich in den Menü-Manager gehen oder ist es, ähm, okay, also lassen Sie uns von unserem Warten auf das Skript gehen, um den Canvas-Menü-Manager zu kombinieren. Auch hieß es Menu Manager. Also hier drin, irgendwo haben wir die Update-Elemente, also werden wir das nur kopieren, weil ich es kopiert habe, wird es mit dem Namen kopieren oder kopieren. Wir gehen in unseren Kampfmanager und fügen ihn hier ein. Also der Artikel Slot-Container. Kopieren. Da gehen wir. Speichern Sie das, weil dies genau die gleiche Methode ist, die wir tun. Wir zerstören alle Gegenstände, die zuvor gehalten oder erschienen sind. Dann gehen wir durch jeden einzelnen von ihnen. Wir, was machen wir mit instanziate? Wir legen das Bild fest, wir legen die Steuer, den Betrag und den letzten fest,
der das Element auf der Unterseite ist. Ok, großartig. Das nächste, was wir tun möchten, ist, dass wir das ausgewählte Element dafür verwenden möchten. Wir müssen voran gehen und Ihnen eine Herausforderung stellen. Ihre Herausforderung besteht also darin, den Artikel auszuwählen, den Sie benötigen. Sie müssen also eine Methode namens ausgewähltes Element erstellen, die mit einem Argument oder Parameter des Elements verwendet werden soll, das wir verwenden möchten. Dann muss Energie das ausgewählte Element einstellen und den Namen und die Beschreibung ausdrucken. Damit pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also hier in gehen wir voran und erstellen eine öffentliche Leere ausgewählte Element zu verwenden. Und es wird N und Items Manager Element zu verwenden. Und hier werden wir das ausgewählte Element als Element festlegen, um OKR zu verwenden. Also dafür, weil wir Elemente nicht Artikel geschrieben haben, dann ist der Elementname go dot txt wird
gleich sein , was auch immer das Element zu verwenden, oder wir können das ausgewählte Element verwenden. Also das Element, um Punkt-Elementnamen zu verwenden, dann wäre der Elementbeschreibungstext gleich dem Element. So verwenden Sie diese Artikelbeschreibung. Da gehen wir, speichern Sie das. Jetzt. Wir müssen die Druckmethode verwenden, die wir auf unseren Tasten haben. Also hier drinnen, lass mich es dir zeigen. Wir können das auf dem Prefab sehen, das wir erschaffen haben, das in der Schlacht ist. Hier können Sie sehen, dass wir den Kampf haben. Öffnen Sie also das Skript für die Schaltfläche. Also unten rechts hier haben wir das Items Button Skript und wir werden dies verwenden. Wir werden also auf die Schaltfläche „Elemente“ doppelklicken. Und hier, wenn Sie sich erinnern, haben
wir die Pressemethode, aber jetzt werden wir eine weitere Bedingung hinzufügen. Also zuerst benutzen wir die beiden. Wenn wir das Menü aktiv haben, als wenn wir das Shop-Menü aktiv haben. Nun, wenn wir den unteren aktiv haben, so werden wir zu überprüfen, ob auf der Kampf-Manager Punkt Instanz, Punkt, Menüpunkt oder die Elemente zu verwenden Menü, Punkt ist aktiv in der Hierarchie. Dann in hier werden wir auf den Kampfmanager Punkt-Instanz zugreifen, Punkt ausgewähltes Element zu verwenden. Und wir werden es als Element auf der Schaltfläche festlegen. Element auf Schaltfläche, speichern Sie das. Da gehen wir. Und jetzt, um das zu testen, werde
ich wieder in Unity gehen. Ich werde das Prefab verlassen oder das Element auf den Tasten sollte eingestellt werden. Und hier haben wir das alles schon erschaffen. Ich gehe zurück. Ich gehe weiter und füge ein paar Gegenstände auf dem Boden hinzu. Ich wollte auch etwas hier drinnen tun. Oh, gedreht von dem, was sollten wir abschalten? Das Items Panel? Ja, ja. Da gehen wir. Wir müssen sicherstellen, dass das abgeschaltet ist. Und wir müssen ein paar Dinge hier drinnen setzen. Ja, das ist es, was wir tun müssen. Also öffnen wir das US-Panel. Also zuerst, wir brauchen die Elemente, um Spielobjekt zu verwenden. Da gehen wir. Das ausgewählte Element, das eigenständig gesetzt wird. Das hätte privat sein können, aber wir verwenden es an verschiedenen Orten. Also das Element Slot Container, und dies wird die Prefabs auf hier klicken. Geh zu den Prefabs, geh zur Seeschlacht. Und dies wird der Artikel Slot-Container sein. Wir werden die Elemente Anzeigebereich haben, die hier sein sollte, der Container übergeordnete. Wir haben den Namen des Artikels. Also, wenn wir die Artikelbeschreibung öffnen, Dies sollte wahrscheinlich einen besseren Namen haben, der Wert. Und der Wert. Und ich glaube, das war's. Wir werden das alles retten. Wir werden die Kampfszene schließen. Die Kampfszene. Speichern Sie das. Öffne das auf. Und bevor wir vergessen, zoomen
wir einfach auf den Spieler bei ein paar Gegenständen hier drin. Also, wenn wir zu den Prefabs gehen, die Gegenstände, lassen Sie uns das x, die Portion,
zwei Portionen, die Rüstung und das Silber hinzufügen . Also werden wir unser Spiel laufen. Wir werden voran gehen und die Gegenstände abholen. Da gehen wir, wir haben alle Gegenstände abgeholt. Jetzt werden wir den Kampf beginnen. Wir werden die Elemente Menü öffnen und es funktioniert nicht. Warum ist das so? Denn offensichtlich haben wir die Schaltfläche „Elemente“ nicht eingestellt, um etwas zu tun. Das sind also sehr entscheidende Schritte, die ich immer wieder vergesse. im US-Artikel Was machen wirim US-Artikelhier drin? Wir müssen hier eine Methode aufrufen, aber diese Methode, die die Update-Elemente ist, sollte auch das Menü „Elemente“ öffnen. Also werden wir hier die Elemente eingeben, um manuelle Punktsatz zu verwenden, aktiv auf true. Wir werden das retten. Und wir werden wahrscheinlich wieder hier reingehen und ein paar Dinge ändern müssen. Also für jetzt lasst uns einfach den Kampfmanager hinzufügen. Die Gefechtsmanager sollten die Gegenstände im Inventar aktualisieren. werden wir retten. Jetzt, wenn wir das Spiel laufen, holen
wir diese Gegenstände ab und beginnen den Kampf. Und wie Sie sehen können, weil wir spazieren gegangen sind, machen wir weiter. immer, wir werden die Gegenstände treffen und da gehen wir. Wenn wir auf die Artikel klicken, können
wir die Beschreibung und ihren Namen unten sehen. Jetzt können wir nicht schließen, wir können nicht verwenden, wir werden diese all diese Dinge später tun, wenn wir gehen. Wenn Sie möchten, können Sie dieses Menü schließen, aber nicht nur das im nächsten Video, wir werden auch in der Lage sein, zu wählen, für welchen Player wir dieses Element verwenden möchten. Also sehe ich dich dann.
113. Spieler verwenden zu verwenden: Willkommen zurück, meine Spiele-Entwickler. In diesem Video wissen wir tatsächlich, was auf wem wir den Gegenstand verwenden werden. Also holen wir die Gegenstände, wir gehen in die Schlacht. Und mal sehen, wir wählen das düstere. Wir haben das schon auf dem Gramm für den HP versucht, der auf das Mono trifft, also setzen wir ihn auf 20, 10, 0. Wir müssen das aktuelle Modell entfernen, also setzen wir es auf 20. Das werden wir nicht retten. Gehen Sie zu den Elementen ausgewählt Monopole Ozean, wem sollten wir es verwenden? Wir benutzen es auf dem Gramm. Halten Sie also Ausschau nach aktuellem Mana und hier und seinen Spielerwerten. Also benutzen wir das Gramm. Da gehen wir. Wir erhöhen die Nachfrage um ein bisschen. Aber wie Sie sehen können, aktualisieren wir jedes Mal, wenn
wir einen Gegenstand verwenden, die Spielerstatistiken. Also, da gehst du. Wir haben das aktualisiert und wir können das Menü
schließen und den Kampf fortsetzen. Also verschwenden wir keine Zeit mehr. Und lasst uns anfangen. Okay, jetzt ist es an der Zeit zu beginnen, zu wählen, auf welchem Spieler wir die Gegenstände verwenden möchten. Das erste, was ist, dass wir einen Verweis auf
das Charakterwahlfeld bekommen wollen oder wie haben wir es hier genannt? Der Kampfmanager aber Canvas, Charakter-Aufgaben, Panel, Yep, es ist Charakter-Wahl-Panel. Und dann bekomme einen Hinweis auf die drei Namen, die wir hier drin haben, und schalte sie ein und aus. Also lassen Sie uns unsere Skripte öffnen. Und hier im Kampfmanager, werde
ich nach oben gehen. Und ich werde zuerst einen Verweis
auf das Spielobjekt bekommen ,
das ist das des Panels. Also Spielobjekt, das Charakterwahlfeld. Und dann werde ich einen Verweis auf alle Texte bekommen, die es gibt. Und jetzt werde ich voran gehen und Ihnen eine Herausforderung ausstellen, nämlich das offene Charaktermenü zu erstellen. Es ist also dem im Menü-Manager verwendeten sehr ähnlich. Aber anstatt nur die Spielerstatistiken durchzulaufen, müssen
wir den Akt der Charaktere durchlaufen. Und wir müssen auch sicherstellen, dass diese aktiven Charaktere die Spieler sind, nicht die Feinde. Mit diesem gesagt, pausieren Sie das Video jetzt und gehen Sie die Herausforderung zu tun. Okay, willkommen zurück. Also werde ich den ganzen Weg nach unten scrollen und ich werde hier eine Methode erstellen, die die öffentliche Leere sein wird, das offene Charaktermenü oder das Charaktermenü oder was auch immer Sie wollen. Und dann werden wir überprüfen, ob wir ein ausgewähltes Element haben. Wenn wir dies tun, werden wir voran gehen und vor allem überprüfen 40 Zeichen Auswahl, Panel, Auswahl, Panel Punkt gesetzt aktiv auf true. So können wir jetzt anfangen zu wählen. Dann werden wir durch die V aktive Zeichen Punktanzahl Schleife. Und wir werden natürlich nur eine hinzufügen. Dann werden wir überprüfen, ob das ein Spieler ist oder nicht. Weil wir unseren Feinden nichts hinzufügen wollen. Also, wenn die aktiven Charaktere an Position, die ich dachte, ist ein Spieler, dann in hier gehen wir voran und Zugriff auf die Spielerstatistiken wurden zuerst eine Methode erstellen. Also Spielerstatistiken, aktiver Spieler. Und es wird gleich dem Spielobjekt oder dem Spielmanager sein. Ich meine Punktinstanz, Punkt-Spieler-Statistiken. An der Position I. Dann werden wir auf den Namen des Spielers zugreifen. Und die Position, auf die wir da oben verwiesen haben. Der Text ist gleich und dass ich Texte mache. Es ist Text Mesh Sonde. Also, da sehen Sie, Ich habe aus meinen Fehlern gelernt, nahm mich nur etwa drei oder vier Mal so viel wie der Akt der Spieler Punkt-Spieler Namen. Und dann werden wir es entweder ein- und ausschalten. Also erstellen wir einen Booleschen Wert. Wir nennen es also den aktiven Spieler in der Hierarchie. Und ich wollte, dass dies nicht einen langen Namen eingeben muss. Und anscheinend habe ich wieder einen langen Namen eingetippt. So Spielobjekt Punkt aktiv und Hierarchie. Und hier drinnen werden wir auf die Spieler zugreifen. Namen an der Position I Punkt Transformation, Punkt Eltern, Spiel Objekt Punkt gesetzt aktiv. Und es wird aktiv sein, basierend darauf, ob der aktive Spieler und die Hierarchie, wir werden das speichern. Und schließlich, wenn wir keinen ausgewählten Artikel haben, können
wir eine Benachrichtigung senden. Wenn du willst. Wir können das Benachrichtigungsfeld verwenden. Aber für den Moment drucken wir einfach keine Artikel für den ausgewählten Artikel aus. Speichern Sie das. Das nächste, was wir tun müssen, ist, dass wir diesen Artikel verwenden müssen. Dafür müssen wir in der Lage sein, die
Eigenschaften des Charakters oder des Anti-Kampfcharakters des Spielers zu ändern . Also werden wir die Kampffiguren finden. Wir nennen sie, aber da gehen wir, Kampffiguren. Und hier werden wir ein paar andere Methoden als den Nacktschaden schaffen. Wir erlauben ihm oder ihr, oder wer auch immer es ist, den Gegenstand im Kampf zu benutzen. Und es wird ein sein,
Es wird einen Parameter verwenden, der das Element ist, um die Elemente Manager zu verwenden. Dann werden wir überprüfen, ob das Element zu verwenden Punkt Element ist. Oder wir können überprüfen, ob das der Fall ist. Wenn wir zurück zu den Elementen hier,
im Items Manager, Items Manager hier oben, müssen
wir nach der 0 suchen, okay, also der Elementtyp. Also gehen wir zurück in unsere Kampffiguren Gegenstand zu verwenden Punkt-Item Pipe ist gleich
dem Item-Manager Punkt-Element-Typ Punkt-Element. Da gehen wir. Also, wenn dieses Element als Element und wenn das Element Punkteffekt-Typ zu verwenden ist gleich dem Element-Manager. Das ist also ein bisschen ein Ärger, nicht der Punkt Punkteffekt Typ dot HB. Dann werden wir HP hinzufügen. Offensichtlich haben wir nicht die Methode, jede Perle hinzuzufügen, aber wir werden sie hier unten erstellen. Dann, wenn wir nur diese Zeile kopieren,
lange, lange Linie Punkteeffektmodell. Wir hätten das andere einfach benutzen können, aber das ist nicht weg von uns selbst. Fügen Sie also Mono hinzu, und wir werden diese Methode hier erstellen. Lassen Sie uns also voran gehen und beide erstellen, beide. Und wir hätten es einfach erzeugen können. Und was das bedeutet, senden Sie dies an den Punkt zwei U Punkt Effekt, Menge der Wirkung und Element, um Punkt Menge der Tatsache zu verwenden. Lassen Sie uns voran und generieren Sie zuerst das Mono. Und hier drin werden wir einfach das aktuelle Mano plus gleich der Menge der Tatsache bekommen. Und in hier werden wir auch mit der rechten Maustaste auf Aktionen und Refactoring generieren Methode, die 0 aktuelle HB plus gleich Höhe der Wirkung. Speichern Sie das. Jetzt zurück im Kampfmanager, was sollen wir hier tun? Die letzte Sache ist, wenn wir tatsächlich einen Spieler auswählen. Also, was wird eine öffentliche Leere sein? Schaltfläche „Element verwenden“. Das ist, wenn wir tatsächlich auf den Spieler klicken, oder wir hätten dies den US-Charakter nennen oder den Spieler wählen können. Lass es uns einfach dabei behalten. So ent ausgewählter Spieler. Und ich glaube nicht, dass das ein guter Name ist. Ich fülle mich nicht. Meine Intuition sagt mir, dass dies kein guter Name ist. Wie auch immer, der aktive Charakter auf dem ausgewählten Spielerpunkt verwendet Element n, Kampf um den ausgewählten Gegenstand. Da gehen wir. Und dann gehen wir in die Inventar-Dollar-Instanz und wir werden diesen Artikel entfernen, der das ausgewählte Element ist. Wir werden die Spielerstatistiken aktualisieren. Denn offensichtlich haben wir vielleicht ein bisschen Mana hinzugefügt, sagen wir mal. Also werden wir die Spielerstatistiken aktualisieren. Wo sind die Statistiken des Update-Players? Spielerstatistiken aktualisieren. Und dann schließen wir das Charaktermenü. Also lassen Sie uns diese Methode hier erstellen. Also öffentliche Leere, ich weiß, dass dies eine Menge von Methoden sind, die wir erstellt haben, aber sie sind sehr einfach, weil wir dies
bereits früher an anderen Orten getan haben oder wenn wir einen Gegenstand wählen oder einen Gegenstand während des Gameplays verwenden wollten. Diese sind also alle sehr, sehr ähnlich. Deshalb gehe ich nicht zu sehr ins Detail. Ich glaube nicht, dass es zu viel zu sagen gibt, dass wir geschaffen haben, um Artikel zu verwenden. Es überprüft nur, ob es ein Gegenstand ist oder nicht, und so weiter. Also dann in hier werden wir auf das Zeichenwahlfeld zugreifen, Punkt aktiv gesetzt. Das wird falsch sein. Und schließlich das Items Menü. Oder vielleicht sollten wir die verwendeten Elemente nicht nur für den Moment schließen, oder wir können es schließen. Ich denke, es ist besser, wenn es schließt. Also die Elemente manuell zu verwenden, die aktiv false gesetzt. Also hier drin werden wir die Charakterwahl schließen. Und schließlich werden wir das Menü wieder öffnen. Warum machen wir das? Ich werde ihnen sagen, dass es einfach aufklebt, wo ist es? Okay. Also ist es Aktualisierungsartikel im Inventar , weil dies ist, was uns den Artikel gibt, speichern Sie das. Warum machen wir das? Wir wollen nur sicherstellen, dass wir diesen Artikel nicht verwenden können. Warum schließen wir es hier rein und öffnen es dann? Nun, weil wir es noch einmal aktualisieren wollen. Also werden wir all das retten. Wir werden wieder in Unity gehen. Es gibt eine Menge Dinge, die wir hier hinzufügen müssen. Ich hoffe, du vergisst nichts. Warten Sie, bis dies kompiliert wird. So scrollen Kampf-Manager die Charakter-Auswahl-Panel nach unten. Da gehen wir, die Namen der Spieler. Gehen Sie zur Anmeldung, wählen Sie die Spielerauswahl, fügen Sie sie hier hinzu. Wir können nicht, weil es eine Art von Text Mesh pro ist. Da gehen wir. Wir haben hinzugefügt, dass gespeichert wurden, dass wir auf die Schaltflächen klicken müssen hier. Und jeder von ihnen sollte eine Art von OnClick-Eintrag haben und welche das ist. Lassen Sie uns zunächst die US-Taste und die Schließen-Schaltfläche behandeln. Was macht der US-Button? Wir fügen hier den Kampfmanager hinzu, durchsuchen den Kampfmanager und müssen die Charaktere öffnen. Öffnen Sie also das Zeichenmenü, die Schließen-Schaltfläche. Wenn wir nach unten ziehen, schließen wir. Wo ist sie? Geschlossene, geschlossene Pools, geschlossene Charakterwahl. Ich sehe etwas in Ordnung, offen. Also schließen wir die Charakterauswahl, die das Zeichenauswahlfeld und die Elemente schließt. Sie hätten diesen Datensatz der Änderung des Namens vermeiden können, aber keine Sorge darüber. Wir benutzen es an zwei Orten für zwei verschiedene Zwecke, nichts zu schaden. Und schließlich müssen wir,
wir haben den US-Button hinzugefügt. Wir müssen sicherstellen, dass der Spieler-Auswahlknopf etwas tut. Also hier drin werden wir den Kampfmanager hinzufügen. Wir gehen zum Kampfmanager und benutzen den Gegenstands-Knopf. Das meinte ich also. Anzeigeplayer wird 0 sein. Diese beiden haben auch den gleichen Kampfmanager. Mit dem Battle Manager verwenden Button Element und es wird der Spieler eins und Spieler 2 sein. Wir werden all das retten. Wir werden unser Spiel laufen und hoffentlich haben wir nichts vergessen. Also lassen Sie uns ein paar Gegenstände abholen und wissen Sie was, lassen Sie mich einfach einen weiteren Teil hier für das Mono hinzufügen, damit wir wissen, dass es funktioniert. Prefabs. Wo sind die Artikel? Fügen wir hier einen Teil hinzu. Mal sehen, ob das. Lass uns das Spiel laufen. Lasst uns weitermachen und die Gegenstände abholen. Hatte der Imker mal sehen,
mal sehen, ob wir das erledigen können. Gehen Sie zu dem Gramm, das ist entfernen in der Lage der aktuellen HP und vielleicht setzen Sie es auf 50. Da gehen wir. Drücken Sie Enter. Nun, wenn wir zu den Artikeln gehen, gehen
wir, um den HP Teil zu verwenden, wir hatten den US-Schlüssel. Wir können wählen, ob wir wollen, dass der düstere Draco oder Jimmy es haben. Also werden wir sie dem Gramm geben. Und da gehen wir. Wir haben 50 HP hinzugefügt. Dies wird Ihnen HP geben. Da gehen wir. Wir können es hier sehen und wir können sehen, es aktualisiert und die Spielerstatistiken. Wie cool ist das? Wir haben übrigens nicht die Fähigkeit hinzugefügt,
die Rüstung zu verwenden , um sie während des Kampfes Drake oder Jimmy hinzuzufügen. Ich bin mir nicht sicher, wie sich das auf unser Gameplay auswirkt. Oder eigentlich bin ich mir nicht sicher, ob foo während des Kampfes ein hinzufügen sollte, aber es ist ziemlich einfach. Wir können in den Kampffiguren voran gehen. Hier, Ich werde Ihnen diese Herausforderung außerhalb des Bereichs unseres Gameplays geben, Sie können es hier hinzufügen. Wenn es also kein typisches Element ist, das entweder HP oder Mono betrifft, können
Sie überprüfen, ob es sich um eine Rüstung handelt oder ob es sich um ein Schwert handelt, und dann können Sie es den Junggesellen hinzufügen. Und hier, obwohl wir die Waffenkraft geändert haben, musst
du den Gegenstand nicht wirklich zu diesem Charakter hinzufügen. Wechseln Sie einfach die Waffenkraft und die Waffenverteidigung. Aber damit hoffe ich, Sie genießen es. Ich hoffe, Sie lösen die Komplexität, von der wir Elemente auf unseren Charakteren verwenden mussten. Es hat wirklich Spaß gemacht. Es war wirklich komplizierter Code, was sehr nett ist. Wenn Sie sich nicht sicher sind, wie das alles funktioniert, folgen Sie
einfach dem Code, gehen Sie den Code erneut durch, ein oder zwei Mal, stellen Sie sicher, dass Sie verstehen, wie jeder von ihnen betroffen ist, wie sich alles ändert, und ich hoffe, Sie genießen es und wir sehen uns im nächsten.
114. Teil 17: Umgang mit Toten Spieler: Willkommen zurück, meine Spiele-Entwickler. Schließlich, in diesem Video, können
wir unsere Spieler töten. Ja, ja. Also, jetzt fangen wir an. Lasst uns ein bisschen angreifen. Warten wir, bis einer von ihnen stirbt. Also stirbt Jacob. Wie Sie sehen können, haben wir Partikeleffekte und Draco Küstenschlaf, Das ist strategisch, ein weiteres Gramm. Also, wenn der grimmige stirbt, bekommt
er auch diesen cool aussehenden Partikeleffekt. Nun, es ist nicht so kalt, aber er kniet und stirbt auch, und Jimmy stirbt auch. Aber leider werden wir ihn nicht sehen können, weil er, na ja, er stirbt an dem Angriff eines der Feinde und wir haben die Schlacht gestoppt. Aber wie Sie gesehen haben, funktioniert
alles gut. Vergeuden wir also keine Zeit mehr. Und lasst uns anfangen. Oh, im Moment sterben
unsere Spieler nicht, aber sie haben keine TP mehr. Sie haben keine Wendung mehr, aber sie sterben nicht. Und wir haben tatsächlich einen Platz, um die Spieler zu bewältigen, die sterben. Hier ist es, wenn der aktive Charakter eine HP hat, die gleich 0 ist. Also lassen Sie uns voran gehen und das umsetzen. Wie sollen wir das machen? Nun, es wird zwei Dinge geben, die wir
nach dem Tod eines unserer Charaktere tun müssen . Erstens, wir werden ein Teilchen erscheinen lassen, also eine Art Rauch als ein gesprengter. Und der zweite ist, dass wir diesen Stolz ändern werden, wenn das passiert. Also, wenn wir es haben, oder wenn Ihr Charakter einen dieser Sprites hat, wo er tot ist, wie zum Beispiel das Skelett. Und hier, wenn wir das öffnen, können
wir sehen, dass er vielleicht einen der toten Sprites hat, zum Beispiel. Sagen wir, wir könnten das als totes Skelett übergeben. Aber für Jimmy, Es gibt kein, dass Sprite. Wo auch immer wir hinschauen, wir werden ein bisschen kreativ sein müssen, und ich zeige Ihnen, wie wir das machen werden. Aber zuerst,
lassen Sie uns voran gehen und ein Partikelsystem erstellen. Ich ermutige dich immer, deine eigenen zu erschaffen. Ich habe bereits eine vorbereitet, dass ich werde zu verwenden, das ist der Tod des Spielers beeinflussen könnte die Charaktere, die Wirkung genannt worden sein könnte. Es spielt keine Rolle. Du kannst es benennen, was immer du willst. Wir werden es auch auf die Charaktere verwenden. Also werde ich dies auf den Charakter ändern, der diese Tatsache beeinflusst. Und ich werde das hier herziehen und das Vermögen. Und wie ich schon sagte, und was sollen wir hier tun? Ich werde das importieren und wir werden einen anderen Ordner und die Prefabs haben. Also Prefabs, also werde ich das an einem anderen Ort setzen. Ich denke, das ist ein guter Ort, um es auszudrücken. Also werde ich den Charaktereffekt ziehen. Und an den Spieler. Was ist das für eine Schlacht Prefabs? Ich werde die Ordner-Fakten löschen. Wir brauchen sie nicht. Okay, jetzt haben wir die Auswirkungen. Als nächstes brauchen wir die Sprites und wie werden wir die Sprites machen
, für die wir verwenden werden? Und ich werde dasselbe für den dunklen Soldaten tun. Und das Skelett wird bereits sein eigenes Sprite haben, das einer von denen sein wird, die wir später verwenden werden. Aber jedenfalls, jetzt wissen Sie, wie Sie diese Sprites erstellen können, auch wenn Sie das nicht haben. Okay, die nächste Sache ist, dass wir einen Verweis darauf bekommen. Also werde ich in unseren Kampfcharakter gehen. Also kämpfe Charaktere. Und hier drinnen werde ich sicherstellen, dass es öffentlich ist. Und dann erstellen wir einen Sprite-Renderer. Hoppla. Ein Sprite-Renderer, da dies das Sprite sein wird. Und ein anderes öffentliches Teilchensystem, das die Todespartikel sein wird. Da gehen wir. Und jetzt müssen wir den Schreibtischpreis und das Partikel festlegen. Also werde ich wieder hier reingehen. Ich werde das retten, speichern Sie das hier in den Kampf-Prefabs Kampfspielern, Mal sehen, Jimmy hat jetzt einen Hinweis auf die Todespartikel. Ich werde ihn einsperren. Eigentlich werde ich alles aussuchen. Lassen Sie uns das Jimmy Bein für den Moment gesperrt. Und das sind die Todespartikel, glaube ich. Und ich füge es in die Todespartikel ein. Also Charaktertodeffekt und die Sprites, ich werde in den Spieler gehen, den Tod. Und ich werde das hier wählen. Und aus irgendeinem Grund erlaubt es mir nicht, es hinzuzufügen. Vielleicht sollten wir das einfach zu einem Sprite machen. Da gehen wir Sprite. Und jetzt sollte das gut funktionieren, wo Jimmy Prefab hingeht. Aus irgendeinem Grund funktionierte das nicht, aber jedenfalls, keine Sorge, wir gehen zurück. Wir benutzen das Sprite, wir retten das alles. Und jetzt haben wir das Sprite und die tauben Partikel auf Jimmy, und das war's. Also gehen wir zurück zu den Prefabs des Spielers. Ich werde Draco und den Grimmigen wählen. Ich werde in die Kampfteilchen gehen und ich werde die Teilchen
zu ihnen hinzufügen, und das wird gebracht sollte auch erstellt werden. Aber vorerst werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung ist es, diese Produkte zu ändern. Also zuerst, müssen Sie eine Methode töten Spieler erstellen. Dann müssen Sie es einchecken. Wenn ein Schulden-Sprite verfügbar ist, müssen
Sie auf
die Sprite-Renderer-Komponente auf dem Spieler zugreifen und zum Schulden-Stolz wechseln, müssen
Sie die tauben Partikel instanziieren. Und schließlich müssen Sie es ändern. Ist das wahr? Sie müssen also die Zeichen ändern, die Variable ist , um sicherzustellen, dass er das wahr ist. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also werden wir hier nach unten scrollen und wir werden einen Public-Leere Kill Spieler
erschaffen. Und hier drin werden wir überprüfen, ob wir ein Sprite haben. Wenn wir dies tun, dann werden wir die Komponente,
den Sprite-Renderer, Sprite-Renderer, erhalten . Und wir werden das Sprite auf dem Sprite-Renderer bekommen. Und dann werden wir es auf die Schulden Sprite setzen. Dann instanziieren wir die tauben Partikel. Wir rufen sie an. Okay, das sind Partikel. Also die Partikel, wir werden sie auf der Transformationspunktposition instanziieren, so genau auf dem Charakter und die Rotation wird die gleiche sein. So transformieren Sie die Punktrotation. Wir werden das retten. Und schließlich werden wir sicherstellen, dass das ist, was wahr ist. Wir werden das retten. Und jetzt müssen wir das in der Update-Schlacht nennen. Also gehen wir zum Kampfmanager. Und hier statt einfach diesen Kommentar zu haben, werden
wir tatsächlich überprüfen, ob wir
den aktiven Charakter an der Position I als Spieler haben . Und der aktive Charakter war noch nicht tot. Das bedeutet, dass, wenn er das ist, dann ist dieser falsch, dann werden wir nicht auf die Methode zugreifen. Wir werden die Seetangschicht in der Kampffigur anrufen. Wie Sie sehen können, überprüfen wir, ob er tatsächlich ein Spieler ist und dass er das nicht schon ist. Wir wollten ihn umbringen. Also, wer war das getan? Wir werden das retten. Wir gehen zurück in die Unity. Und ich werde die Magie des
Editierens nutzen und Sprites erstellen, damit Draco und das läuft. Also sehe ich dich in nur ein bisschen. Okay, willkommen zurück. Also habe ich gesagt, das Skelett, das Sprite. Ich habe 14 Draco gesagt. Also und hier gehst du. So können Sie das Sprite sehen, was ich mit Jericho gemacht habe, wie ich mit dem Dämon oder Jimmy, ich drehte auch das Sprite und ich sorgte dafür, dass er tot ist. Also, jetzt sollte alles bereit sein. Also werden wir all das retten. Wir werden unser Spiel laufen. Und bevor wir das tun, müssen
wir sicherstellen, dass die Anzeige und hier auf dem Spiel war ein 1920 von 1080. Jetzt sind wir auf dem Spiel. Wir begannen die Schlacht. Wir werden einfach angreifen, angreifen, angreifen. Und wir werden warten, bis einer von ihnen stirbt. Angriff, Angriff, Angriff. Hoffentlich stirbt einer von ihnen. Okay, wie Sie sehen können, unser Charakter gerade gestorben, aber wir haben die Partikel nicht gesehen, weil ich denke, die Sortierschicht war schlecht. Lassen Sie uns das bei anderen Charakteren versuchen. Da gehst du. Also starb Draco auch. Und endlich haben wir auch Jimmy. Ich glaube, unsere Feinde sind auch gestorben. Also gehen wir hin. Wir haben Jimmy nicht mal sterben sehen. Das Letzte, was wir tun müssen, ist, dass wir hier in
die Prefabs gehen müssen , und Sie können alles überprüfen, was ich getan habe. Es ist nicht zu schwer. Und wir können sogar die Positionen hier auf alle 0 setzen. Speichern Sie das. Und wir können vielleicht sogar dieses Sprite
des Draco bewegen , wenn dir die Art und Weise, wie er dort eingerichtet hat, nicht gefällt, wo ist der Renderer? Die Ebenen, die Sortierebene wird auf den Kampffiguren sein. Auf der Ebene eins. Wir werden das retten. Lasst uns nun versuchen, einen unserer Spieler wieder zu töten. Sei okay, also ist einer von ihnen gestorben. Wieder. Da gehen wir. Das sind die Partikel, du löst sie einfach. Wir können sie etwas größer machen. Vielleicht erhöhen Sie die Skala auf zwei mal zwei. Und ich denke, sie vielleicht ein bisschen weiß machen. Dies könnte also unterscheiden, wann Angriffe und wenn man stirbt. Und das ist alles, das ist alles, was du tun musst. Ich hoffe, Sie haben dieses Video genossen. Ich hoffe, du tötest auch deinen Spieler. Und ich hoffe wirklich, dass Sie Ihre eigenen Sprites verwenden, Ihre eigenen Partikeleffekte, tief
eintauchen, weil Partikel oder Fakten wirklich Spaß machen, besonders wenn Sie wissen, was jede dieser Komponenten tun. So zum Beispiel die Kraft über die Lebensdauer, die ich auf dem y hinzugefügt habe. So bewegt es sich ein wenig nach oben, wie Sie sehen können, wenn einer von ihnen stirbt,
wann, wenn sie instanziiert werden. Also sehe ich dich in der nächsten.
115. Umgang mit Toden Feinden: Willkommen zurück, Meine Lieblings-Spiele-Entwickler in diesem Video, wenn wir das Spiel laufen, wir hatten den großen Schlüssel. Wir benutzen Magie, Blitze auf dem Kriegsherr, magische Tentakel auf dem Krieg Locke. Und wie Sie sehen können, verblasst er langsam, weil er gerade gestorben ist. Aber nicht nur, dass wir jetzt, wenn wir versuchen, mit Jimmy anzugreifen, verwenden
wir die violetten Tentakel. Wir haben nur die Möglichkeit, den Major-Meister anzugreifen, weil wir die Hexenmeister
nicht angreifen können, weil er tot ist. Also greifen wir den Magier an. Wir töten ihn mit einem Treffer. Wir sind gegangen und wir haben keinen Sieg, werden das später tun. Aber jetzt lasst uns mit dem Tod unserer Feinde umgehen. Ich sehe, dass Sie interessiert sind. Okay, jetzt haben wir unseren Spieler beim Sterben gehandhabt. Es ist Zeit, unsere Feinde Zeit zu bewältigen. Was werden wir mit unseren Feinden tun? Wir wollen etwas anderes haben als das, was wir für den Spieler tun. Also, was wir tun werden, ist, dass wir die Farbe unserer Feinde ändern. Lassen Sie mich Ihnen zeigen, was ich meine. Wenn ich
zum Beispiel Draco wähle , oder wählen wir Jimmy, den Spieler. Wenn ich zum Sprite-Renderer gehe und hier die Farben auswähle, kannst
du sehen, dass ich die Farben manipulieren kann, die ich habe. Wenn ich also hier reinklicke, kannst
du sehen, dass ich das Rot ändern kann, was sie sehr cool macht. Übrigens kann ich das Grün wechseln und das Blau wechseln, damit ich rumspielen kann. Zum Beispiel, wenn ich es den ganzen Weg rot mache, wird
er mehr rot. Und schließlich kann ich das Alpha auf ihn ändern. So werden wir diese drei Farben und die Alpha zu manipulieren, um langsam zu ändern, die Farbe unserer Feinde zu lesen und machen sie auch langsam verblassen. Wie sollen wir das machen? Wie bewegen wir uns in Richtung der roten Farbe und dem Ausbleichen? Nun, zum Glück haben wir eine sehr raffinierte Methode, die die Richtung ist, und Sie können hier in der Beschreibung sehen, dass es eine Position zwischen zwei Punkten
berechnet, aber wir können sie auch verwenden. Und das ist der Vektor 3. Wir können die aktuelle Position, das Ziel, das wir bewegen wollen, zu setzen. Und schließlich die maximale Entfernung Delta. Und es ist die Entfernung, um Strom pro Anruf zu bewegen. Das heißt, wir nennen es ein Update. Und während es sich bewegt, bewegen
wir uns langsam in Richtung dieser, wenn Sie wollen, ist die Geschwindigkeit, in der wir uns zu diesem Ziel bewegen. Lassen Sie mich also aufhören zu reden und lassen Sie uns mit der Umsetzung beginnen. Wir werden die Kampffiguren öffnen, während die Kampffiguren, Metallfiguren. Und die Art und Weise, wie wir dies umsetzen, ist ein Update. Also werden wir hier wieder ein Update erstellen. Und wir werden prüfen, ob wir kein Spieler sind. Und wir sind, dass dies bedeutet, dass wir unseren Feind ausblenden werden. Also werde ich ausbleichen Feind schreiben. Und ich werde diese Methode hier erstellen. Generieren Sie also die Methode. Was machen wir hier drin? Zunächst werden wir einen Verweis auf die Sprite-Renderer-Komponente erhalten. Also werden wir Komponente erhalten, den Sprite-Renderer. Dann werden wir auf die Farbe auf der Farbe zugreifen. Und dann werden wir es auf eine neue Farbe setzen. Wir werden die Klammern öffnen. Wir werden Enter drücken. Und hier drinnen gehen wir voran und greifen auf mathematische Punkt, bewegen wir uns in Richtung. Wie Sie sehen können, haben wir den Strom, das Ziel und das maximale Delta. Wir werden das öffnen. Und hier werden wir wieder auf das Sprite zugreifen, die Komponente dieses Stolzes. Also werde ich das kopieren. Ich werde es hier einfügen. Hoppla, ich werde es hier reinkleben. Und von der Farbe, Ich werde auch auf die r. zugreifen so wird dies sicherstellen, dass wir auf die rote Komponente auf der Farbe zugreifen. Wie Sie hier nachlesen können, wird
dies die aktuelle sein. So sind wir derzeit auf der Farbe oder die für unseren Spieler normal ist. Das Ziel wird V1 F sein. Warum setzen wir es auf eins f? Nun, weil wir hier gelöst haben, dass es, wenn
es rot ist, ganz rechts ist. Also zurück in unserem Code. Und dann werden wir eine Art Geschwindigkeit haben, in der sich die Farbe bewegt. Testen wir 0,3 F und wir werden es mit Zeitpunkt-Delta-Zeit multiplizieren. Und wenn Sie sich nicht erinnern, was time.Deltatime es tatsächlich tut, da gehen Sie. Die Fertigstellungszeit in Sekunden seit dem letzten Frame. Also, weil wir es und das Update hinzufügen, bedeutet
das, dass es jeden einzelnen Frame genannt wird. Wenn Sie einen sehr starken PC haben, wird
die Bildrate höher sein, so dass das Fading schneller sein könnte und umgekehrt, wenn der PC schlecht ist, ist
die Bildrate niedrig. Das Bewegen dorthin, wo es langsamer arbeitet. Also, was wir tun werden, ist, dass wir Time.Deltatime verwenden. So ist es auf allen PCs gleich. Und das ist sehr wichtig, denn wenn Sie Ihr Spiel bauen und andere Spieler es verwenden, wird
nicht jeder einzelne PC gleich sein. So müssen Sie immer sicherstellen, dass, wenn Sie etwas bewegen, einen Player oder die Farbe oder irgendetwas innerhalb des Updates, um immer
sicher zu sein, Time.Deltatime zu verwenden oder feste Aktualisierung zu verwenden. Aber für jetzt werden wir time.Deltatime verwenden. Ich werde all diese Zeilen hier duplizieren. Wir werden von Rot zu Grün und Blau wechseln. Und schließlich das A, das ist das Alpha. Und wir haben derzeit das Ziel hier für die Ratte als eins, das Blau wird 0 sein. Ich meine, das Grün wird 0 sein, das Blau wird auch 0 sein und das Alpha wird 0 sein. Wir halten die Geschwindigkeiten gleich. Und Sie können sehen, dass wir das letzte Komma entfernen müssen. Da gehen wir. Wir sparen das, und wir sind gut zu gehen. Aber wir müssen auch noch eine Sache tun. Und das ist, dass wir tatsächlich die Komponente auf den Feind ausschalten wollen. Also werden wir überprüfen, ob die Komponente Punkte Sprite Punkt Farbe Punkt a gleich 0 ist. Und denken Sie daran, dass dies jeder einzelne Frame genannt wird. Also bewegen wir uns langsam in Richtung 0 und diese Komponente ist anders als 0, bis die Bewegung in Richtung hier endet. Also, wenn es 0 wird und hier wird es Spielobjekt Punkt aktiv gesetzt wird falsch sein. werden wir retten. Und schließlich werden wir hier eine Methode schaffen, um den Feind zu töten. Also öffentliche Leere, töten Feind. Und das wird das nur auf wahr setzen. Da gehen wir. Und ist das, wo ist es auch? Ist das das Publikum? Keine Sorge darüber. Wir setzen es mit einer Methode auf true. Es ist sauberer, immer Methoden zu verwenden. Also, jetzt zurück im Kampfmanager, wo überprüfen und aktualisieren wir die Schlacht? Wir werden also nach Update-Gefechten suchen. Also hier drin, überprüfen wir, ob es ein Spieler ist und wir in Schulden sind, dann rufen wir den Spieler an. Und wenn wir kein Spieler sind, habe
ich diese Zeile hier drin kopiert. Einer der Charaktere hat also eine HP von 0 und es ist kein Spieler und er ist noch nicht tot. Dann gehen wir zu den aktiven Charakteren Punkt I, und wir werden den Feind töten. Das heißt, wir bringen ihn zum Sterben. Also werden wir all das retten. Wir gehen zurück in unser Spiel jetzt gibt es immer noch ein kleines Problem hier drin, aber ich werde es beheben, wenn wir es sehen. Also werde ich das Spiel laufen. Ich werde den Kampf beginnen. Ich werde Magie verwenden, um anzugreifen oder Blitz zu benutzen, um anzugreifen. Wer sollten wir den Krieg töten Locke, ich denke, seine Gesundheit kleiner. Magie, blau. Hexenmeister. Lassen Sie mich das größer machen. Magie. Blitz, Krieg Locke. Und da gehen wir. Wie du gesehen hast, ist er verschwunden. Wie cool ist, dass eine Geschichte nicht mehr gespielt wird, also nur die großen Angriffe. Aber das Problem, über das ich gesprochen habe, ist, dass, wenn wir vorangehen, um anzugreifen, wie Sie sehen können, wir die Möglichkeit haben, die Wand anzugreifen OK, und klicken Sie auf ihn. Wir greifen wieder an, was sehr,
sehr schlecht ist , wenn wir versuchen, Magie zu verwenden, wir können auch die Hexenmeister beeinflussen, was wiederum sehr, sehr schlecht ist. Also müssen wir gehen und das reparieren. Wie sollen wir das machen? Nun, wir gehen dorthin, wo wir
das Charaktermenü öffnen oder wo wir das Zielmenü geöffnet haben. Und hier überprüfen wir, ob die Feindzahl größer ist als I. Und wenn der aktive Charakter auf dem Feind an Position r ist, Weil denken Sie daran, und hier werden wir durch die Feinde gehen. Wir haben hier die Feindliste erstellt, die eine Liste von ganzen Zahlen ist. So können wir nach den Feinden im Akt der Charaktere überprüfen. Also hier drin, Feinde an Position I, sollte
die aktuelle HP größer als 0 sein. Nun, wir werden das retten. Wir testen das noch einmal. Lassen Sie mich maximieren auf Spiel dieses Spiel ist besser, wenn es Vollbild ist, weil die Worte sind ein bisschen klein. Also laufen wir herum. Wir hatten die BP Magie, Blitz, Krieg Locke, magische Tentakeln Krieg Locke. Und da gehen wir, er stirbt. Also jetzt, wenn wir gehen, um magische Laser zu verwenden, können
wir immer noch den Krieg Locke sehen. Er greift nicht an, aber wir können immer noch das Weltglück sehen. Warum ist das? Und das liegt daran, dass, nachdem wir es hier drinnen wahr gemacht haben, es wahr bleibt, wie wir gehen. Also setzen wir es nicht wieder auf falsch. Wir schalten den Knopf nicht aus. Also, was wir tun werden, ist hier drin, dass wir ein anderes erschaffen werden. Wenn wir also kein aktives Zeichen haben oder die Zählung nicht größer ist, dann werden wir den Zielpunkt GameObject Punkt aktiv und wir werden es auf false setzen. Also speichern wir das, gehen zurück in unser Spiel. Wie Sie sehen können, ist die
Spielentwicklung ein Prozess des Aufbaus. Du verstehst nicht alles. erste Mal, wenn wir das Spiel laufen, hatten
wir dB Schlüssel, Magie, Blitz, Krieg gesperrt, Magie, Tentakeln, Hexenmeister, er stirbt, magische Laser. Wir sehen den Krieg nicht mehr. Wir greifen nur die Hauptseite an. Ich hoffe, Sie haben dieses Video genossen. Ich hoffe, Sie sind endlich zufrieden, dass wir unsere Feinde töten , sie
zerstören, unsere Spieler töten, sie zerstören. Und im nächsten Video werden wir den Kampf und den Sieg beenden. Also fügen wir zu dieser Zufriedenheit hinzu, die Sie bereits haben. Also sehe ich dich im nächsten.
116. Erfolg in der Schlacht: Willkommen zurück, Meine Lieblings-Spiele-Entwickler in diesem Video, wenn wir unser Spiel laufen, beginnen
wir einen Kampf. Wir machen etwas Magie auf die Hexenmeister, auf, Magie auf, okay, so toll, dass er gestorben ist. Etwas Magie auf dem Major Master. Wieder etwas Magie auf dem großen Meister. Versuchen wir, ihn anzurufen, damit er stirbt. Wir haben gewonnen. Wir gehen aus. Wir können sehen, dass wir, wenn wir den Kampf wieder beginnen, allem bemerken, dass wir alles vorher zerstören und wir auch das Mana hier drin bereits verwendet haben. Also retten wir alles. Wir beenden den Kampf richtig. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, also Zeit zu wann? Zeit für einen Sieg. Lasst uns weitermachen und den Kampf beenden. Also gehen wir zurück und hier werden wir nach unten scrollen und wir werden eine neue Methode schaffen, die ein I und Zähler oder eine Beschichtung sein wird . Es wird also ein öffentlicher Augenaufzähler sein. Und das wird die und Schlacht 14. Und hier drin werden wir ein paar Dinge tun. Also, was werden wir tun? Zunächst einmal sollte der Kampf, der aktiv ist, auf false gesetzt werden. Ist der Kampf also aktiv? Nein, ist es nicht. Es ist falsch. Dann müssen wir alles ausschalten, was noch da drin sein könnte. So zum Beispiel, der UI-Button Halter Punkt psychoaktiv auf false. Lassen Sie uns das duplizieren, das Zielmenü. Also Ziel, woher bekommt es 0 Ziel. Knöpfe, punktselektiv Es ist also kein Spielobjekt. Feindliches Zielfeld, falsch. Dann das magische Menü, das magische Auswahlfeld, die Kampfmotoren. Also, wenn wir irgendwelche Schlacht haben, beachten Sie, wir werden es setzen oder den Text in diesem Fall zu WIR eins setzen. Das wird also sein, wenn wir mit dem Sieg enden und wir werden die Schlacht aktivieren. Beachten Sie. Kampfhinweis Punkt aktiv, Aktivieren. Da gehen wir. Jetzt werden wir ein paar Sekunden zurückgeben. Also werden wir zurückgeben. Neu, warten Sie vier Sekunden. Und es wird drei Sekunden dauern. Ich schätze, es ist gut. Als nächstes möchten wir die Spielerstatistiken im Spielmanager aktualisieren. Also zum Beispiel, sagen wir, wir haben ein bisschen Gesundheit verschwendet, in der Lage, HP, ein bisschen Manna, und so weiter. Wir werden es ändern. Also werden wir hier eine für jede Schleife erstellen. Wir werden durch die Kampffiguren gehen, Spieler. Im Kampf, Wir werden diese Variable im Akt der Charaktere nennen. Dann werden wir überprüfen, ob der Spieler im Kampf als Spieler. Und dann werden wir nochmals die Spielerstatistiken und den Spielmanager durchschauen. Also für jeden Spieler Statistiken, Das ist der Typ. Und der Spieler mit Statistiken im Spiel-Manager, Punkt-Instanz, Punkt-Layer-Statistiken, so erhalten Spieler-Statistiken. Und dann werden wir hier die Namen vergleichen. Also, wenn der Spieler im Battle Dot Charaktername gleich dem Spieler mit Statistiken ist, wo ist der, wo ist der Spieler mit Statistiken? Mit Statistiken? Name des Punkt-Spielers. Ja, da gehen wir. Dann werden wir die Spieler-Statistiken oder den Spieler mit Statistiken mit Punktaktuellen HP setzen, um gleich dem Spieler und Statistiken im Gefecht zu sein. Okay, also da gehen wir, deklarieren im Kampf, diese Variablennamen sind sehr verwirrend. Ich hätte sie wahrscheinlich ändern sollen. Also, jetzt sagten wir die HP, wir können auch die Mannose so die aktuelle Art und Weise mit der aktuellen Art und Weise, die wir haben. Als nächstes brauchen wir, nachdem wir die für jeden hier drin fertig sind, gehen
wir weiter und schalten Sie die Kampfszene aus. Punkt der Kampfszene wird also auf false gesetzt. Und das ist fast alles, was wir tun müssen. Aber wir müssen auch sicherstellen, dass wir die restlichen Charaktere zerstören. So wie Sie sich erinnern, wenn wir den Kampf beenden, wenn wir zu einem, anderen Kampf gehen, was das gleiche ist, können wir sehen, dass die vorherigen Feinde
immer noch da sind und manchmal vielleicht sie angreifen können. Vielleicht werden sie in die Liste aufgenommen, so dass sie eine Wendung haben und es wirklich vermasselt unsere Schlachten. Also, was wir tun werden, ist, dass wir
diese Feinde von der Liste löschen , indem wir Ihnen eine Herausforderung stellen. Ihre Herausforderung besteht also darin, alle Feinde zu zerstören. Stellen Sie also sicher, dass Feinde zerstört werden, wenn der Kampf beendet ist. Und Sie können sicherstellen, dass Sie klar oder sicher zu löschen. Dies ist ein Hinweis, die Liste der Feinde zu vermeiden, dann kommen zurück und die nächste Schlacht. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also hier, vor allem, werden
wir auf die aktiven Charaktere zugreifen und wir werden alle von ihnen löschen. Da gehen wir. Also haben wir den ganzen Akt der Charaktere geklärt, aber das ist nicht genug. Wir müssen hier reingehen, und wir müssen alle Spieler im Kampf zerstören. Also zerstören wir alle Spieler im Kampf. Und schließlich, bevor wir fertig
sind, müssen wir den aktuellen Begriff auf 0 setzen. Und wir sollten auch zum Spielmanager gehen und sicherstellen, dass unser Spieler wieder laufen kann. Also wieder, Manager Punkt Instanz Punkt Kampf aktiv ist und es ist gleich falsch. Speichern Sie das. Und schließlich müssen wir diese Methode nennen. Und wann rufen wir es an? Während wir es an ein paar Orten nennen? Und vielleicht sollten die Textnotizen, die wir wollen, geändert werden. Vielleicht sollte es nicht so sein. Aber auf dem neuesten Stand. Anstatt zu drucken, haben wir gewonnen, werden wir eine Co-Routine starten. Und das Kernteam wird die Kampf-Co-Routine sein. Und auch, wenn wir weglaufen. Also, wo ist die Flucht? Schließen. Nächste Kurve, weglaufen. Lassen Sie mich den F-Tastenlauf drücken. Lasst uns den Lauf stellen. Okay, da gehen wir, der Ausreißer. Also hier drinnen gehen wir voran und starten die Coroutine. Und weil wir den Kampf zu falsch gesagt und wir schalten die Kampfszene aus, werden
wir einfach diese beiden entfernen. Und stattdessen werden wir eine Koroutine beginnen. Und es wird die Qualität des Kampfes am Ende sein. Da gehen wir. Das retten wir. Jetzt wieder in unserem Spiel. Wenn wir rennen, werden wir versuchen, alle unsere Feinde zu töten. Auf der B-Taste, Magie, Blitz, Krieg, Log Magie Tentakeln, Hexenmeister. Ist das Magie? Tentakeln, der Hauptmeister. Da gehen wir. Und für etwas, wenn nicht ganz richtig, lassen Sie uns abdrehen, mal sehen, ob sich eine unserer Statistiken geändert hat. Also haben wir mit dem Grimm angegriffen. Da gehen wir. Das aktuelle Mano wurde geändert. Wir haben mit Draco angegriffen, der aktuelle Mano hat sich geändert und der Spieler. Während tiefe Schicht, während der Spieler, okay, So ist er in der Tat nicht zerstören, hat Geld. Current Mano hat sich ebenfalls geändert. Aber aus irgendeinem Grund ist das Maximum 30, nur 30. Irgendwas Seltsames daran. Jedenfalls, lasst uns hier anhalten. Sie müssen sicherstellen, dass der aktuelle Monarch 1, 0, 0, 0 ist. Das ist ein großer Fehler, großer No-Nein. Wir werden das retten. Wir gehen vielleicht auch zum Player und wenden die Änderungen an. Okay, das Problem hier ist, dass wir keine Co-Routine hatten. Vielleicht sollten wir die Kampfszene nicht so ausschalten, dass sie vorzeitig ausgeschaltet ist. Okay, willkommen zurück, meine Mitentwickler, Spieleentwickler. Zunächst sollten wir sicherstellen, dass wir nicht nur den Spieler im Gefecht zerstören, da dies nur das Battle Character Script auf unsere Spieler und Feinde zerstört. Also müssen wir sicherstellen, dass Spieler im Kampfspiel Objekt zu zerstören schreiben. Dadurch wird das gesamte Spielobjekt zerstört. Zweitens müssen wir sicherstellen, dass ich hier bin. Ich habe das gesamte Debug-Protokoll für die Schäden auskommentiert, weil ich die Fehler benutzte. Und Indien, wir müssen sicherstellen, dass wir in Update Kampf. Als wir mit der Co-Routine beginnen, hatten
wir diese drei Zeilen hier drin, die alles auf falsch gesetzt haben, aber das tun wir bereits hier im letzten Kampf Co-Routine. Also gehen wir hin. Wir müssen sicherstellen, dass dies auf „false“ gesetzt wird. Eine andere Sache, die mir beim Weglaufen aufgefallen ist, bekommen
wir diese Botschaft, die wir wollen, und das wollen wir nicht haben, wenn wir weglaufen. Also hier drin werde ich diese beiden Zeilen entfernen. Oder weißt du was, vielleicht werden wir später auch überprüfen, ob die weglaufen ist. Wir haben eine, wir haben eine Variable hier drin für die läuft weg. Oh, das tun wir nicht. Vielleicht erstellen wir später eine Variable, die wegläuft. Wir haben es auf wahr gesetzt. Und hier. Und wenn es wahr ist, dann drucken wir nicht das aus, was wir wollen, und wir werden auch verschiedene Dinge hier drinnen machen. Also ich hoffe, Sie haben genossen, dass alles funktioniert jetzt gehen wir zurück in unser Spiel. Wir führen das Spiel. Wir beginnen den Kampf. Und mal sehen, wir verwenden magische Aufhellung auf die Zauberei des Hexenmeisters. Oh, er ist gestorben. Das ist cool. Dann werden wir auf dem Meister Magier verwenden, wieder magische Tentakeln, Nystrom Alter, er stirbt. Wir wollen, wir gehen weg. Sie können sehen, dass alle Charaktere zerstört werden. Wir beginnen den Kampf wieder. Wir haben nicht so viel Geld wie wir hatten. Also Magie, Blitz, Krieg Locke, und er starb diesmal nicht, vielleicht vorher war das ein kritischer Hit. Also macht Blitz Meister auf sie, greift uns an. Lasst uns einfach angreifen. Sie greifen uns an. Da gehst du. Draco stirbt. Dieser stirbt. Lasst uns weglaufen. Es gibt kein Entkommen. Wieder wegreißen, es gibt keinen Fehler. Sie greifen uns an, wir sind fast blind. Bitte rennen Sie weg. Es gibt kein Entkommen, und wir alle kaufen es und gehen verloren. Aber wir haben immer noch keine Nachrichten über Spiel, aber wir werden das im nächsten Video tun. Ich hoffe, Sie genießen es und wir sehen uns im nächsten.
117. Spiel über Bildschirm erstellen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video werden wir unsere Spiel-over-Szene erstellen, und wir werden auf sie gehen, wenn alle unsere Spieler dy hatten. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, okay, jetzt müssen wir uns mit der Tatsache auseinandersetzen, wo alle unsere Spieler sterben, nicht unsere Feinde sind Spieler und wir verlieren das Spiel. Also brauchen wir eine Game Over Szene und ein Spiel über dem Bildschirm. Lasst uns zuerst und zu unserem Code und zum Kampfmanager gehen. Ich werde alles schließen, wenn ich nach oben ziehe. Lasst uns das offen halten. Das werden wir schließen, schließen und alles andere. Und wir werden hier eine Referenz erstellen, die ein serialisiertes Feld vom Typ string sein wird. Und es wird das Spiel über Szene sein. Speichern Sie das. Jetzt werden wir nach unten scrollen und
ein Kernteam erstellen , das der End Battle Coroutine ähnlich ist. Es wird also eine Öffentlichkeit im Zähler und
der Gewinn, Gewinn gegenüber Coroutine sein . Und hier, vor allem, werden
wir einen Kampf Notice Punkt SetText erstellen. Wir werden uns verirren. Dann werden wir auf diese Schlacht Notiz Punkt aktivieren zugreifen. Da gehen wir. Dann werden wir drei Sekunden warten. Also geben wir zurück und den neuen Weg für Sekunden, und wir warten etwa drei Sekunden wieder. Schließlich werden wir die Schlacht aktiv auf falsch setzen. Und wir werden auf den Szenenmanager zugreifen. Haben wir Zugriff auf den Szenenmanager? Nein, das tun wir nicht. Also lasst uns weitermachen und ihn hier reinbringen. Also Unity Engine, Szenenverwaltung,
speichern Sie, dass Scroll zurück nach unten. Also dachte Scene Manager Ladenszene, ich wollte zur Instanz gehen. Ich bin es so gewohnt, immer eine Instanz nach einem Manager zu haben. So Last gesehen und wir werden das Spiel über Szene laden. Wir werden das retten. Und wir werden das nennen, wenn alle unsere Spieler tot sind. Also statt wir verloren haben, werden
wir eine Co-Routine starten. Starten Sie Co-Routine. Und wie das Spiel über Szene. Und ich bin mir ziemlich sicher, dass wir hier ein paar Dinge vergessen haben. Oh, also spiel darüber. Ich hatte das Spiel über das Werben. Tut mir leid. Wir können diese drei Zeilen löschen oder Sie können sie als Erinnerung daran behalten, wie wir langsam mit unserem Code vorankommen. Also ich liebe diese drei Abschnitte gerade jetzt die Spieler beginnen Schlacht, den Feind, oder die vier Abschnitte und die endgültige Schlacht, weil es wirklich zeigt, wie wir, es geht nicht nur darum, Code zu ziehen und es funktioniert und das war's. Nein, es geht um den Prozess immer langsam, aber sicher aktualisieren wir unseren Code, wir fügen neue Methoden hinzu, wir verwenden neue Techniken und wir stellen auch neue Herausforderungen. Und Ihre Herausforderung wird es sein, eine Spiel-over-Szene zu erstellen. So erstellen Sie eine Szene für das Spiel über auf einer Leinwand mit ein wenig Text und Hintergrund, vielleicht auf drei Tasten für die Last weniger Speichern Hauptmenü und beenden Spiel, und das ist alles, was Sie tun müssen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Und ich werde mit allem, was bereits fertig ist, zurückkommen, weil ,
naja, es macht nicht sehr Spaß, mich jedes Mal dabei zu beobachten. Also sehe ich dich in nur ein bisschen. Oh, hey, willkommen zurück. Also, wie hast du das alles bekommen? Also habe ich gerade wieder über ein paar Hintergrund erstellt, diese drei cool-aussehende Tasten
hinzugefügt. Und ich kann sagen, die, sagen
wir wirklich schönes Spiel über den Bildschirm. Also jetzt ist das nächste, was wir tun müssen, voran zu gehen und ein Szenen-Manager-Skript hier zu erstellen. Also gehen wir zum Scrip und wo sollen wir das Spiel erschaffen? Okay, in den Managern. So C-Sharp-Skript wird ein Spiel über Manager bei Enter sein. Warten Sie, bis es kompiliert ist. Nein, bitte mach das nicht auf. Aus irgendeinem Grund öffnet sich automatisch jedes Mal, so dass es vorbei ist. Wir fügen es der Leinwand hinzu. Wir können es hinzufügen, wo immer wir wollen. Wir werden das retten. Wir werden das Drehbuch öffnen. Und mal sehen, was wir hier tun werden. Und bevor ich die Leinwand vergesse, wo ist sie? Okay, also skalieren Sie mit Bildschirmgröße und wir werden es
1920 mal 1080 schaffen . Und da gehen wir. Wir werden das retten. Okay, also lasst uns das Drehbuch des Spiels öffnen, und was sollen wir hier drin machen? Nun, zunächst einmal fangen wir an, wir werden einen anderen Song spielen. Wir werden den Player-Controller ausschalten und all das. Um auf all das zugreifen zu können, gehen
wir zurück und wir müssen hier
ein paar Manager hinzufügen , die wir bereits eingerichtet haben. Also in den Prefabs, dem alten yo AudioManager, dem Game-Manager, sollte der Spielermanager hier irgendwo eingestellt werden. Also lassen Sie uns die Items Ebene sehen. Nein, das brauchen wir nicht. Vielleicht könnte das Canvas hier verwendet werden. Und das ist ein Campus eins. Namen ändern. Wo sind die Prefabs? Wir brauchen immer noch den Player-Controller, also fügen wir den Player hinzu. Und ich denke, das ist alles, was wir tun müssen. Wir werden das retten. Und jetzt gehen wir hier rein. Und der Anfang werden wir auf die alte yo Manager Dot Instanz zugreifen, Dot Play Hintergrundmusik. Und welche Hintergrundmusik sollten wir spielen? Lass uns in der Musik sehen. Sehen wir uns hier unten das Höhlenthema an. Und sicher, lasst uns das dunkle Amulett spielen. Ich denke, 44 ist gut genug. Da gehen wir. Solange sich ändert, uns egal, was es ist. Das Punktspielobjekt der Spielerpunktinstanz wird auf false gesetzt, der Menü-Manager. Okay, also setzen Sie aktiv auf false, false. Der Menü-Manager hat false ausgewählt. Der Kampf-Manager, Manager Punkt GameObject, Punkt traurig, aktiv bis falsch. Und dann müssen wir die zwei oder die drei Methoden hier erstellen. Wir werden das Update entfernen. Wir werden eine öffentliche Leere erstellen, Kohut zum Hauptmenü. Wir werden eine Last weniger sichere öffentliche Wort erstellen, niedrig, zuletzt, Speichern. Und wir werden eine endgültige Methode erstellen, die die Zerstörer-Spielsitzung sein wird. Und wir füllen es später. Es wird eine private statische sein, weil wir nicht wollen, dass es sich irgendwo ändert und jedes Mal, wenn zerstörte Spielsitzung gleich ist. Und hier drin machen wir ein paar Dinge. Also mit dem fertig, Ich werde Sie im nächsten Video sehen, wo wir alle
diese Methoden füllen werden , wenn Sie auf eigene Faust beginnen möchten, empfehle
ich Ihnen, dies zu tun. Und schließlich, vergessen Sie nicht, sicherzustellen, dass wir immer unsere Änderungen begehen. Also jetzt verblassen die Feinde. Wie Sie sehen können, habe ich vergessen, eine meiner vorherigen Änderungen zu übernehmen, also was ich tun kann. Also, was war das vorherige Video, wo wir beendeten die Schlacht im Sieg. Das bedeutet also, dass wir nicht all diese retten wollen. Wir retten einfach diese drei. Wir inszenieren das Ausgesuchte. Das ist also nicht 100% genau, aber das ist alles, was Sie tun müssen, wenn Sie vergessen, Ihre Änderungen zu übernehmen. Also jetzt wir, und der Kampf und Sieg mit ein paar Ausrufezeichen, wir begehen die Veränderungen jetzt wir inszenieren alle. Aber weil wir im nächsten Video mehr Sachen machen und das Spiel beenden werden. Ich werde die Änderungen jetzt nicht begehen. Und wir sehen uns im nächsten Video.
118. Letzte Speichern im Spiel: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. In diesem Video haben wir endlich das Erstellen unseres Spiels beendet. Also, jetzt laufen wir unser Spiel. Wir können zum Hauptmenü gehen, wir können beenden, aber es funktioniert nicht. Lassen Sie mich Ihnen die anderen Tasten zeigen. So können wir das Spiel beenden, aber wir haben nur flüssiges Spiel und wir können die
letzte gespeichert laden , dass wir n. so gibt es gehen wir. Und nicht nur das, wie Sie sehen können, funktioniert
unsere Follow-Cam jetzt perfekt. Es hängt nicht einfach herum. Also, selbst wenn wir in eine andere Szene gehen, da gehen wir. Das funktioniert also. Unsere Kamera folgt immer unserem Spieler, also sehe ich dich in nur ein bisschen. Oh, okay, also machen wir weiter mit unserem Spiel vorbei. Also werde ich hier wieder reingehen und wir werden zuerst die Strohspiel-Sitzung
ausfüllen, weil es
die wichtigste Methode ist , die wir in der Haupt verwenden werden und so weiter. Also werden wir zu zerstören, vor allem, das Spiel Manager Punkt Instanz Punkt-Spiel Objekt. Ich weiß, wir haben das alles hier gesagt, aber denken Sie daran, wenn wir das Schlachtfeld verlassen und zu einer anderen Szene gehen, sind
alle unsere Manager zerstört und sie gehen zum Spiel über Szene. Und sie sind auch ein Singleton-Muster. Also habe ich das hier hinzugefügt, nur um zu verstehen , dass diese in der Szene sein werden und wir sie zerstören müssen. Also gehe ich zurück und wir werden die anderen Manager zerstören. Also werden wir den Spieler-Controller zerstören. Also das bereits Player-Skript, wieder Objekt. Ich werde dieses duplizieren, auch ich werde den Menü-Manager zerstören. Und schließlich werden wir auch den Kampfmanager zerstören. Wir werden das alles retten. Jetzt lassen Sie uns voran und erstellen Sie das Schnellmenü. Also hier drin werden wir die Spielsitzung in ihrer Gesamtheit zerstören. Und dann der Szenenmanager, wo es zum Szenenmanager geht, haben wir
nicht okay, also haben wir das nicht. Szenenverwaltung. Speichern Sie das. Also Scene Manager, Punkt niedrig gesehen, und was sollten wir laden, wenn wir zum Hauptmenü beenden? Nun, wir werden eine Referenz bekommen. Also in Szenen, im Hauptmenü, lassen Sie uns das kopieren, gehen Sie zurück, fügen Sie es ein. Wie Sie sehen können, habe ich versucht, Hauptmenü mit Hinzufügen von Platz zu schreiben, während ich nicht sollte, also hätte es nicht funktioniert und wir hätten keine Ahnung warum. Und schließlich werden wir die Last zuletzt speichern. Also werden wir die Spielsitzung hier auch zerstören, und wird auch zerstören oder wir haben bereits zerstört, Ich wollte sagen, zerstören Sie den Kampfmanager. Wir werden Scene Manager laden, Load gesehen, und wir werden die Ladeszene laden. Also, wie sein Name? Lassen Sie es uns kopieren. Kopieren Sie das hier. Fügen Sie es hier ein, fügen Sie ein Semikolon hinzu, speichern Sie das. Und lassen Sie uns sicherstellen, dass wir alles in der gebaut haben. Also gehen wir zu den Build-Einstellungen. Wir haben die Hauptmenü-Lade-Szene. Lassen Sie uns das Spiel über hinzufügen. Und was sollen wir noch hinzufügen? Ich denke, das ist alles, was wir brauchen. Was ist das, das Spiel über Szene oder wir haben es einfach hinzugefügt. Ok, großartig. Wir können das Dungeon auch hinzufügen, aber wir haben keine Möglichkeit geschaffen, ihn von der Francine betreten zu können, also keine Sorge darüber. Oder weißt du was, ich denke, wir müssen es hinzufügen, wenn wir während des Spiels gestorben sind. Also BuildSettings. Lassen Sie uns das Dungeon auch hier hinzufügen, speichern Sie das, gehen Sie zurück. Und lasst uns das ein bisschen testen. Also werde ich in die Leinwand gehen. Und hier, haben wir irgendwelche Variablen, die wir setzen müssen? Nein, alles sollte gut funktionieren. Also werde ich das retten. Ich gehe zurück. Ich werde das Spiel leiten. Also fangen wir zuerst an. Wir gehen nicht einfach. Okay, wie Sie sehen können, haben
wir coole Musik gespielt. Was haben wir in der Konsole? Wir haben eine fehlende Referenz, die der Kampfmanager ist, weil wir den Kampfmanager nicht hinzugefügt haben oder wir ihn deaktiviert haben. So können wir den Kampfmanager hier hinzufügen. Und wie ich schon gesagt habe, ist dies nur zum Testen des Spiels über. Wir brauchen diese Manager nicht hier drin zu haben, denn wenn wir sterben, gehen
wir ins Spiel über keines dieser Spielobjekte zerstört wird. Erinnerst du dich daran? Also werde ich die Prefabs finden, das Spiel, das Kampfmanager-Spiel. Oh, jetzt erinnere ich mich nur daran, dass
wir im Kerker unseren Kampfmanager nicht kurz gefasst haben, und ich suche ihn und wir können ihn nicht finden. Also gehe ich zum Prefab, um die Kampfmanager zu retten. Gehen Sie zurück in unsere Szenen zu GameOver. Gehen Sie zu den Prefabs in der Schlacht der Manager an, dass, wenn das gewann das Spiel. Und da gehen wir. Also jetzt haben wir keine Fehler. Also lasst uns versuchen, das Spiel zu beenden. Das tut gar nichts. Oh, wir haben noch nicht mal die Knöpfe zugeteilt. Ok. Also Canvas, Lassen Sie uns die MainMenu Taste sehen, aber tut es, um es den Campus zu geben wir gerade das Spiel über Manager erstellt, und dies ist das Haupthandbuch. Also werden wir zum Hauptmenü beenden. Und dann werden wir das schnelle Spiel benutzen. Wir brauchen hier eine kleine Methode, die nur ausdruckt. Also öffentliche Leere Spiel. Und wir werden nur den Mantel debuggen. Wir haben das Spiel beendet. Speichern Sie das. Und hier werden wir application.rb beenden. Aber offensichtlich wird das nicht funktionieren, weil wir nicht wirklich im Spiel sind. Also werde ich wieder in Unity gehen. Ich werde die Leinwand hier reingeben. Schnelles Spiel. Und schließlich die Ladung. Ich werde voran gehen und die Leinwand zuweisen. Kam über Manager beenden zwei Hauptmenü oder nein, dies ist Last zuletzt speichern. Entschuldigung für die Last zuletzt speichern, speichern Sie all das, führen Sie das Spiel. Und jetzt können wir das Spiel beenden. Also haben wir das Spiel beendet. Offensichtlich funktioniert das nicht, weil wir es noch nicht gebaut haben. Versuchen wir also, zum Hauptmenü zu gehen. Da gehen wir. Wir sind auf dem Hauptmenü. Wenn wir weitermachen wollen. Da gehen wir. Also fangen wir an, aber offensichtlich können Sie sehen, dass wir die Kamera nicht bei uns haben. Aber lasst uns die Last testen. Lasst uns retten. Es sollte so ziemlich das Gleiche sein. Also laden wir, sparen wir. Da gehen wir. Aber wieder, die Kamera funktioniert nicht und das
war während des gesamten Kurses ein Problem. Wie sollen wir das in Ordnung bringen? Nun, wir gehen in den Kamera-Controller. Also, wo ist der Kamera-Controller und ein Update? Also, wo haben wir Update? Wir werden überprüfen, und hier werden wir eine while-Schleife erstellen. Und diese while-Schleife wird überprüfen, ob wir ein Spielerziel haben. Und wenn das Spielerziel null ist, dann werden wir weiter nach einem Spieler Ziele suchen. deklarierte Ziel wird also gleich sein, um Objekt vom Typ des Spielers zu finden. So wird es weiter nach einem Spieler suchen. Und wenn wir eine virtuelle Kamera haben, dann werden wir die Folgen auf der virtuellen Kamera setzen. Punkt folgen gleich der Zielpunkt-Transformation des Spielers, weil er einer bestimmten Position folgt. Wir werden retten, dass alles gut ist. Wir gehen zurück. Wir werden das Spiel leiten. Und jetzt, wenn wir weniger sicher laden, sollten
wir unsere Kamera dem Spieler folgen. Da gehen wir. Wir beheben ein Problem, das es seit Beginn des Kurses gibt. Ich habe dir versprochen, dass wir es reparieren. Wir haben es repariert. Ich sorge immer dafür, meine Versprechen zu erfüllen. Ich hoffe, Sie genießen diesen Kurs. Ich hoffe, du magst mich als Ausbilder. Ich hoffe, Sie mögen die Art und Weise, wie wir das alles bauen. Wir können endlich unser Spiel überfahren. Stage alle begehen unsere Änderungen. Und wenn Sie die Zeit haben, und wenn Sie es noch nicht getan haben, lassen Sie mir
bitte eine Rezension. Es hilft mir sehr, und ich sehe dich im nächsten Video.
119. Battle: Willkommen zurück, meine Kollegen Spiele-Entwickler und dieses Video, wenn wir unser Spiel laufen, wenn wir die Y-Taste drücken, können
Sie sehen, dass wir erlebt haben verdient, das ist 15000. Und dann haben wir die Gegenstände Belohnung, die eine goldene Axt, eine goldene Rüstung und ein HB-Ozean ist. Vergeuden wir also keine Zeit mehr. Wir haben sogar die Schließtaste funktioniert. Und lasst uns anfangen. 0 Fall. Also, jetzt beginnen wir Schlachten. Wir bewältigen Spieler, wir töten Feinde, wir beenden Schlachten. Wir haben das Spiel vorbei, wir haben den Sieg, wir haben alles. Aber was ist der Anreiz, tatsächlich zu gehen und zu kämpfen? Der Anreiz ist, vor allem, eine Art von Quest zu
beenden und zweitens, Erfahrung und ein paar neue coole Gegenstände zu
bekommen. Das werden wir also tun. Also gehen wir in die Leinwand. Wir werden die Szene eröffnen. Und hier werde ich mit der rechten Maustaste klicken und ein neues Panel erstellen. Also Panel, und dieses Panel wird die Schlacht Belohnungen sein, Belohnungen. Ich werde es bis zum Ende undurchsichtig machen. Also, da gehen wir, und wir werden den Hintergrund hinzufügen, den wir verwenden. Also werde ich zu den Sprites gehen, du bist Elemente und füge das hinzu, das wir die ganze Zeit verwenden. Ich werde es ein bisschen kleiner machen und ich werde es auf nur ja groß verkleinern. Ich werde hier einen Button hinzufügen, um alles zu schließen. Also geh zu deinem Auge und einem Knopf. Diese Schaltfläche wird die Schließen-Schaltfläche sein. Wenn ich mit Ihnen arbeite, ziehe ich es vor, immer sicher zu stellen, dass Sie die Schließtaste aufrufen. Wir wissen also, dass es hier ein Knopf ist. Betrachtet man die Hierarchie. Ich werde einen Text hinzufügen Mesh Pro und hier, und wir werden diesen Button ein bisschen größer machen, genau so. Also die Steuer, wir werden es so groß wie möglich machen. Wechseln Sie zur Schaltfläche als Hintergrund. Du bist ziemlich vertraut mit allem, was ich tue. Also halten Sie die Perspektive. Machen Sie es ein bisschen größer. Da gehen wir. Stellen Sie dies in der Mitte. Und ich werde den Text so verkleinern, dass er in die kleine Box passt. Also, da gehen wir, das war's. Wir werden die Schriftart aus irgendeinem Grund ändern. tut es immer. Das erlaubt mir nicht, vom ersten Mal zu wählen. Mach es fett, mach es schwarz. Stellen Sie sicher, dass dies in der Nähe ist. Machen Sie es größer, so groß wie wir können. Vielleicht ist unten ein bisschen zu groß. Also werde ich es
auffast
die Größe verkleinern fast und den Text über die Größe machen. Also, da gehen wir, wir haben einen Schließknopf. Als nächstes wollen wir zwei Etiketten oder Texte oder was auch immer einrichten, um anzugeben, was wir bekommen. Also, was bekommen wir von einer Schlacht? Wir können eine Menge Zeug bekommen, aber im Moment werden wir,
das erste, was wir bekommen werden, ist die Erfahrung und die Gegenstände. Also lasst uns voran gehen und einen Text erstellen, der hier viel bewährt wird, die die mittelalterliche Partei sein wird. Kräftiges Schwarz. Und das wird die Erfahrung Belohnungen oder XP Belohnung sein. Ich werde das größer machen. Und die mittlere riesige Schrift. Richten Sie es hier ein. Vielleicht nicht so riesig von einer Schrift. Ich werde das etwas kleiner machen. Ich werde voran gehen und nennen dies das XP-Textlabel. Ich werde es duplizieren und in Ordnung bringen, habe ich nicht dupliziert. Ich werde es duplizieren. Danke. Und dann werde ich 14 Sachen hier drin setzen. So wird dies die Gegenstände Belohnung sein. Da gehen wir. Das passt perfekt. Und das wird die Elemente Textbeschriftung sein. Ich werde das entfernen. Wir werden das noch einmal duplizieren. Und ich werde das viel größer machen. Da gehen wir. Und hier drin werden wir sicherstellen, dass wir automatisch dimensionieren sollten? Das glaube ich nicht. Lassen Sie uns nicht alle Größe. Lass es uns kleiner machen. Da gehen wir. Und dies wird die, sagen
wir, XP verdient. Oder wir versuchen es einfach hier drin. Zum Beispiel 99, 99, XP. Da gehen wir. Setzen Sie hier ein Leerzeichen und den XP-Textwert ein. Lass es uns ein bisschen größer machen. Und dann werde ich den exp x-Wert duplizieren. Und hier, und das werden die Gegenstände sein. Der nächste Wert. Nun, ich dachte daran, vielleicht hier zu diesem Preis der Artikel, die wir bekommen, aufzulegen, was meiner Meinung nach ein viel besserer Ansatz ist. Ich werde dokumentieren, dass Sie das tun, aber es braucht ein bisschen mehr Arbeit. Wir wollen sicherstellen, dass wir die Grundlagen vorerst
unten haben , damit wir die Dinge kennen, die wir bekommen. Aber wie gesagt, empfehle ich Ihnen, hier Bilder zu implementieren. Also werde ich nur goldene Akte,
silberne Akte und HB-Teil schreiben . Also gehen wir hin. Das sind unsere Artikel. Ich werde sicherstellen, dass die Auto-Größe passt und dies, weil wir mehrere Gegenstände haben und sie vielleicht zu quetschig, zu groß für unsere Leinwand. Ich werde das etwas größer machen. Okay, also gehen wir, das ist alles, was wir brauchen. Jetzt müssen wir ein Skript erstellen, um dies zu manipulieren. Also werde ich in die Skripte gehen. Ich werde gehen, welchen Ordner sollten wir das in Dialogzeichen speichern? Speichern wir es im Kampfsystem. Ist es Teil des Kampfsystems? Ja, das ist sicher. Also werde ich ein C-Sharp Skript erstellen und es wird der Kampf Belohnungen Handler sein. Geben Sie ein. Warten Sie, bis das kompiliert ist. Nein, danke. Wir werden hinzufügen, die an die Hauptfläche angehängt sind, die wir haben. Und dann werden wir das Drehbuch hier öffnen. Das erste, was wir tun werden, ist, dass wir eine Instanz brauchen. Also öffentliche, statische Instanz oder sorry,
Kampf, Belohnung Handler-Instanz. Und wir werden ein Feld serialisieren, weil wir die,
die XP Steuer und den Artikel Text brauchen . Also brauchen wir TMP Bewährung. Also alles, was ich hier tue, ich werde es ein bisschen schnell durchmachen, denn während wir alles
wissen, dass diese nichts zu Besonderes sind, Text Mesh Pro, wir haben bereits alles getan. So XB, Text und Elemente Text. Dann haben wir ein weiteres serialisiertes Feld vom Typ Spielobjekt für den tatsächlichen Belohnungsbildschirm. Und das wollte ich nicht duplizieren. Dann haben wir ein serialisiertes Feld für die Elemente. Sie hat die Belohnungsgegenstände. So von Typen, Item Manager. Und es ist ein Array, weil wir mehrere dieser Gegenstände und die Belohnungsgegenstände haben. Und schließlich haben wir eine ganze Zahl, die die Erfahrung ist, die wir bekommen. So und XP, oder Belohnung. Da gehen wir. Jetzt brauchen wir eine Methode, um den Belohnungsbildschirm zu öffnen. Also werde ich den Start und das Update entfernen, und ich werde eine öffentliche Lücke öffnen Belohnungsbildschirm erstellen. Nennen wir es. Und wir werden zwei Parameter aufnehmen. Und hier wird man die ganze Zahl für die XP sein, und die andere wird
ein Items Manager-Array sein, das sind die verdienten Elemente, nennen
wir sie, und das nennt man das die XP verdient. Dann werden wir hier die EP-Belohnung als die EP verdiente setzen. Und wir werden nicht wirklich jeden Kampf von der Leinwand aus setzen. Wir werden diese Methode hier aufrufen und
die ganze Zahl und die Elemente festlegen , je nachdem, welchen Kampf wir uns selbst bekommen. Und wir werden später in den nächsten Videos sehen, wie wir tatsächlich Schlachten beginnen, die ihre eigenen Feinde haben, die mehrere Arten von Schlachten in ihnen haben. Vielleicht haben wir verschiedene Kombinationen von Feinden in diesem Kampf mit verschiedenen Belohnungen und verschiedenen verdienten Gegenständen. Also lasst uns weitermachen. Ich wollte nur die Stimmung hier drinnen einstellen. Vielleicht verstehe nicht, warum wir tatsächlich diese Art von Setup haben. Und hier werden wir später sehen, dass alles Sinn ergibt. Also werden wir die Belohnungsgegenstände als die verdienten Gegenstände haben. Und dann haben wir die XP besteuert. Besteuert, um gleich dem Experiment verdient zu sein, aber gut verkettet mit XP Raum, XP. Gut genug. Stört uns das? Nein, tut es nicht. Und jetzt wollen wir die Artikelstapel setzen, aber zuerst wollen wir sicherstellen, dass es leer ist. Also Elemente, Text, der Text ist gleich leer. Warum sage ich das? Weil wir alle Elemente durchlaufen, ihre Namen
erhalten und sie mit dem Text verketten werden. Was meine ich damit? Also werde ich einen ForEach erstellen. Dies für jeden, wird durch Strings, den Belohnungsgegenstand,
Text und Belohnungsgegenstände
Punkt Punkt B Artikelmanager suchen ,
Text und Belohnungsgegenstände . Und jetzt hier drin werden wir die Elemente Text,
Text, um ein Plus gleich zu haben. Da wir also mehrere Gegenstände haben, müssen
wir das Plus gleich hinzufügen, damit sie alle verketten, also die Belohnungsgegenstände. Und wir werden es mit einem Komma verketten. Also, wie wird das funktionieren? Vielleicht sollten wir das Komma vorher hinzufügen. Lassen Sie uns versuchen, es vorher hinzuzufügen. Oder wissen Sie was. Fügen wir einen umgekehrten Schrägstrich t. und Backslash d bedeutet umgekehrten Schrägstrich Tab. Das wird also eine Art Raum sein,
aber ein bisschen größer, oder wir fügen einfach ein Leerzeichen hinzu. Warum nicht? Da gehen wir, wir retten das. Lasst uns in die Einheit gehen. Aber bevor wir das tun, brauchen
wir einen Weg, um das zu testen. Also werde ich eine Herausforderung stellen. Und deine Herausforderung ist es, den Belohnungsbildschirm zu öffnen. Erstellen Sie also eine Eingabe und aktualisieren
Sie, suchen Sie nach einem Schlüssel. Wenn es gedrückt wird, öffnen Sie das Belohnungsfenster und mit den entsprechenden Argumenten. Das ist also eine sehr grundlegende Herausforderung. Pausieren Sie das Video jetzt und gehen Sie und tun Sie es. Okay, willkommen zurück. Also lösche ich immer Update, aber das liegt nur daran, dass wir es nicht wirklich brauchen. Wir wollen das nur testen. Also werde ich überprüfen, ob der Eingabepunkt die Taste nach unten bekommt. Verwenden des Tastencodes. Welchen Schlüsselcode, den er Keycode, dass wir y verwenden, o Sound Scape, wir verwenden die Y-Taste. Das glaube ich nicht. Also werde ich die Y-Taste benutzen und den Belohnungsbildschirm öffnen. Die Erfahrung, die ich werde belohnt mit als 50 Tausend. Das ist sehr großzügig. Und die Belohnungsgegenstände werden die Belohnungsgegenstände sein, die wir einstellen werden. Und hier für den Campus. Jetzt später sollten wir das privat machen, aber im Moment werden wir das nur retten. Wir stellen es hier manuell ein. Also werde ich wieder in unser Spiel gehen. Ich gehe auf die Leinwand. Ich werde, whoa, wir haben jetzt so viel, um das alles abzuschließen. Also werde ich den XP Textwert geben, die Elemente Textwert, den Belohnungsbildschirm, das ist der Kampf. Belohnungen. Die verdienten werden auf eigene Faust gesetzt und dann Belohnungsgegenstände. Ich werde drei Elemente hier hinzufügen, in eine Sperre
gehen, gehen wir in die Prefabs-Artikel und was sollen wir bekommen? Wir bekommen eine goldene Axt, wir bekommen eine goldene Rüstung und wir bekommen etwas HP-Portion. Ich werde das alles retten. Ich werde die Kampfbelohnungen ausmachen. Ich werde das Spiel leiten. Und jetzt bewegen wir uns herum. Lasst uns das größer machen. Hatte das Y okay, das y funktioniert nicht. Warum? Warum funktioniert es nicht? Weil wir aus irgendeinem Grund vergessen haben, etwas zu tun und dass etwas ist, und das ist etwas, das der wichtigste Teil ist. Und das bedeutet, dass der Belohnungsbildschirm aktiv ist. Oh, mein Gott. Und wir müssen auch noch eine Sache tun, und das ist, die Schließen-Schaltfläche anzuwenden. Also werde ich voran gehen und
eine öffentliche Leertaste schließen Taste erstellen . Und es wird einfach den Belohnungsbildschirm auf false setzen. Das in unserem Spiel. Holen wir den Knopf. Und das sind wirklich grundlegende Dinge, die man manchmal vergessen könnte. Also, wo ist es? Schlacht Belohnungen, Handler, Schließen Taste, speichern, dass, Rampe, ein Spiel. Da gehen wir. Drücken Sie die Y-Taste. Und es braucht immer noch etwas, das wir nicht richtig machen. Oder entweder das oder mein y impotent funktioniert nicht. Das retten wir. Wir hätten die 0 retten sollen. Okay, das Problem war, was immer das gleiche Problem ist. Ich habe die Leinwand ausgeschaltet, weil ich sie verriegelt hatte. Ich habe nicht gelesen, was ich ausgeschaltet habe. Nun, wenn wir das Spiel laufen, glaube
ich, dass alles mit einer 100-prozentigen Geldstrafe funktioniert. Da gehen wir. Also öffnen wir das auf und wir können sehen, dass wir etwas sehr falsch haben. Und das sehr falsche Sache ist, dass anstelle der Einstellung des Namens des Elements, so dass der Name, die Belohnungsgegenstände, Text Punkt Element, Name. Wir setzen es auf, welcher Typ ist das? Also, jetzt laufen wir das Spiel zum letzten Mal, glaube ich. Und es wird funktionieren. Da gehen wir, die Goldene Axt, die goldene Rüstung und der TP Trank. Ich hoffe, Sie haben dieses Video genossen. Ich werde die Farbe hier ändern, vier der Werte zu lesen. Da gehen wir. Jetzt sieht es aus, es sollte viel besser aussehen. Sie werden es im Intro sehen. Also sehe ich dich im nächsten Video.
120. Battle: Willkommen zurück, meine Kollegen Spiele-Entwickler in diesem Video, wenn wir den Gewinn ausführen. Und damit wir nicht vergessen, muss
ich hier drin etwas tun, und das ist, um die enge Belohnung zu setzen, das zu
retten, das Spiel zu laufen. Kampf wurde angefangen. Benutze die magischen Kämpfe auf den kriegsähnlichen magischen Tentakeln, Hexenmeister. Jetzt ist er tot. Verwenden Sie nun die magischen Tentakel auf dem Hauptmeister. Wir sind wieder gegangen. Wenn wir uns den Spieler anschauen, hatte
er 36 aktuelle HP und aktuelle XP. Ich meine, und wenn wir den Knopf schließen, werden
Sie sehen, dass er 1000006 hat. Das liegt daran, dass er eingeebnet ist und wir ein bisschen XP entfernen. Und wenn Sie auch zu den Menüpunkten gehen, können
wir sehen, dass wir unsere Belohnungen bekommen. Also lasst uns keine Zeit mehr verschwenden und loslegen. Oh, jetzt ist es an der Zeit, Belohnungen auszugeben, die wir auf Flexed 4 bekommen. Also, um das zu tun, werde ich unsere Skripte
wieder öffnen und ich werde in den Kampfhandler gehen. Und hier drinnen werde ich Ihnen eine Herausforderung stellen. Ihre Herausforderung besteht also darin, den aktiven Spielern das Zweckmäßigste hinzuzufügen. Sie werden die Methode zum Schließen der Schaltfläche ändern, um den Belohnungsbildschirm zu schließen. Du wirst alle Spieler durchlaufen und ihnen Erfahrung geben. Und Sie werden auch sicherstellen, dass Sie die Gegenstände in Belohnungen zum Listen-Inventar hinzufügen. Also pausieren Sie das Video jetzt und gehen Sie zu Chaldäisch. Okay, willkommen zurück. Also werden wir dies von Schließen-Schaltfläche ändern, um Belohnungs-Bildschirm zu schließen. Also hier drin werde ich anfangen, bevor ich den Belohnungsbildschirm schließe, werde
ich das stoppen. Oder wissen, was wir die Klamotten hätten behalten können. Wir werden sehen, was wir tun. Zunächst einmal stellen wir sicher, dass für jeden Spieler Statistiken,
aktiv, Spieler und Spiel-Manager Punkt-Instanz, Punkt-Statistiken. Und hier werden wir überprüfen, ob der aktive Spieler Punkt GameObject in der Hierarchie aktiv ist. Dann werden wir nach dem aktiven Spieler suchen. Und wir werden ihm mit der EP-Belohnung XP hinzufügen. Da gehen wir. Und dann werden wir eine weitere foreach-Schleife erstellen, die durch die Gegenstände in Belohnungsgegenständen gehen wird. Und wir werden auf die Inventar-Punkt-Instanz zugreifen, Punkt hinzufügen Elemente und die Elemente, die wir hinzufügen werden, den Gegenstand belohnt, speichern Sie das. Als nächstes stellen wir den Belohnungsbildschirm so ein, dass er aktiv auf false speichert. Also weiß ich nicht, warum ich da oben gelöscht habe. Ich hätte es einfach hier unten hinzufügen können. Und dann hier drinnen werde ich B-Schlacht aktiv auf falsch setzen. Also kamen sie Manager Punkt Instanz, Punkt Kampf aktiv auf falsch. Und warum mache ich es hier drin? Tue ich das nicht schon im Kampfmanager? Wo ist sie? Also irgendwo hier drin, da gehen wir hin. Ich setze mich hier auf „Falsch“ ein. Aber das Problem ist, dass dies ist, was macht den Charakter oder den Spieler und Jimmy halten, bewegen oder bleiben an Ort und Stelle. Also, wenn ich die Fledermaus-Belohnungen öffnen will, möchte
ich einen Geist an seiner Stelle halten, bis er und ich, Oops, ihn an Ort und Stelle halten will. Ich will nicht, dass er sich bewegt, während er sich die Belohnungen ansieht, die er bekommen hat. Also werden wir das alles retten. Aber jetzt liegt das Problem
im Kampfmanager, weil wir ein paar Dinge zu ändern haben. Und was sind das? Wir werden die Kampfbelohnung nennen. Wo sollen wir es nennen? Wir werden es nennen, wenn wir einen Kampf beenden. Aber wenn wir weglaufen, sollten wir diese Kampfbelohnung nennen? Du bekommst eine Belohnung, wenn wir weglaufen. Natürlich nicht, das ist nicht das, was wir tun wollen. Und auch wir wollen das nicht ausdrucken, wenn wir weglaufen, wir werden etwas anderes machen. Zuerst werde ich hier rein gehen, und ich werde einen privaten Boolean erstellen, der davonläuft. Und das wird den Überblick behalten, wenn wir weglaufen. Dann eine Bestellung, um dies zu testen, werden
wir zwei andere Variablen erstellen, die öffentlich sein werden und XP, Belohnung, Betrag. Und auch ein anderer öffentlicher Items Manager Typ Array, das wird die
Items sein , Belohnung. Und das ist, du wirst sehen, warum wir das tun. Lassen Sie uns zuerst das Weglaufen auf wahr setzen und wir laufen weg. Also, wo laufen wir einen Weg? Wir rennen hier irgendwo weg. Da gehen wir. Wir rennen weg. Also der Wert, werden wir das Laufen weg auf true setzen. Und jetzt gehen wir in die Kampf-Co-Routine. Und hier drin werden wir überprüfen, ob wir weglaufen. Dann stellen wir sicher, dass wir den Kampf auf falsch setzen. Das bedeutet, dass wir in der Lage sein werden,
wieder zu rennen und dann werden wir die Flucht auf falsch setzen. Und wenn nicht, wenn wir nicht weglaufen, dann wollen wir drucken oder nicht drucken. Eigentlich kommen wir dazu. Die Kampfbelohnungen Handler Punkt-Instanz, Punkt öffnen Belohnungsbildschirm. Und wir werden mit dem EP-Belohnungsbetrag und den Gegenständen,
Betrag, Gegenständen Belohnung senden , ich meine, deshalb haben wir diese beiden Variablen hier erstellt. Wir werden sie in ein bisschen loswerden. Aber im Moment müssen wir auch sicherstellen, dass hier drin nur wenn wir weglaufen oder nur, wenn wir nicht weglaufen. Tut mir leid, wenn wir nicht weglaufen, dann drucken wir aus, was wir wollen. Da gehen wir. Also haben wir dieses Problem behoben. Wir werden all das retten und wir werden in Unity gehen. Stellen wir sicher, dass wir alles hier drin gemacht haben, richtig, alle gespeichert haben, okay, also gehen wir in Unity,
gehen Sie zum Canvas, gehen Sie zum Menü-Manager,
und das wird nur eine vorübergehende Sache sein zu tun. Also, wo ist es? Gefechtsmanager? Entschuldigung. Also im Kampfmanager, wir haben die Gegenstände belohnt und die Menge, sagen
wir, es sind zweitausend. Und die Gegenstände werden sein, lassen Sie uns einfach eine goldene oder silberne oder goldene Axt und ein Monopolmeer hinzufügen. Wir werden das retten. Wir werden das Spiel leiten. Wir werden eine Schlacht beginnen, werden versuchen, es zu gewinnen. Blitz, Krieg, Locke, Magie, Tentakeln, Hexenmeister. Er ist gestorben. Magische Tentakeln können beherrschen. Wir haben gewonnen. Also gehen wir raus, aber wir haben es nicht getan. Wir vergessen immer, einen Hinweis auf die Gefechtsbelohnungen hinzuzufügen, oder wir gehen hier rein. Was haben wir vergessen hinzuzufügen? Also das Problem hier, wenn wir doppelklicken und es sagt uns, dass es keine Instanz eines Objekts gibt. Nun, warum passiert das? Denn wenn wir zurückgehen und Kampfbelohnungen machen, haben
wir eine Instanz erstellt. Wir haben es nicht darauf eingestellt. Also werde ich einen Start schaffen und hier wieder. Und ich werde die Instanz so einstellen, dass sie gleich ist. Jetzt sollten wir dieses Problem nicht mehr haben. Ich werde das Spiel stoppen. Ich werde es wieder laufen lassen. Ich werde auf den Spieler schauen, wie viel Erfahrung die C haben. 36. Also werde ich den Kampf beginnen. Magie, Blitz, Krieg, Glück, magische Tentakel, Hexenmeister heizt das. Magische Tentakeln. Mmh, Meister, er ist tot. 36. Da gehen wir. Wir haben innerhalb, innerhalb des Schließen-Knopfes, lass es uns hier drinnen verkaufen. Und die Canvas-Kampfbelohnungen schließen Taste, Canvas, aber ich belohne Handler. Stellen wir es auf, wo ist es? Wo ist sie? Der nahe Belohnungsbildschirm? Also werde ich voran gehen, einfach erklären 36 geschlossenen Belohnungen Bildschirm. Da gehen wir. Einhundert neunhundertsechsunddreißig. Das liegt daran, dass wir ein Level nach oben verschoben haben. Jetzt haben wir uns mit unseren Spielern ausgeglichen. Haben wir irgendwelche Gegenstände? Gehen wir auf die Speisekarte. Überprüfen Sie die Artikel. Dort bekommen wir eine goldene Axt und eine kleine Portion, die wir auf Draco nehmen können. Da gehen wir. Wir haben eine Art und Weise hinzugefügt. Wir haben den Schließen-Knopf noch nicht benutzt, aber das ist okay. Es ist ziemlich einfach. Ich hoffe, dass dir dieses Video gefallen hat und wir sehen uns im nächsten.
121. Battle: Willkommen zurück, meine Spiele-Entwickler. In diesem Video, wenn wir unser Spiel laufen, haben
wir hier eine Kampfzone. Irgendwo. Da gehen wir, wir haben eine Kampfzone. Und wenn es auf Enter aktiv ist, , können
Sie sehen,dass wir den Kampf beginnen. Es passiert noch nichts, aber das werden wir später weitermachen. Aber im Moment müssen wir einen Kampftyp erstellen. Habe verschiedene Arten von Feinden, aus denen wir wählen können, und verschiedene Arten von Belohnungen, einen Gegenstand Belohnungen und XP Belohnungen und so weiter. Lasst uns also keine Zeit mehr verschwenden und lasst uns mit unserem zufälligen Kampf beginnen. Oh, okay, jetzt funktioniert das Kampfsystem ziemlich gut. Alles wurde eingerichtet. Aber das einzige Problem ist, dass unsere Kämpfe damit beginnen wir den Imker schlagen und das ist überhaupt nicht gut. Also, was wir tun werden, ist, dass wir ein Gebiet schaffen, das, wenn wir hineingehen, einen Kampf beginnen wird. Wenn wir die Schlacht beginnen wollten oder wenn wir eine bestimmte Taste drücken. Lassen Sie uns also voran und erstellen Sie ein neues Skript. Und das Skript hier im Kampfsystem, das Rechtsklick ist. Und das wird die Art von Kampf sein, die wir haben. Salze werden der Kampftyp-Manager sein. Und warum erstellen wir ein Skript? Weil jedes Blütenblatt wir ein paar Dinge brauchen. Zunächst einmal wird es die Feinde brauchen, die wir haben. Es wird die Belohnung benötigen, dass wir eine IT die Gegenstände benötigen, die wir bekommen. Also werde ich dies zu einem Nicht-Mono-Verhalten machen. Und ich werde das als serialisierbares System verwenden. Wir werden das retten. Und jetzt werden wir drei Variablen erstellen. Die erste wird eine öffentliche Zeichenfolge sein, und sie wird die Namen unserer Feinde enthalten. Dann werden wir
eine Öffentlichkeiterstellen eine Öffentlichkeit und EP belohnen. Und schließlich werden wir ein öffentliches Items Manager-Array erstellen, das die Belohnungsgegenstände sein wird. Also werden wir das retten. Und jetzt gehen wir zurück in Unity. Gehen Sie zur Szene und erstellen Sie einen Bereich. Also werde ich auf Draco doppelklicken. Lassen Sie uns die Szene ein bisschen größer machen. Und hier werden wir ein leeres Spielobjekt erstellen. Leeres Spielobjekt. Wir nennen das die Kampfzone oder so. Also Kampfzone bei Enter, Lassen Sie uns seine Position zurücksetzen. Doppelklicken Sie darauf. Und ich werde diese Kampfzone verschieben. Und hier werde ich dazu einen Box-Collider hinzufügen. Also lassen Sie uns eine Komponente hinzufügen, die Box collider 2D. Und lass es uns ein bisschen größer machen. Das geht also um den Box-Collider, den wir haben wollen. Und wir werden es zum Auslöser machen. Wir werden das retten. Jetzt werden wir hier ein neues Skript erstellen, das die Schlacht sein wird, instanziieren oder Enter drücken wird. Aus irgendeinem Grund öffnet sich jedes Mal, wenn ich ein Skript drücke Enter erstelle, das Visual Studio öffnet, es der Gefechtszone hinzugefügt
wird. Und wir werden das Drehbuch öffnen. Also, jetzt ist dies nicht die,
das ist nicht das Skript, nach dem ich gesucht habe. Was? Während die Schlacht instanziiert wurde. Also mal sehen, Kampfbenachrichtigung. Da gehen wir. Dies ist die instanziierte Schlacht, die der Gefechtszone hinzugefügt wird. Und jetzt öffnen wir das Drehbuch. Und das erste, was wir tun müssen, ist eine Liste von Kampftyp-Managern zu erstellen. Es wird also ein serialisiertes Feld sein. Und das Kampftyp-Manager-Array, es wird die verfügbaren Kämpfe genannt werden. Geben Sie ein, speichern Sie das. Und jetzt werde ich Ihnen eine Herausforderung stellen. Und Ihre Herausforderung wird es sein, einige Schlachten hinzuzufügen. Erstelle also drei potenzielle Kämpfe, denen die Spieler
gegenüberstehen werden und mit verschiedenen Feinden und Belohnungen. Also pausieren Sie das Video jetzt und erstellen Sie einige Schlachten. Okay, willkommen zurück. Hier können wir also einen Kampf hinzufügen und wie Sie sehen können, haben
wir mehrere Feinde und mehrere Belohnungsgegenstände. Also werde ich hier drei Feinde und drei Gegenstände hinzufügen. Jetzt fragen Sie sich vielleicht, warum wir hier
Strings verwenden und nicht wie bei der Belohnung. Artikel. Das liegt daran, wenn wir zurück und zu unserem Manager gehen und hier, wie wir einen Kampf erschaffen, wo ist er? Wo ist sie? Wo ist sie? Wir beginnen einen Kampf. Wir fügen die Feinde hinzu und sie sind vom Typ String in hier. Oder wo ist es, wenn wir den Kampf beginnen, die Schnur ist die Feinde zu laichen. Also können wir diese nicht benutzen, oder wir können auch dieses ändern, was eine gute Idee ist. Ich empfehle Ihnen, es auszuprobieren. Es ist ein sehr guter Weg, um zu lernen, wie man damit umgeht. Aber für jetzt, lassen Sie uns voran und wie viel Erfahrung? Oder zuerst, fügen wir unsere Feinde hinzu. Also gehen wir zu den Prefabs. Lass uns das hinlegen. Und der Angriff Feinde oder nein, der Kampf, die Feinde. Also werde ich hier ein blaues Gesicht hinzufügen, eine und eine Kriegslocke. Und das war's. Das wird eine Art leichter Kampf sein. Wir bekommen 100 EP und wir erhalten nur einen Gegenstand als Belohnung, das heißt, wir werden sehen, was es ist. Zunächst einmal fügen wir drei potenzielle Kämpfe gegen die Feinde hinzu. Also das, der zweite wird ein Magier sein. Mit der blauen Phase. Wir können sogar eine nother blaue Phase hinzufügen. Also haben wir zwei blaue Gesichter. Die Belohnung beträgt 600 und die Gegenstände werden nur ein bisschen einchecken. Und schließlich, das letzte potenzielle Phi, das wir haben, ist ein großer Meister mit einem Magier und einem, einem anderen Bild. Und das wird 1,
0, 0, 0, 500 XP sein. Und lasst uns die Belohnungsgegenstände festlegen. Also, was die Belohnungsgegenstände hier rein zu bekommen? Ich glaube, wir kriegen einen. Also werde ich zu den Atomen gehen und welche Gegenstände bekommen wir? Wir bekommen eine Art Silberpanzerung. Dann in, Also ist dieser hier fertig. Die zweite, die ein bisschen schwieriger ist, werden
wir eine,
goldene Rüstung und in einem Trank hinzufügen . Und schließlich die letzte, die am härtesten ist, fügen
wir zwei HP-Portionen hinzu. Ein Monopolmeer und eine goldene Axt. Also werden wir das retten. Und jetzt haben wir drei mögliche Kämpfe, aus denen wir wählen können. Nun, das nächste, was zu tun ist, ist, weiter zu gehen und in unsere Skripte zu gehen. Und in der Schlacht instanziiert oder wir werden ein paar Methoden erstellen. Also die erste, Methoden, die ich Variablen meinte. Die erste Variable wird also ein boolescher Wert sein und überprüft, ob sie bei Enter aktiviert wird. Also aktivieren und schalten, weil wir zwei Arten von Gefechtzonen erstellen können. Eine, bei der es sofort aktiviert wird, sobald wir hineingehen. Und eine andere, die einen Überblick über die
Zeit hält , die ein Spieler in dieser Kampfzone verbringt und dann den Kampf beginnt. Also werden wir einen privaten booleschen Wert erstellen, der den Überblick behalten wird, wenn wir in der Gegend sind. Speichern Sie das. Also, jetzt werden wir einen Unternehmer geben auf Trigger, Enter to D und wir werden überprüfen, ob das collision.com Tag, wir haben das nicht in einem langjährigen Spieler getan. Dann werden wir überprüfen, ob wir auf Enter aktivieren. Und wenn nicht, werden wir den Bereich überprüfen, um wahr zu sein. Und wir starten einen Zähler im nächsten Video. Aber für jetzt, lassen Sie uns einfach ausdrucken, dass wir oder wir sind, oder starten Sie den Kampf. Da gehen wir. Speichern Sie das wieder in Unity. Führen Sie unser Spiel, gehen Sie rüber in die Kampfzone. Und es funktioniert nicht, weil wir es nicht auf Enter aktiviert haben, aktivieren Sie auf Enter. Da gehen wir. Wir beginnen den Kampf, wenn wir betreten. Also ich hoffe, Sie genießen es und ich sehe Sie im nächsten Video, wo wir unsere zufälligen Schlachten beginnen fortsetzen.
122. Zufällige Kämpfe: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. Also haben wir eine Gefechtszone geschaffen. Zuallererst wird es aktiviert, wenn wir es betreten. Also werde ich rennen und demonstrieren, wie das funktioniert. Sobald wir die Zone betreten, es zu
einer Schlacht und 2s und 2s, werde
ich nein, ich bin mir nicht sicher. Und eine andere Option ist, dass, wenn wir nicht auf Enter aktivieren, wir das Spiel laufen. Wir haben eine Zeit zwischen den Kämpfen zu gewinnen. Wenn wir also jetzt für 1 Sekunde herumlaufen, beginnen
wir dann einen Kampf. Also lasst uns keine Zeit mehr verschwenden und loslegen. Okay, also Zeit, um mit unseren zufälligen Kämpfen fertig zu werden. Wir werden das Skript hier öffnen und wir werden ein paar Variablen erstellen. Die erste Variable, die ich erstellen werde, ist eine Zeit zwischen den Schlachten. Und es wird die Zeit zwischen den Schlachten sein. Und der zweite wird ein privater Float-Kampfzähler sein. Also dachte ich, das wäre eine großartige Gelegenheit dir
beizubringen, wie Kampfzähler im Allgemeinen funktionieren. Also und fangen Sie an, das heißt, als wir den Kampf begannen, werden
wir nach
dem Kampfzähler suchen und wir werden ihn auf eine Art Zufallswert setzen. So zufälliger Punktbereich. Und es wird eine Zeit zwischen den Gefechten mal 0,5 f und eine Zeit zwischen den Gefechten gesetzt 2 mal 1, 0,5 sein. Es ist also entweder ein bisschen weniger oder ein wenig mehr, indem man die Hälfte hinzufügt oder hinzufügt. Es ist kein bisschen, aber lassen Sie uns jetzt weitermachen, ein Update, wir werden nach ein paar Dingen suchen. Wir werden zuerst das Update erstellen. Wir werden prüfen, ob wir in der Gegend sind. Das bedeutet, dass wir das Gebiet,
einen Bereich auf wahr gesetzt haben . Und wo ist es? Und der Spieler Punkt Instanz Punkt deaktivieren Bewegung ist falsch. Wir wollen also nicht, dass der Spieler
das Menü öffnet und dort steckt, damit der Kampf beginnt, wir wollen sicherstellen, dass er die Fähigkeit hat, sich zu
bewegen und dass er sich entschied, in dieser Kampfzone zu sein. Und dann werden wir überprüfen, ob wir
einen Eingang haben , der Achsenrho erhält. Und wenn wir irgendeine Art von horizontaler Bewegung oder vertikaler Bewegung haben, dann werden wir den Kampf beginnen. Also werde ich in das Player-Skript gehen und ich werde
kopieren, die input.txt ist horizontal. Und ich bin mir nicht sicher, ob du weißt, was ich hier mache. Also überprüfe ich, ob es irgendwelche Eingaben auf der Achse, auf der Horizontalen gibt. Und das bedeutet, wenn es anders ist als 0, oder wenn wir irgendeine Bewegung auf der Vertikalen haben, bedeutet
das, dass wir uns innerhalb dieser Kämpfe bewegen. Wenn wir still stehen, wollen
wir den Zähler nicht starten. Wenn also die Bewegung auf der Horizontalen oder der Vertikalen anders als 0 ist, bedeutet
das, dass wir uns innerhalb der Gefechtszone bewegen. Das bedeutet, dass der Gefechtszähler von der Down-Punkt-Delta-Zeit herunterzählen kann. Speichern Sie das. Und dann werden wir überprüfen, ob der Gefechtszähler zu
irgendeinem Zeitpunkt 0 oder kleiner als oder gleich ist. Und warum stellen wir es so ein, dass es kleiner oder gleich ist? Denn manchmal, und das ist eine Frage, die ich oft bekomme. Manchmal kommt der Kampfzähler beim Entfernen von time.Deltatime nicht genau auf den Wert 0. Also, was wir tun, ist, dass wir überprüfen, ob es weniger als 0 ist, dann, wenn es ist, gehen wir voran und beginnen den Kampf. Aber nicht nur das, das bedeutet, dass diese Bedingung passieren wird, aber ich hoffe, Sie haben verstanden, warum wir es kleiner als oder gleich und nicht nur gleich 0 gesetzt haben. Also hier drin werden wir den Kampfzähler auf setzen, wieder eine Art Zufallsreichweite werden. Also gehen wir hin. Und dann beginnen wir eine Battle Co-Routine. Oder eigentlich sollte dies anfangen zu beschichten. Also starten wir eine Co-Routine, öffnen die Klammern, und ich werde voran gehen und Ihnen eine Herausforderung stellen. Ihre Herausforderung besteht also darin, das Goldene zu erschaffen. Sie müssen also eine Koroutine erstellen. Gefechte angefangen. Oder was auch immer der Name gesagt wurde, der Kampf zu aktiv muss eine Zufallszahl erstellen, um einen potenziellen Boden zu wählen. Sie müssen die Belohnung von Gegenständen und XP einstellen, müssen
Sie ein wenig warten, bekommen Sie es ein bisschen waren. Das bedeutet, Ertrag Rückkehr, warten Sie vier Sekunden, und dann müssen Sie den Kampf beginnen. Also pausieren Sie das Video jetzt und machen Sie die Herausforderung. Okay, willkommen zurück. Also werde ich voran gehen und die Schlachtfeld-Methode hier in generieren. Und es ist kein, wir müssen sicherstellen, dass es ein Auge Enumerator ist. Ich werde diese Codezeile hier entfernen. Und das erste, was wir tun werden, ist Zugriff auf die Spiele-Manager-Punkt-Instanz, Punkt-Kampf ist aktiv, wahr? Da gehen wir. Die zweite Sache ist, dass ich hier eine ausgewählte Kampf-Ganzzahl erstellen werde. Und es wird gleich dem zufälligen Punktbereich sein. Und es wird die 0 sein, die verfügbaren Kämpfe Punktlänge. Also, was das tut, wählt es einen Zufallswert zwischen 0 und der Anzahl der verfügbaren Gefechte. Es ist also ziemlich selbsterklärend. Wir haben bereits eine Menge Zufallsreichweite gemacht. Dann greifen wir auf den Kampfmanager und die Instanz zu. Und wir werden voran gehen und die Gegenstandsbelohnung so einstellen, dass sie
den verfügbaren Gefechten an der ausgewählten Position der Kampfpunkt-Belohnungsgegenstände entsprechen oder nein, nein. Ich meine, ja, das war's. Der zweite ist der Belohnungsbetrag XPS oder der EP-Belohnungsbetrag. Mit der EP-Belohnungserfahrung. Da gehen wir. Und dann werden wir nachgeben, um ein bisschen Zeit zu warten. Also Ertrag, Rückkehr, neue warten vier Sekunden. Und wie viel sollten wir warten? Etwa 1,5, denke ich, ist ein guter Zeitpunkt. Wir können es ändern, so viel wir wollen. Dann gehen wir zum Kampfmanager. Punkt-Instanz, Punkt starten die Schlacht oder Gefechte beginnen. Okay, also gehen wir. Es ist der Kampfbeginn. Wir sollten ihnen die Schnur von Feinden schicken. So die verfügbaren Kämpfe auf den ausgewählten Kampf Feinde. Da gehen wir, wir retten das. Und schließlich, eine gute Sache zu tun ist, dass wir verblassen werden. Wie werden wir einblenden? Ich habe vergessen, wie die Methode genannt wurde. Also, während der Menü-Manager und Fading, Fading, Fading Wörter, das verblassende Startmenü. Vernarbt, gutes Spiel verblassen Bild, so verblassen Bild. Also werde ich auf die Menü-Manager-Punkt-Instanz-Punkt-Bild-Methode zugreifen. Dadurch wird das Bild ein- und ausblenden. Guter Übergang in die Schlacht. Und schließlich werden wir hier etwas hinzufügen, wo wir die Zone zerstören
werden , wenn wir wollen, nachdem wir den Boden beendet haben. Also werde ich hier ein serialisiertes Feld hinzufügen, das ein boolescher Wert sein wird. Und wir werden die Aktivierung nach dem Start aktivieren. Und was dies tun wird, ist, nachdem wir das Spiel gestartet oder den Kampf gestartet haben, wenn wir nach dem Start deaktivieren wollen, werden
wir das Spielobjekt zerstören. Das heißt, wenn wir die gefechtete Zone beenden, wenn wir in dieser Zone zurückgehen, haben
wir dort keinen Kampf mehr. Also werde ich das alles retten. Ich werde wieder in Unity gehen. Lasst uns das retten. Ich werde deaktivieren und die Zeit zwischen den Kämpfen wird sein, ich weiß es nicht. Lassen Sie es uns auf eins setzen, speichern Sie das, führen Sie das Spiel. Und das bedeutet, dass wir 1 Sekunde in der Zone bleiben müssen. Also gehen wir hin. Eine Sekunde. Und wir sind nicht verblasst. Wir hätten anfangen sollen zu verschwinden. Können wir magische Blitze auf der Hauptseite verwenden, so dass Sie sehen und hören können, dass das funktioniert. Wir müssen ausblenden. Wie verblassen wir aus? Wir haben ein Ausbleichen. Fade, Bild, Öffentlichkeit, Leere, Fade Out. Und wir werden das alles kopieren. Gehen wir auf die Leinwand, überprüfen Sie das Bild, was hier passiert, der Animator. Öffnen Sie also die Bildparameter verblassen. Lassen Sie uns voran und erstellen Sie einen Übergang auf dem Rückweg. Und dies wird durch ein
und Fading ohne Austrittszeit mit der 0 Zeit zwischen Übergängen ausgelöst werden. Und wir werden sicherstellen, dass wir das Verblassen beenden. Das retten wir. Lassen Sie uns die String-Referenz kopieren. Gehen wir hier wieder rein. Und wir werden am Ende verblassen. Wir retten diese Schlacht instanziieren Wasser. Und wo sollen wir ausblenden? Wir sollten verschwinden, sobald der Kampf beginnt. Also gehen wir hin. Wir starten oder nein, wir rufen den Menü-Manager an. Instanz. Fade aus. Speichern Sie das wieder in unserem Spiel. Zurück zu den Szenen. Führen Sie das Spiel aus. Geh in die Gefechtszone. Versuchen wir, da drin zu stehen. Wenn wir also nur stehen, wird nichts passieren. Wenn wir uns bewegen. Da gehen wir. Der Kampf beginnt, wir verblassen, und jetzt sind wir im Kampf. Ladies und Gentlemen, versuchen wir zu gewinnen, aber ich denke, es wird ein wenig Zeit
dauern. Mal sehen, ob es zerstört wurde. Wo ist sie? Also keine Schlachten weiter, weil wir beim Aufprall zerstören wollen. Lassen Sie uns versuchen, nicht die aktivierte. Also führe das Spiel. Betreten Sie die Gegend, gehen Sie herum. Da gehen wir. Wurde es zerstört? Nein, die Kampfzone ist immer noch da. Und das Letzte, was wir tun wollen, ist, wenn wir auf Enter aktivieren, haben
wir das nicht wirklich begonnen. Also, wenn wir zurückgehen und statt zu drucken, werden
wir eine Kampf-Co-Routine beginnen. Und wir hätten zuerst anfangen sollen. Also starte Coroutine, öffne die Klammern, schließe die Klammern, Semikolon, gehe zurück, führe das Spiel. Führen Sie das Spiel aus. Und jetzt, wenn wir in die Kampfzone gehen, sobald wir es berühren, da gehen wir, beginnen wir die Schlacht. Also ich hoffe, Sie genießen, ich hoffe, Sie genießen, ich hoffe, Sie begehen Ihre Änderungen. Wir haben jetzt so viele Commits. Dies ist ein erstaunliches Projekt, an dem wir arbeiten. Wir haben ein fast fertiges RPG-Spiel, aber es gibt eine sehr, sehr, sehr wichtige Komponente in jedem RPG-Spiel. Und das ist ein Bosskampf. Und das ist es, was wir in den nächsten Videos machen werden. Dann sehen wir uns.
123. Boss: Willkommen zurück, meine Spiele-Entwickler. Wie Sie sehen können, haben wir hier einen gruseligen Dämon. Also, wenn wir unser Spiel laufen, wenn wir hier runter gehen, sind wir durch diesen Rand gegangen, können
wir sehen, dass wir einen Dämon haben, aber es ist zu spät. Wir müssen uns ihnen stellen. Also werde ich den Boss-Drachen angreifen. Er wird zurückgreifen. Ich werde den Boss-Drachen wieder angreifen. Lasst uns versuchen, ihn zu töten. Ich glaube nicht, dass es zu mächtig ist. Wir haben den Kampf gewonnen, weil wir ihn mit unseren Charakteren zerstört haben. Also lasst uns keine Zeit mehr verschwenden und lasst uns dazu kommen, unseren Boss-Feind zu schaffen. Oh, Fall. Also Zeit für einige Verlustkämpfe. Ich denke, das ist der lustigste und aufregendste Teil. Also werde ich hier einen Boss hinzufügen und zeigt. Aber zuerst brauchen wir einen Boss. Also werde ich zu den Sprites, Charakter, Feinden gehen. Ich werde hier mit der rechten Maustaste klicken und einen Ordner für den Chef erstellen. Und der Boss, den ich als diesen verwenden werde. Also fand ich diesen cool aussehenden Drachen mit ein bisschen Animationen. Ich dachte, es wäre cool, wenn der Chef tatsächlich ein paar Animationen hätte. Ich werde diesen Boss schleppen und hier, und wie Sie sehen können, ist er ziemlich klein. Also lasst uns in diese Sprites gehen. Lassen Sie uns das 30 machen, um sich zu bewerben. Ich denke, es ist alles ein bisschen zu klein. Ich werde sicherstellen, dass wir 16 versuchen. Wenden Sie das an. Da gehen wir. Jetzt haben wir einen großen, großen Boss. Wir können ihn sogar ein bisschen größer machen, aber jetzt behalten wir ihn einfach so, wie er ist. Wir werden all diese auswählen und sie 16 machen, lagig, machen sie alle. Kein Punktfilter angewendet. Und wir müssen nichts mehr tun. Oder wir tun es. Vielleicht müssen wir voran gehen und ändern Sie dies von der Standardfigur den Kampfcharakter und machen ihn 1. Drücken Sie die Eingabetaste Da gehen wir. Jetzt haben wir diesen riesigen, riesigen Boss. Ok? Da gehen wir. Also, jetzt werden wir unseren Boss hier herumsetzen ihn
vielleicht in die andere Richtung stellen. Wir können dies erreichen, indem wir diese beiden Minus1 setzen. Und dann werden wir das in den Boss-Kampf ändern. Wir werden ihm einen Box-Collider hinzufügen. Aber dieser Box-Collider wird nicht auf dem Chef sein, sondern auf dem Gebiet genau hier, wo der Spieler hineingehen und auslösen kann. Also setzen wir es als Auslöser ein und fügen dazu ein Gefecht hinzu, das instanziiert wurde. Und wir werden hier einen verfügbaren Kampf erschaffen. Es sollte nur eine Schlacht geben, und wir sollten die Feinde hier drin haben, sollte ein Feind sein und die Belohnungsgegenstände, lasst uns das Wort XP auf 3000 setzen. Und wir werden bekommen, vielleicht mal sehen, welche Art von Gegenständen wir bekommen können. Gehen wir zu den Prefab Artikeln. Natürlich bekommen wir Gold, Gold und ein paar HP-Portionen. Mal sehen, lassen Sie uns mehr HP Teil hinzufügen, drei HP Portionen, und zwei Monopol. Dort gehen wir und bekommen und goldene Axt, goldene Rüstung, drei HP Tränke und Ozeane zu verwalten. Lasst uns das retten. Jetzt Zeit, um einen Feind zu erschaffen. Und wie sollen wir das machen? Nun, ich werde einen der bereits erschaffenen Feinde der Schlacht benutzen. Ich werde die Kriegssperre hier hinzufügen. Und ich werde ein paar Dinge ändern. Also statt Kriegsherr, dies wird der, was sollten wir ihn der Boss-Drache nennen. Also pausieren Sie Drachen. Ich werde die Sprites ändern, um einen Boss zu haben. Da gehen wir. Also ein Boss Sprite. Und da gehen wir. Die maximale HP sollte 1, 0, 0, 0, 0, 0 sein. Bei einer aktuellen Altersgebühr von 100 sollten
die derzeitigen Manager achthundertachthundertzwanzig sein. Ich war aus Versehen. Geschicklichkeit sollte 16 sein. Verteidigung sollte 16 sein. Waffenleistung 60. Ja, sicher. Rüstung Verteidigung 50, ich denke, ist ein bisschen überwältigt. Das Sprite. Was soll das Sprite sein? Nun, wir können einen dieser Grundstücke benutzen, oder weißt du was? Ich denke, dieser wird verschwinden, genau wie die Kampffiguren, die wir haben. Was sollen wir sonst noch die tauben Partikel haben? Lassen Sie uns das hinzufügen. So prefabs und mal sehen Charakter. Was ist das für angreifende Partikel, der erlittenen Schaden? Nun, das ist etwas anderes. Dieser Seeschlachtmanager, oh, da gehen wir. Also der Charakter Tod, lasst uns wieder auf diesen klicken. Und das sind nicht die Hexenmeister, das ist der Boss. Dragon prefab wird es in nur ein bisschen ändern. Dann werden wir den Charakter Todeffekt auf ihn hinzufügen. Wir werden das retten. Was sollen wir sonst tun? Ich denke, das sind alles, oh, die Angriffe, die er hat. Also fügen wir alle Angriffe hinzu. Er wird alle unsere Angriffe haben. Du könntest einen speziellen Angriff nur für ihn auslösen. Ich empfehle Ihnen, das zu tun. Mal sehen, wo haben wir die Angriffe in der Schlacht? Nein. Okay, also habe ich den Ordner gefunden. Lasst uns auf den Boss-Kampf klicken. Und oh, ich wollte auf den Boss-Drachen klicken. Und mal sehen, was er hat. Er hat das Klofeuer. Ok. Also mussten wir zeigen, dass wir sie absperren. Also haben wir den Schrägstrich, das blaue Feuer, die Tentakel. Geben wir ihm den Laser, der ihm die violetten Tentakel gegeben hat, und geben wir ihm den Aufhellungseffekt. Also gehen wir hin. Jetzt haben wir einen sehr starken Boss-Drachen. Was sollen wir ihm noch hinzufügen? Ich denke, das reicht ziemlich. Also werde ich zu den Kampffiguren gehen. Also werde ich kämpfen Prefabs sehen, Feinde. Ich ziehe den Chef ein und wir erstellen ein originelles Prefab. Da gehen wir. Also, jetzt werde ich in die Boss-Schlacht gehen. Ich werde den Boss Dragon 4 entfernen. Nun, der Boss Kampf, mal sehen. Der Feind, dem wir gegenüberstehen, ist der Bossdrache. Whoo. So beängstigend, er ist wirklich irgendwie beängstigend. Wir wollen nicht auf Enter aktivieren, weil in der Regel Bosse, können Sie noch fliehen, bevor die Schlacht beginnt. Aber wir werden sehen, dass es für uns kein Entkommen
gibt, wenn der Kampf bereits beginnt . Also werde ich die Zeit auf zwei setzen. Ich werde sicherstellen, dass die aktive Eingabe bei Enter nicht aktiv ist. Also werde ich die Größe erhöhen. Und auch hier zu tun, ich bin mir nicht sicher, dass. Und ich denke, dass alles fast erledigt ist. Also jetzt, wenn wir unser Spiel laufen, Lasst uns versuchen, in diese Zone zu gehen und sehen, ob der Kampf beginnt. Also gehen wir hin. Okay, also offenbar nicht so gut. Okay, die Idee hier ist, dass wir unseren Kampfcharakter nicht wollen,
ich meine, dass das Sprite ein Kampfcharakter ist. Lasst uns ihn einfach als Spieler setzen. Er wird normal gemacht, wird ihn ein wenig nach rechts bewegen. Also werde ich, leider ist das Sprite schon hier. Wenn ich es also bewege, bewegt sich auch
der Box-Collider. Ich werde ihn hier reinbringen. Ich werde das anpassen. Da gehen wir, speichern Sie das. Und wir müssen auch sicherstellen, dass, wenn wir in
die Kampffiguren gehen und ich meine den Kampfmanager und die Feinde Prefab, wir die Drachen hinzufügen müssen. Also werde ich den Kampfmanager sperren. Ich werde in die Feinde beim Ziehen gehen. Lasst uns das retten. Und versuchen wir, da rüber zu gehen und zu sehen, ob das funktioniert. Jetzt beginnt der Kampf, und da gehen wir. Also haben wir diesen riesigen Drachen gegen uns, den wir bereit sind zu kämpfen. Nun, das nächste, was wir sicherstellen müssen ist, dass wir nicht weglaufen können, wenn es um den Boss geht. Also werde ich Ihnen eine Herausforderung stellen, und Ihre Herausforderung ist nirgends zu laufen. Sie müssen also eine Variable erstellen und t Kampf instanziiert, die
entscheidet, ob dies ist, ob wir weglaufen können oder nicht. Tun Sie dasselbe und der Kampfmanager fügt ein boolesches Argument zur Kampfstartmethode hinzu, das entscheidet, ob wir weglaufen können oder nicht. Und schließlich, setzen Sie die Variable und die des Kampf-Managers. Also pausieren Sie das Video jetzt und machen Sie die HL7. Okay, willkommen zurück. Also hier werden wir ein serialisiertes Feld erstellen. Lassen Sie mich einfach vom Rest trennen. Und es wird ein Boolean sein und es wird sein kann weglaufen. Und dann erstellen wir einen privaten booleschen Typ bool auf all dies sollte im Kampfmanager sein, die wir überprüfen werden. Also hier drin werden wir einen privaten Bool erstellen und es wird die kann laufen, wenn wir können oder nicht laufen können. Jetzt in der Kampfstart-Methode, werden
wir einen weiteren Parameter hinzufügen, der der
Pool laufen wird , speichern Sie das. Und jetzt sind wir geöffnet. Und hier drin, wenn die Schlacht nicht aktiv ist, beginnen
wir den Kampf. Und wir sagten, das kann gleich oder kleiner als es laufen, weglaufen
kann, ist gleich der Dose davonlaufen. Speichern Sie das. Jetzt werden wir nach unten in die Ausreißmethode scrollen. Während die Ausreißmethode, da gehen wir. Und wir werden eine Bedingung für all das festlegen. Und wir können nur weglaufen, wenn wir weglaufen können. Also werde ich diese beiden hinzufügen. Und ich werde das bewegen, wenn Aussage und Seite. Also, wenn wir laufen können und der Wert größer ist als der, ich meine, wir sollten all dies bewegen. Da gehen wir. Wenn wir also rennen können, dann werden wir prüfen, ob wir eine Chance haben wegzulaufen, während wir zur nächsten Kurve gehen werden. Und wenn wir auf die Schaltfläche Run away klicken, wird
es nicht funktionieren, denn wenn wir gegen eine Art von Chef sind, und das letzte, was wir tun müssen, ist, irgendwelche Fehler zu vermeiden. Also hier ist ein raffinierter Trick hier drin. So können Sie sehen, dass der Startkampf jetzt falsch ist, weil wir ein Argument hinzufügen müssen. Ein sehr netter Trick, den Sie tun können, ist, hier reinzugehen. Sie können sehen, dass wir zwei Referenzen haben. Wenn wir auf sie klicken, gehen wir. Wir können sehen, wir haben eine in der Schlacht Manager Instanz starten Schlacht und eine und hier, so dass wir doppelklicken können 0. Also sind wir hier in der Schlacht instanziiert. Und dieser Kampf instanziiert oder hat die Dose weglaufen. Also werden wir es so einstellen, wie es weglaufen kann. Und die zweite Referenz ist auf Zeile 50. 50. Das ist diejenige, die wir gesetzt haben. Der zweite ist in Zeile 73 und hier, und lassen Sie uns es auf wahr setzen. Ich kann nicht vorerst weglaufen. Wir werden das alles retten. Wir gehen zurück in Unity. Ich werde darauf warten. Also kämpft der Boss hier drin. Da gehen wir. Können wir also weglaufen? Nein, wir können nicht weglaufen, aber in der Kampfzone können
wir weglaufen. Also werde ich das retten. Ich werde das Spiel leiten. Und Sie können eine Art von Nachricht oder Benachrichtigung hinzufügen, was eine gute Idee ist. Also werde ich den Kampf beginnen. Lasst uns versuchen zu rennen. Nein, wir können nicht zulassen, dass wir ihn mit Blitz angreifen. Lasst uns versuchen, ihn mit allem anzugreifen, was wir haben. Da gehen wir. Er hat uns getötet, N1 getroffen, versuchen
wir, den Drachen anzugreifen. Das ist sehr beängstigend. Also haben wir einen sehr mächtigen Dämon. Wir wollen, o, wir haben ihn getötet. Schön. Also haben wir den Drachen besiegt. Wir haben goldene Axt, goldene Rüstung, HP,
HP, Trank, Trank und Monotrank. Wir können hier sogar etwas schaffen, das
sicherstellt , dass wir,
wenn wir mehrere Manipulationen haben wie eine kleine Klammer mit einem a3x neben ihnen hinzufügen können, und so weiter. Wir können sogar ausschalten, während die Aktivierung beim Betreten. Also jetzt, wenn wir hier herumlaufen, beginnen
wir den Kampf wieder, weil wir nicht die aktivierten, nachdem wir hier anfangen, da gehen wir zu aktivieren. Das sollte für Boss-Kämpfe immer an sein. Und da gehen wir. Das ist alles, was wir für unsere Schlacht tun mussten gewann gegen einen Boss. Im nächsten Video, offensichtlich, müssen
wir eine Möglichkeit zu schaffen,
Anfrage abzuschließen , wenn wir Feinde und vor allem Bosse besiegen. Also sehe ich dich im nächsten Video.
124. Nachschlagen: Willkommen zurück, Meine Lieblings-Spiele-Entwickler. Ich sage es immer mit äußerster Absicht, mit ganzem Herzen,
meine Lieblings-Spiele-Entwickler, du hast es so weit geschafft. Wenn wir unser Spiel laufen, können
wir sehen, dass wir hier eine Frage haben, die den großen Jag und Boss besiegen. Wenn wir untergehen, beginnen
wir einen Kampf. Versuchen wir, ihn so schnell wie möglich zu töten. Die Angriffe auf den Himmel sind so schwach. Also lasst uns versuchen, den Drachen zu töten. Wieder. Magie, Blitz, Drogen und Magie Tentakeln, Drachen, magische Tentakeln, Boss Dragon. Wir sind gegangen, wir bekommen unsere Belohnungen. Wenn wir auf Schließen klicken, können
Sie sehen, dass das Element fünf, das ist der Niederlage Big Dragon Boss, angekreuzt
ist und wir diese Quest beendet haben. Wie cool ist das? Vergeuden wir also keine Zeit mehr. Sehen wir uns hier und fangen wir an. Oh, okay, also wollen wir eine Art Quest abschließen, wenn wir den Boss besiegen. Wie sollen wir das machen? Zuerst gehen wir in unsere Schlacht instanziieren Wasser. Und hier werden wir ein paar Variablen erstellen. Ich fühle mich wie jedes einzelne Video, das ich auf die gleiche Weise anfange. Jedenfalls. Lassen Sie uns ein serialisiertes Feld erstellen. Tun Sie etwas außerhalb der Kiste. Dies ist also ein Boolean und es wird genannt werden sollte wässrig oder Quest
abzuschließen, nur Quest. Wenn das angekreuzt ist, bedeutet
dies, dass, wenn wir diesen Kampf beenden, eine Quest abgeschlossen werden sollte. Und wir werden einen öffentlichen Ring erstellen, wahren Ring Quest abzuschließen. Und lassen Sie uns das jetzt wieder im Kampf zu Belohnungen speichern. Wohingegen das Schlechte auch. Warum haben wir die Kampfbelohnungen hier nicht bereit für uns? Belohnungen, Belohnungen. Da gehen wir. Die Benachrichtigung zur Belohnung des Kampfes. Wir werden hier zwei Variablen erstellen, die eine öffentliche bool,
mark, quest, complete und ein öffentlicher String sein werden . Die Suche zu beenden. Speichern Sie das. Und jetzt können wir nach unten scrollen, wenn wir die Belohnung schließen. Hier drin werden wir überprüfen, ob wir die Markierungs-Quest abgeschlossen haben. Dann werden wir auf die Anfrage Manager Punkt-Instanz zugreifen,
Punkt-Markierung Quest, abgeschlossen, markieren Quest unvollständig oder abgeschlossen. Und hier drinnen werden wir ihm die Suche schicken, um sie abzuschließen. Ich erinnere mich, wie der Quest-Manager funktioniert. Ich bin mir nicht sicher, aber zum Glück haben
wir unsere Methoden benannt, um den Bedürfnissen zu entsprechen, was sie tun. Jetzt wissen wir, dass wir diese Quest als abgeschlossen markieren. Also jetzt wieder in der Schlacht instanziiert und eine unserer Coroutinen. Und hier, wenn wir die Schlacht beginnen, werden
wir die Schlacht anrufen, was man als Belohnungs-Handler bezeichnet. Da gehen wir. Punktinstanz, Punkt, Punktinstanz, Gedanke Markieren, Quest abgeschlossen sollte gleich der Quest abgeschlossen sein. Sollen wir also eine Quest abschließen? Und die zweite, es ist die Suche zu beenden, wird gleich der Suche sein, die wir hier drin haben. Wenn ich also doppelklicke, können
wir deutlich sehen, dass Lasst uns eins machen und die Schlacht instanziiert. Und dieser ist in der Tat Kampf Belohnungen Handler. werden wir retten. Wir gehen hier wieder rein. Wo haben wir gespeichert oder Quests im Spiele-Manager, Ich glaube, kam Manager, wo alle Quests dort gehen wir. Ich werde eins hinzufügen und hier, die Füße, die Füße. Großer Drache. Boss. Ich werde das kopieren. Und ich werde gehen, wohin sollen wir damit hingehen? Und zum Boss-Kampf? Und wir sollten eine Quest abschließen. Und das wird die Quest abgeschlossen sein. Ich füge es hier ein, ich gehe, speichere das. Ich gehe hier rein und wir sorgen dafür, dass wir nicht denken, dass Sie die kleine Schlacht beenden
sollten, oder wir können es hier testen. Also werde ich das retten. Ich werde unser Spiel leiten. Ich gehe voran und schaue den Spielmanager an. Und hier, zuerst der Game-Manager, Game-Manager. So können wir sehen, dass wir die Niederlage haben, die das fünfte Element hier ist. Also gehe ich in die Boss-Schlacht. Warte auf den Boss Attack, Magic Blitz. Versuchen wir, diesen Boss zu töten. Und wieder, das sind die großen Tentakel. Da gehen wir. Magie Aufhellung Boss Drache, Blue Boss Dragon Das war so ein schwacher Angriff. Versuchen wir die violetten Tentakel auf den Boss-Drachen. Also wir eins, Mal sehen. Jetzt sehen wir unsere Belohnungen. Wenn wir schließen, sollten wir sehen, dass dieses Element vollständig ist. Und da gehen wir. Wir beendeten eine der Quests, die wir tun mussten. Wie cool ist das? Also, jetzt haben wir alles abgeschlossen, was ich hoffe, Sie genossen haben. Ich denke, das ist das letzte Video des Kurses. Ich bin mir nicht sicher. Vielleicht machen wir noch einen, vielleicht aktualisiere ich das. Aber bis dahin hoffe ich, dass dir alles gefallen hat. Ich hoffe, Sie haben eine Rezension hinterlassen. Ich hoffe, du magst mich als Lehrer, lass es mich wissen. Ich würde gerne Ihre Meinung hören.