Unity Mobile Entwicklung - Erstellen Sie dein erstes mobiles Spiel! | Tirion Learning | Skillshare
Suchen

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Unity Mobile Entwicklung - Erstellen Sie dein erstes mobiles Spiel!

teacher avatar Tirion Learning, Software Engineer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      1:49

    • 2.

      Einrichtung

      1:36

    • 3.

      Die Grundlagen

      5:51

    • 4.

      Zeichengestaltung

      5:43

    • 5.

      Gestaltung einer Umgebung

      7:42

    • 6.

      Einführung in die Physik

      9:56

    • 7.

      Unser erstes Skript

      24:26

    • 8.

      Kamera Folge

      9:17

    • 9.

      Character

      9:08

    • 10.

      Unsere Game

      5:44

    • 11.

      Timer

      4:07

    • 12.

      Unsere Karte erstellen

      17:51

    • 13.

      Unsere Karte verbessern

      22:55

    • 14.

      Kleinere Verbesserungen

      11:13

    • 15.

      Scoring

      10:37

    • 16.

      SPEICHERN

      2:58

    • 17.

      Visuelle Verbesserungen

      12:27

    • 18.

      Sound-Design

      9:20

    • 19.

      Menüsystem

      17:31

    • 20.

      Monetarisieren unseres Spiels

      8:26

    • 21.

      Fertigstellen

      5:50

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

776

Teilnehmer:innen

2

Projekte

Über diesen Kurs

Hey dort, und willkommen in meinem Kurs zur Erstellung deines ersten mobilen Spiels!

In diesem Kurs erstellen wir unser ganz eigenes, spielerisches und monetisable Handyspiel von Grund auf neu an! Wir werden Unity und C# verwenden, um unser Spiel zu entwickeln und werden alles im Zusammenhang mit dem mobilen Spiel abdecken, von der Grundlagen der Programmierung bis hin zu allen Besonderheiten unserer Spielmaschine.

In den letzten Jahren habe ich 4 mobile Spiele erstellt und veröffentlicht, ganz alleine, und sie stehen alle aktuell auf Google Play zum Download zur Verfügung. Jetzt habe ich mit den Fähigkeiten diesen Kurs erstellt, in der Hoffnung, dass ich dieses Wissen verbreiten und dir dabei helfen könnte, dein erstes Spiel zu erstellen.

Als ich meine Handyspiele erstellt habe, habe ich in viele, viele Probleme gegangen und verbrachte infolgedessen Stunden oder manchmal sogar Tage im Web nach einfachen Wegen gesucht, um sie zu überwinden. In diesem Kurs decke ich alles ab, was ich mir gewünscht hätte, als ich mit der Entwicklung von mobile begonnen habe, und erläutere den gesamten Prozess der Erstellung von mobile von Anfang bis Ende durch einfach zu befolgende Video-Tutorials. Nach dem Abschluss dieses Kurses hast du alle Einheits- und C# gewonnen, die du brauchst, um deine eigenen Spiele und Apps selbst zu erstellen!

Das Erstellen eines mobilen Spiels von Grund auf kann eine knifflige Aufgabe sein, aber mit diesem Kurs lernst du, was mir als einfachste und effizienteste Methode zur Entwicklung von mobilen Spielen in Einheit erwiesen hat.

Wenn du dich für die Anmeldung entscheidest, wirst du eine kluge Entscheidung treffen, eine wertvolle und infrage bedarfsgerechte Fertigkeit lernen und dabei Spaß haben. Ich hoffe, ich bekomme das Privileg dich zu unterrichten.

Viel Spaß beim Tag! :)

Triff deine:n Kursleiter:in

Teacher Profile Image

Tirion Learning

Software Engineer

Kursleiter:in
Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Hey da und willkommen zu meinem Kurs über dein erstes mobiles Spiel mit der Unity-Spiel-Engine , die in die objektorientierte Programmiersprache C Sharp integriert ist. Mobile Gaming ist eine schnell wachsende 1-Milliarden-Dollar-Industrie. Und 2021 machten Alert Mobile Games 59% des gesamten Umsatzes der Spieleindustrie weltweit aus. Erstellen Sie ein unterhaltsames und interaktives Spiel und seien eine unglaubliche Quelle passiven Einkommens. Und die Fähigkeiten, die benötigt werden, um Spiele oder Software im Allgemeinen zu entwickeln , sind derzeit sehr gefragt als je zuvor. Wenn Sie die kluge Entscheidung getroffen haben Entwicklung mobiler Spiele zu lernen, aber nass zu beginnen, sind Sie bei uns genau richtig. In diesem Kurs behandeln wir alle Grundlagen der C-scharfen Immunität, die es Ihnen ermöglichen, Ihr Traumspiel ohne vorherige Erfahrung Wirklichkeit werden zu lassen. Wird auch alle Hauptaspekte der Entwicklung und des Designs mobiler Spiele abdecken Hauptaspekte der Entwicklung und des , von Spielschleifen bis hin zu Menüsystemen und erhält Feedback , um die Integration hinzuzufügen. Oder wie bereits erwähnt, bauen wir unser Spiel mit der Unity-Spiele-Engine auf, die in C-Sharp integriert ist, eines der am häufigsten verwendeten intuitiven Tools für Entwicklung mobiler Spiele, beides Wasser. Nach Abschluss dieses Kurses bauen Sie Ihr allererstes monetarisierbares Fanta-Spiel auf und erwerben die Fähigkeiten und Kenntnisse, um das Spiel zu verbessern und zu ändern, um es zu Euro zu machen. Außerdem hast du diese schwarze Linie erstellt, oder? Das Erstellen eines mobilen Spiels kann ein kniffliges Taskboard sein. Die Anleitung einer Erfahrung, Urin, wenn Sie überall hinausziehen, wo es viel weniger einschüchternd sein wird. Worauf wartest du noch? Investieren Sie in sich selbst, um die Grundlagen der mobilen Entwicklung zu erlernen , um die Grundlagen der mobilen Entwicklung . Sie können mit Ihrem allerersten Meeting beginnen. 2. Einrichtung: Hey da und willkommen. Nun, wie in der vorherigen Lektion erwähnt, die Tools, die wir verwenden werden , weitermachen, die Spieleentwicklung, unsere Einheit und C-Sharp, die wahr, mächtig, zuverlässig und vor allem sind , kostenlose Tools für die Spieleentwicklung. Um diesen Kurs zu beginnen, müssen Sie Unity installiert haben , sowie der Skripteditor wie Visual Studio, um C-Sharp bei der Installation für beide zu codieren der Installation für , ist ziemlich einfach. Ich werde jedoch kurz übergehen, um mögliche Fehler zu vermeiden, die auftreten können. Gehen Sie zunächst zu unity.com und leiten Sie den Slash-Download weiter, um die neueste Version von Unity Hub herunterzuladen. Wählen Sie aus, welcher der blauen Download-Links auf dem Bildschirm zu Ihrer Plattform passt, und folgen Sie dem Installationsprozess von diesem aus. dieser Anwendung können Sie verschiedene Installationen von Unity auf Ihrem Gerät hinzufügen, entfernen und aktualisieren. Starten Sie dann Unity Hub und stellen Sie sicher, dass die Version von Unity, die Sie als mobile Entwicklung installieren, überprüft wird. Ich werde diesen Vorgang demonstrieren, indem die neueste Version von Unity installiere, die derzeit auf meinem Gerät verfügbar ist, indem Android - und iOS-Büchermodus überprüfe, die Allgemeinen Geschäftsbedingungen akzeptiere und auf Ja klicke, wenn eine Eingabeaufforderung angezeigt wird, beginnt die Installation. Sobald dies erledigt ist, gehen zu Visual Studio.Microsoft.com Schrägstrich lädt den Download Microsofts eigenen Code-Editor herunter. Klicken Sie unter dem Community-Titel auf die Schaltfläche Kostenloser Download , um die neueste Version von Visual Studio zu installieren . Sobald das heruntergeladen und installiert ist, können Sie mit der Entwicklung Ihres allerersten Handyspiels beginnen . 3. Die Grundlagen: Hey, da. In unserer letzten Lektion haben wir Unity und Visual Studio installiert. Richten Sie damit unsere Entwicklungsumgebung ein. Jetzt müssen wir die Projektdatei für unser Handyspiel erstellen . Starten Sie Unity Hub, um zu beginnen, und wählen Sie unter Projekte die blaue Schaltfläche Neu aus. Sobald das Erstellungsfenster angezeigt wird, geben Sie den Namen für Ihr Mobilspiel und wählen Sie den Speicherort Ihrer Projektdatei aus. danach sicher, dass Sie die 2D-Vorlage auswählen. Vermeiden Sie eine der automatisch generierten mobilen Vorlagen da wir sie für diesen Kurs nicht verwenden werden. Sobald Sie fertig sind, wählen Sie Erstellen aus, New Jersey generiert ein brandneues Projekt für Sie. Dies kann einige Zeit dauern, also bereit, eine Weile zu warten. Sobald Ihr Projekt in Unity erstellt wurde, wird geladen. Das erste, was wir tun werden , ist sicherzustellen, dass Visual Studio als unser Code-Editor festgelegt ist. Wählen Sie oben auf dem Bildschirm Einstellungen bearbeiten aus. Sobald dieses Fenster geöffnet ist, gehen Sie zu externen Tools und stellen Sie sicher, dass die Version von Visual Studio, die Sie installiert haben, als externer Skripteditor ausgewählt ist. Wenn dies nicht der Fall ist und nicht eine der Dropdown-Optionen ist, wählen Sie die Option „Durchsuchen“ und doppelklicken Sie auf die Punkt-EXE-Datei von Ihrem installierten Speicherort in Visual Studio. Bevor wir in das Layout des Unity Editors einsteigen , beginne ich mit wenigen Konzepten, die für Alkohole relevant sind, die alles so einfach machen sollten, wie ich es verstehe. Ich fange mit den Grundlagen an. Offensichtlich werden wir Unity als unsere Spiele-Engine verwenden. Wenn dieser Begriff nicht bekannt ist, betrachten Sie ihn einfach als ein Werkzeug, mit dem wir einige Aspekte der Spieleentwicklung vereinfachen. Nun, das erleichtert einige unserer Hindernisse bei der Spielentwicklung. Wir werden unweigerlich unseren eigenen Code und unsere eigene Logik schreiben müssen . Irgendwann. Wir schreiben diesen Code in Visual Studio, den Programmierern, die wir zuvor installiert haben. Dies wird im Grunde unsere gesamte Logik formatieren und farblich kodieren , um die Analyse und das Verständnis zu erleichtern. Es wird den eigentlichen Code in der c-Sharp-Programmiersprache schreiben . Die Grundlagen all dieser Tools werden in diesem Kurs ausführlich behandelt. Also mach dir keine Sorgen, wenn irgendetwas ungewohnt klingt. Darüber hinaus gibt es ein paar Einheits- und C-Sharp-Konzepte , die nützlich sein werden , bevor Sie anfangen zu profitieren Sie werden viele Konzepte gewinnen und C-Sharp kann für diejenigen nützlicher sein , die dies tun weiß nicht, wie man sich in irgendeiner Sprache entwickelt. Wenn Sie also etwas Programmiererfahrung haben, können Sie möglicherweise einige der nächsten Punkte überspringen. Während des Codierens. Und C-Sharp ist ein unglaublich langwieriges Thema, das in kurzer Zeit nicht erklärt werden konnte. Einige Konzepte können hilfreich sein , bevor wir mit der Entwicklung beginnen, beginnen mit Prozeduren. Verfahren, die in diesem Kurs normalerweise anhand des Codeworts void oder durch Bereiche unseres Codes identifiziert werden können , die wir zu bestimmten Zeiten aufrufen , um bestimmte Aufgaben zu erfüllen, z. B. die Berechnung von High-Schools zum Generieren von Kartensegmenten. Das andere Hauptcodierungskonzept, das wir behandeln werden, bevor wir beginnen, sind Variablen. Man kann sich Variablen vorstellen. Es ist wie Speicherplätze für verschiedene Arten von Daten. Die Art der Daten, die gespeichert werden können, wird durch den Typ der Variablen bestimmt. Beispielsweise speichert eine ganzzahlige Variable zum Speichern einer Zahl und einer Zeichenfolgenvariablen Text. In Einheit gibt es noch ein paar weitere Konzepte , die hilfreich zu verstehen sind, bevor wir beginnen. Ein Objekt ist alles in unserem Spiel, dem wir Logik zuweisen können, z. B. Wenn wir als Sprite bezeichnen, beziehen wir uns auf das Kunstdesign für einen Charakter. Darüber hinaus wird als Einheit angesehen , um zwischen Abschnitten Ihres Spiels zu unterscheiden, z. B. der Hauptmenüabschnitt des Levelauswahlabschnitts in verschiedenen Ebenen. Und wieder ist es jedoch möglich, dein Spiel und eine einzelne Szene zu erstellen. Und der Einfachheit halber werden wir dies in diesem Tutorial tun. Dies ist kein Problem für uns, da unser Spiel nicht falsch anspruchsvoll sein wird , wenn wir keinen Ego-Shooter mit unglaublicher Grafik machen würden, aber mit mehreren Szenen wären wir empfohlen. Wenn wir uns schließlich auf Assets beziehen, beziehen wir uns auf Dateien, die wir in unserem Spiel verwenden wie PNG MP3-Dateien. Sie sich keine Sorgen, wenn das alles ein bisschen so aussieht , wie wir dies während des gesamten Kurses durchgehen werden. Das einzige, was in den Moment versinken muss , sind die grundlegenden, grundlegenden Konzepte von Einheit und C- scharf. Jetzt, da wir die Grundlagen unserer Spiele-Engine und Programmiersprache durchgegangen sind. Beginnen wir mit dem Layout des Unity-Editors. Wenn Sie nicht schießen, werden Sie das erste Mal von dieser eher einschüchternden Layouttür begrüßt . Wenn das verwirrend oder kompliziert erscheint wird es mit der Zeit viel vertrauter werden. Darüber hinaus sehen viele der Funktionen möglicherweise einen Editor, den wir in diesem Kurs nicht benötigen. Ganz oben im Unity Editor befindet sich ein Menü, in dem Sie viele andere Anwendungen mögen, Ihre Projektladungsdateien speichern, auf Hilfe zugreifen usw. Wir werden später in dieses Menü gelangen, aber es ist das, was Sie tun in erster Linie zur Navigation durch Einheit zu verwenden. Darunter haben wir unsere Szenenhierarchie. Dies ist eine Liste aller aktuellen Objekte in unserer Szene. Hier lagern wir alles. Ich bin ein Spiel von unserem Charakter bis hin zu Map-Komponenten zu unseren visuellen Design-Objekten. Mit ein paar komplexeren Ausnahmen. Wenn ein Objekt in der Szenenhierarchie nicht angezeigt wird, befindet es sich nicht in unserem Spiel. Darunter haben wir ein Asset-Menü, das eine Liste jeder einzelnen Datei enthält, die in unserem Spieleverzeichnis gespeichert ist . Wenn wir ein Lied zu unserem Spiel oder einem Charaktersprite hinzufügen wollten unserem Spiel oder einem Charaktersprite haben wir im Unity-Editor an diesen Ort importiert, wodurch wir es dann unserem Spiel hinzufügen können. Rechts befindet sich der Objektinspektor, es uns ermöglicht, die verschiedenen Eigenschaften von Objekten in unserer Szene zu optimieren . Dies beinhaltet ihre Position in unserer Szene, Größe, Rotation, die Logik, die sie ihnen zugewiesen haben , wie sie aussehen usw. Schließlich haben wir in der Mitte des Additivs unseren CGI. Auf diese Weise können wir sehen, wie Spiel und Action getestet wurden, Visuals ausprobieren und vieles mehr. Sie können sich das als Vorschau vorstellen was unsere Spieler sehen werden, wenn sie unser Spiel spielen, was es uns ermöglicht, unser Projekt zu testen , ohne es ständig zu erstellen . Jetzt können sich die Position und Größe all dieser Bereiche in Ihrem Editor je nach Fensterlayout unterscheiden. Wenn Sie das Standardlayout wie ich verwenden, sollten Sie ähnlich aussehen, aber Sie können diese Ebene ändern, wenn Sie besser wissen, was für Sie funktioniert. Auch wenn sich das alles einschüchternd anfühlt, mach dir keine Sorgen. Sie müssen sich nicht an alles erinnern , was wir in diesem Video durchgegangen sind, aber es kann vorteilhaft sein, es erneut anzusehen, da Sie einige der Konzepte beim zweiten Mal verstehen . Dies ist keineswegs erforderlich. Wir werden jedoch all diese Grundlagen während des gesamten Kurses behandeln diese Grundlagen während des gesamten Kurses wenn wir auf sie stoßen. 4. Unseren Charakter erstellen: Hey da und willkommen zurück. In den letzten drei Videos haben wir die Einführung in meinen Kurs, die Grundlagen der Einheit und der C-Sharp Einrichtung unserer Entwicklungsumgebung, alle Konzepte, die wir wissen müssen, behandelt die Einführung in meinen Kurs, die Grundlagen der Einheit und der C-Sharp Einrichtung unserer Entwicklungsumgebung, . Aber es ist jetzt an der Zeit, dass wir Erstellung unseres Handyspiels beginnen. Wenn Sie sich jetzt meinen Bildschirm ansehen, werden Sie sehen, dass ich das Standard-Unity-Editor-Layout verwende . Und unter Assets habe ich alles , was automatisch generiert wird, wenn Sie Ihr Projekt erstellen. Und dieser Kurs Assets-Ordner , den ihr nicht haben werdet. All dieser Kurs Assets-Ordner es ist, ist, es sind alle Assets. Die aktuelle ist also nur PNG-Dateien, aber später, wenn ich mehrere Spiele hinzufüge , werden auch die MP3s und Befores sein. Wenn ich diese brauche, brauche ich alles, was ich für mein Spiel und all diese Assets brauche, die ich unter diesem Video im Bereich Ressourcen verlinken werde . Sie müssen den Ressourcenbereich dieses Videos finden , die Kurs-Assets herunterladen, die Zip-Datei herunterladen, die ZIP-Datei extrahieren, damit Sie nur einen normalen Ordner haben. Ich muss diesen Ordner in den Assets-Ordner Ihres Unity-Projekts legen . Und nachdem Sie dies getan haben, sollte Ihr Bildschirm auf den Vermögenswerten genau wie meiner aussehen. Jetzt wird unsere erste Aufgabe in Unity darin bestehen, unseren Charakter zu erschaffen. Das wird im Moment nicht unglaublich heiß sein , da wir keine komplexe Logik hinzufügen werden . Wir werden keine Skripte hinzufügen. Wir werden nur den Charakter erstellen, den wir für den Rest des Kurses als Hauptfigur verwenden werden. Wir werden dies tun, indem wir hier zur Objekthierarchie gehen , mit der rechten Maustaste klicken und Leere erstellen auswählen. Jetzt werden wir unseren Spieler nennen. Ich nenne ihn „play up“. Und rechts hier sehen wir alle Eigenschaften, die dieses Objekt derzeit hat. Derzeit ist seine Position auf der X-Achse, Y-Achse und der Z-Achse, die wir nicht wirklich verwenden werden, da es sich um ein 2D-Spiel handelt. Ich empfehle Ihnen jedoch, dies immer 0 zu machen. Was wir nun tun müssen, ist, dass wir dieses Tool hier auswählen müssen , welches das Verschieben-Tool ist. Dies sollte je nach Ihrer Version von Unity hier sein. Wenn Sie eine frühere Version haben, ist sie vielleicht hier oben, aber finden Sie das Verschieben-Tool und Sie müssen diese überall ziehen, wo Sie möchten. Sie können dies auch tun, indem Sie diese Werte ändern. Aber offensichtlich können wir noch nichts sehen weil diesem Objekt nichts zugewiesen ist. Um es tatsächlich zu unserem Charakter zu machen. Wir werden einen Sprite-Renderer hinzufügen, der es uns ermöglicht, ein Sprite hinzuzufügen, das wir zuvor behandelt haben, eine PNG-Datei zu diesem Objekt. Ich habe es bereits eingegeben, aber für Ihren Fall tippe Sprite-Renderer ein und wähle diesen hier aus. Und Sie können hier sehen, dass dies alle Standardeinstellungen sein sollten, die Sie haben. Und hier drüben gibt es ein Sprite, dem derzeit nichts zugewiesen ist. Diese kleinen Boxen hier drüben werden wir Sprites oder Audiodateien zuweisen, alles, wenn wir diese Komponenten zu unseren Objekten hinzufügen . Offensichtlich gehen Sie in den Ordner „ Kurs-Assets “, wenn Sie ihn verwenden. Und wir werden unser Sprite-Quadrat machen wollen. Also klicke auf den Spieler. Und wir werden dieses Quadrat den ganzen Weg dorthin ziehen . Gerade jetzt. Eher groß. Womit Sie möglicherweise ein Problem haben wenn Sie versuchen , ein Handyspiel zu erstellen. Also werden wir diese Immobilie hier in Bezug auf alle unsere Vermögenswerte ändern . Wählen Sie den Kreis aus, halten Sie gedrückt, verschieben Sie das Quadrat und das Dreieck. Und wir werden die Pixel pro Einheit mit 10000 machen. Sobald das fertig ist, sollten wir ein viel kleinstes Licht haben . Jetzt könnte ich das weiter skalieren, bis ich es brauche, aber stattdessen dieses Rec-Tool auswählen. Dann klicke hier, halte die Umschalttaste gedrückt und bewege es so , dass ich mein Sprite nach Bedarf skalieren kann. Im Moment ist das ein viel besseres Sprite. Ich würde sagen, lasst uns sie vielleicht ein bisschen größer machen . Das ist viel besser. Übrigens sollte beachtet werden, dass ich mit meinem Scrollrad im Unity-Editor navigiere, um ein- und auszuzoomen und mit der rechten Maustaste gedrückt zu halten, um sich in der Szene zu bewegen. So navigiere ich in erster Linie im Unity-Editor. Es gibt verschiedene Möglichkeiten, aber das funktioniert für mich. Dann können wir sehen, dass die Skala diese sehr großen Grippewerte festlegt und die Z-Skala festgelegt ist , die wir nicht brauchen. Also lasst uns das 0 machen. Und lasst uns diese 300,32 machen. Es ändert sich nicht oder stimmt überein, und es ist einfach für den Computer , diese Werte zu speichern. Genau hier drüben haben wir unser Sprite, er ist nur ein Quadrat. Wenn wir hier auf dieses Spielfenster klicken, können wir sehen, wie das aussehen wird, sobald wir das Spiel spielen. Und wenn wir oben auf diesen Play-Button klicken, wird er unser Spiel testen und im Grunde alles ausführen. Und wir können sehen, dass es nur ein Sprites ist. Es wird sich nicht bewegen, aber so wird unser Charakter im Spiel aussehen. Wichtig ist zu beachten, dass wenn ich während dieses Spielfensters Änderungen vornehme, diese nicht speichern. Zum Beispiel habe ich ihn sehr lang gemacht und dann hier rübergeklickt. Diese Änderung wird nicht gespeichert, wenn ich es in der Szenenansicht getan habe, aber sie würde übergehen. So funktioniert Unity. Du kannst geringfügige Änderungen an deinem Spiel vornehmen , während du es spielst. Du kannst testen, wie sie funktionieren und dann werde ich sehen, dass du nicht sparst. Behalte das also im Hinterkopf. Nun, unser Charakter ist größtenteils so ziemlich erledigt, wir haben so ziemlich alles getan, was wir können, wir können derzeit nicht viel anderes damit tun , weil wir keine anderen Konzepte gelernt haben . Aber im Moment werden wir nur seine Farbe ändern. Machen wir ihn zu einem schönen gelben Charakter. Wie wir sehen können, sticht das in unserer Szene etwas besser hervor. Habe unseren gelben Charakter vor dem blauen Hintergrund. Ich will nicht, dass es all diese Ebene verbessert. Aber wenn du weiterfolgst, hättest du deinen ersten Charakter mit einer Spieler-Sprite-Renderer-Komponente aus dem Square-Stolz oder deinem eigenen Sprite erstellen einer Spieler-Sprite-Renderer-Komponente sollen. Aber ich empfehle, den offiziellen Ordner „ Kurs-Assets“ zu verwenden und die Farbe auf das zu ändern, was du willst. Du kannst sie sogar grün oder blau machen. Ich bleibe bei den anderen Phenoliken. Mir gefällt, wie das aussieht. Wenn Sie das getan haben, haben Sie den ersten Schritt zur Erstellung Ihres Handyspiels unternommen . Das nächste, was wir tun werden, ist eine Umgebung für diesen Ort zu schaffen . Er steht also nicht nur mitten im Abgrund, sondern jeder gute Arbeit. Und wir sehen uns im nächsten Video. 5. Eine Umgebung entwerfen: Hey da, und willkommen zurück zur Einheit. In unserer letzten Folge haben wir dieses Spielerobjekt erstellt und diesem Objekt die Position und die Skala sowie ein Sprite und eine Farbe zuweisen die Position und die Skala sowie . Was wir jedoch in dieser Episode machen werden, ist, dass wir eine Umgebung schaffen werden, um unsere Szene ein bisschen lebendiger aussehen zu lassen . Bevor wir das tun, müssen wir zuerst sicherstellen, dass unsere Unity-Version tatsächlich für die richtige Plattform entwickelt wird . Wir wollen es. In diesem Fall mobil. Gehe nach oben links und wähle Datei, Build Settings aus und wähle hier eine Plattform aus. Ich kann Windows mehrere Android als die drei Plattformmodule auswählen , die ich für diese Version von Unity installiert habe. Wenn ich für etwas anderes bauen wollte, könnte ich einfach Platform Module Isolation auswählen und klicken oder für einfachere wie iOS kann ich Installieren mit Unity Hub auswählen. Playstation scheint seltsame Dokumentation zu haben , aber offensichtlich werden wir uns darüber keine Sorgen machen. Ich werde jedoch mein Spiel für Android booten, da ich festgestellt habe, dass es viel einfacher zu testen Ich empfehle Ihnen genau das Gleiche. Selbst wenn Sie ein iOS-Telefon wie Audrey haben, klicke ich auf Switch Platform und biete eine kurze Ladezeit an. Es sollte sicherstellen , dass mein Projekt Unity für Android ausführen kann. Wir schließen das dann und gehen in eine Spielansicht. Wir können die richtige Lösung auswählen, die wir wollen. Ich habe meine derzeit auf 2160181080 Landschaft eingestellt. Sie können ziemlich genau auswählen welche davon Sie möchten. Sie können 1920 bis 1080 oder sogar im Hochformat machen, aber ich empfehle Ihnen nicht, dies für diesen Kurs zu tun weil Sie nur unsere Spielelandschaft neu starten. Jetzt haben wir das richtige Seitenverhältnis. Wir werden unsere Umgebung schaffen, aber wir möchten nicht, dass jedes einzelne Umgebungsobjekt, das wir erstellen hier in einer Liste ist, weil das sehr verwirrend wird . Stattdessen werden wir sie ein bisschen bestellen. Wir werden dies tun, indem wir Ordner oder übergeordnete Objekte mit einem Rechtsklick verwenden und Leere erstellen auswählen. Wir werden diese Umgebung nennen. Und dies wird im Grunde jedes einzelne Umgebungsobjekt speichern , das wir wollen. Klicken Sie dann erneut mit der rechten Maustaste darauf und klicken Sie auf Leere erstellen. Und wir können das sehen, weil wir mit der rechten Maustaste auf das Objekt geklickt haben, Es wird ein untergeordnetes Objekt darunter erstellt. Wir können das Flow nennen. Dann können wir sehen, ob wir die Umgebung bewegen, der Fluss bewegt sich damit, weil er elterlich ist. Wir setzen die Umgebung auf 0. Wir werden den Boden nach unten ziehen. Was wir jetzt tun müssen, ist einen Sprite-Renderer hinzuzufügen. Öffnen Sie Kurs-Assets, ziehen Sie das Quadrat. Und voila, wir haben einen sehr quadratischen Boden. Wir wollen nicht quadratisch fließen. Wir wollen noch ein Stockwerk, Etage. Wir werden dies also erreichen, indem die Y-Achse nach unten und die X-Achse hinüberziehen, um sicherzustellen , dass der Abfluss horizontal über unser gesamtes erstreckt wird. Sieh. Wenn wir zur Spielansicht gehen, können wir sehen, dass sie tatsächlich die gesamte untere Hälfte unseres Bildschirms abdeckt. Dann wollen wir als Nächstes einen Hintergrund oder einen Himmel hinzufügen , wenn du willst. Ich gehe in die Umgebung, klicke mit der rechten Maustaste und erstelle eine leere Bewegung und rufe diesen Hintergrund auf. erneut bei einem Sprite-Renderer Ziehen Sie erneut bei einem Sprite-Renderer das Quadrat und skalieren Sie es nach oben. Das Problem dabei ist jedoch, dass dies vor jedem anderen Objekt stehen wird , das wir in unserer Szene haben. Um dies zu verhindern, werden wir diese Reihenfolge im Layerattribut ändern diese Reihenfolge im Layerattribut , das an den Sprite-Renderer angehängt ist. Wenn wir dies auf etwas wie minus zehn einstellen, können wir sehen, dass sowohl unser Spieler unser Boden vor dem Objekt gesprungen sind. Offensichtlich ist der Fluss weiß wie dies ist. Du kannst das nicht wirklich sehen, aber vertrau mir, wenn ich das bewege und grau mache, können wir die Böden tatsächlich vorne sehen. Also mache ich den Hintergrund vielleicht dunkelblau. Und wir gehen. Das Letzte ist, dass wir unseren Boden noch eine Farbe machen, also mache ich die Grippe grün. Wir können sehen, dass es alles sehr fragwürdig aussehende mobile Spiel-Farbschema gibt. Und wir haben ein sehr einfaches Umfeld geschaffen, aber wir werden dort nicht aufhören. Wir möchten noch ein paar Objekte hinzufügen. Jetzt können wir weiterhin Objekte herstellen, wie ich es die ganze Zeit getan habe , und wir können den Prozess ein wenig vereinfachen. Wir können diese Assets tatsächlich nehmen und sie einfach direkt in unsere Szene ziehen. Und sie erstellen automatisch ein Objekt mit einem Sprite-Renderer für uns. Das Problem ist, dass sich dieses Objekt nicht in dem zuvor erstellten Environment-Ordner befindet, also muss ich es einfach ziehen und dort platzieren. Und Sie können sehen, dass es sich bewegt, um genau zu schreiben, was es sein soll. Dann werde ich das einfach verkleinern, vielleicht machen Sie es 0,7 um 0,7, um sicherzustellen, dass die X- und die Y-Skala gleich bleiben, wenn Sie die Dinge nicht dehnen wollen und das ist eigentlich nicht groß genug. Lassen Sie mich es also nicht kleiner als 0,40,4 machen. Dann schiebe ich es runter und wir können voila sehen, wir haben eine Spitze. Lasst uns diese Spitze lesen lassen. Jetzt ist das eine sehr kleine Spitze und ich will nicht einmal fünf, ich will drei. Also was ich tun werde, ich wähle dieses Objekt aus. Ich klicke auf Control C. Ich drücke Control V und es wird eine exakte Kopie des Objekts an genau derselben Position erstellen . Wir sehen also, wir können es jetzt nicht sehen, aber wenn wir es herausziehen, voila, gibt es unsere zweite Spitze und wir können das tatsächlich zweimal machen und drei Stacheln machen, was viel besser aussieht. Was wir jetzt tun werden, ist, dass wir auf unsere Spielansicht klicken, damit wir sehen können, wie sie aussieht. Es sieht nicht schlecht aus. Ich denke, was ich tun werde, ist, dass ich den Flow auswähle, dieses Rechteckwerkzeug auswähle und es dann nach unten ziehe , damit es die gesamte untere Hälfte des Bildschirms bedeckt , der sieht meiner Meinung nach etwas besser aus. Das Letzte, was wir tun werden, ist ein paar Münzen hinzuzufügen. Also werden wir diese schnellere Methode verwenden, die wir beim Ziehen entdeckt haben. Ich werde es einfach mit dem Rechteckwerkzeug verkleinern. Und das lege ich da drüben hin. Ich denke, meine Münzfarben sollten Gold sein. Das ist Orange. Es wird klappen. Seltsam. Gold, Orange wird meine Farbe sein. Ich mache genau das Gleiche, was ich mit den Dreiecken gemacht habe , kopiere es einfach rüber und mache drei Münzen. Dann wähle ich alle drei dieser Kreise aus, indem ich die Umschalttaste gedrückt halte und diese wieder in die Umgebung lege. Jetzt können wir sehen, dass unsere Umgebung in diesem einen Objekt gespeichert ist . Wenn wir also das Objekt bewegen, die gesamte Umgebung und bewegt sich mit uns. Dies könnte nützlich sein, wenn wir ein seltsames Spiel machen wollten , in dem die Umgebung bewegt, aber nicht der Spieler. Aber für unseren Fall wird dies ein ziemlich statisches Objekt sein, das nur verwendet wird, um all diese verschiedenen Umgebungsobjekte zu speichern . Das Letzte, was ich denke, dass wir hinzufügen sollten , ist vielleicht ein bisschen Details. Das erste, was ich tun werde, ist das etwas leichter zu machen , weil es mir nicht genau gefällt, wie es jetzt aussieht. Ich werde diese natürlich einfach anpassen wollen, indem Umschalttaste gedrückt halte und sie einfach so langsam nach oben schiebe. Mach das Gleiche mit den Münzen damit sie ein bisschen besser aussehen. wir, und ich werde den Spieler auf den Boden stellen, also sieht es tatsächlich wie ein Spiel aus. Jetzt sieht unsere Umgebung jetzt viel besser aus, aber ich wollte jede einzelne Sache, einschließlich des Spielers, ein bisschen nach rechts bewegen . Aber anstatt das zu tun, denke ich, dass ich meine Kamera einfach nach links schiebe. Die Kamera wird das sein, was jedes einzelne Objekt in der Szene erfasst . Wir können sehen, dass wenn ich es verschiebe, sehen wir, dass sich die Vorschau unten rechts ändert. Wenn ich also eine Kamera folgendes Skript machen wollte, bewegen Sie dies offensichtlich und die Kamera würde verschiedene Teile des Bildschirms aufnehmen. Das werde ich leicht nach links bewegen, vielleicht dort. Und alles sieht ein bisschen besser aus. Meiner Meinung nach. Die Umwelt ist grundsätzlich erledigt. Offensichtlich müssen wir all diesen Komponenten ein wenig Logik hinzufügen . Aber wir werden später im Kurs dazu kommen. Die Münzen und die Dinge machen eigentlich nichts. Jetzt könnten wir alles spielen, da sitzt einfach da und stapelt. Aber wir haben die ersten Schritte unternommen, um unsere Umgebung mit Unity aufzubauen. Gute Arbeit, und wir sehen uns im nächsten Video. 6. Einführung in die Physik: Hey da und willkommen zurück zur Einheit im Verlust, denn ich bin mir sicher, dass Sie sich erinnern, haben wir diese sehr fragwürdig aussehende Umgebung für ein mobiles Spiel geschaffen diese sehr fragwürdig aussehende Umgebung . Was wir in dieser Episode machen werden, wir einige der Teile der Umgebung, die wir etwas zu kompliziert machen, für den Ort, an dem wir uns in diesem Kurs befinden, löschen einige der Teile der Umgebung, die wir etwas zu kompliziert machen, für den etwas zu kompliziert machen . Und wir werden denjenigen, die übrig sind, Logik zuweisen. Lasst uns vielleicht so klingen, als würden wir uns rückwärts bewegen, aber wir sind es nicht, weil der Sinn der letzten Episode keine Lehre war, wie man genau diese Umgebung schafft. Es sollte dir beibringen, wie man neue Sprites macht, sie hinzufügt, Spiel gehen und sie mit diesen übergeordneten Objekten bestellen kann. Wir sind rübergegangen, löschen alle Münzen und Stacheln in deinen Szenen. Sie haben nur den Boden des Hintergrunds und der Spieler übrig. Dann kannst du deinen Plan annehmen wollen. Du wirst sie nach oben bewegen , damit sie in der Luft suspendiert werden. Nun, dieses bisschen ein Präventivschritt, aber vertrau mir, ich habe jetzt mehrere Aufnahmen von diesem Video gemacht und jedes Mal, wenn ich das nicht mache, bedeutet das, dass Sie eines der Dinge, die ich demonstriere, nicht DC können eines der Dinge, die ich demonstriere, nicht DC mach weiter und nimm den Hintergrund und du wirst das viel dunkler machen wollen. Gleiche gilt für das Stockwerk und das Gleiche mit dem Plan. Jetzt sieht das nicht gut aus. Ja, ich stimme zu. Aber das ist sehr wichtig, weil ich etwas mit einer neuen Komponente demonstrieren möchte. Und diese Komponente hat tatsächlich so, wie Sie sie sehen einen grünen Umriss um das Objekt. Und wir werden nicht sehen können , dass es mehr Kontrast gibt, wenn wir nicht dunklere Farben haben . Denn offensichtlich haben wir Bibliothek und Bibliothek und Hellgelb, was wahrscheinlich die drei schlechtesten Farben ist, die man gegenüber Hellgrün in Bezug auf den Kontrast haben kann. Also gehe ich weiter und gehe zu meinem Spieler. Jetzt, da ich mein Ding etwas dunkler gemacht habe, möchte ich eine Komponente hinzufügen. Und ich füge mit Cold Box Collider 2D hinzu. Ich bin mir sicher, wie Sie gesehen haben, gab es hier zwei beide Durcheinander, die wir aus dem Boss-Gleiter und der Box-Wolke 2D auswählen können . So ziemlich wann immer dies der Fall ist , wenn wir nach Komponenten suchen, wenn es eine 2D-Option gibt, werden wir sie verwenden wollen weil wir ein 2D-Spiel machen. Die 3D-Option funktioniert nicht wie später. Wir werden den starren Körper des Objektviertels hinzufügen. Es gibt auch einen starren Körper 2D und wir werden den starren Körper 2D verwenden , weil er für 2D-Spiele entwickelt wurde, genau wie wir es machen. Ich möchte fortfahren und den Box Collider 2D auswählen und darauf klicken. Und das wird es unserem Objekt hinzufügen. Und hier sieht man grünen Umriss , von dem ich gesprochen habe. Sie können es möglicherweise nicht in diesem Video sehen, aber Sie sollten es auf Ihrem Bildschirm sehen können. Es sollte einen grünen Umriss um Ihre Pflanze geben. Dieser Umriss ist eigentlich der Collider, den wir gerade hinzugefügt haben. Hier sind also der Box Glider 2D. Wir können sehen, dass ein Collider-Material ausgelöst wird, das dadurch verwendet wird , dass es von der zusammengesetzten Offset-Größe verwendet wird. All diese Eigenschaften verändern im Grunde genommen die Funktionsweise und das Aussehen des Colliders auf unserem Objekt. Alkali hier drüben ist eigentlich perfekt für unseren Spieler. Es ist genau um den Spieler herum. Der Grund dafür ist, dass der Spieler genau die gleiche Größe wie das Sprite hat. Das ist nicht immer der Fall. Offensichtlich können wir in anderen Kursvermögen sehen, dass dieses Quadrat genau die Größe seines Containers füllt . Aber wenn wir zum Beispiel einen Kreis verwenden und einen Box Collider hinzugefügt haben, können wir sehen, dass er dort draußen geht . Diese grüne Linie des Tages befindet sich derzeit auf der Außenseite der Sache , denn das ist die Größe des Spread. Weil wir ein Quadrat benutzen, sollten wir dieses Problem nicht haben. Aber das ist nur etwas, worüber man später notieren sollte. Wenn wir einen Box Collider hinzufügen wollen und die Einschränkungen ändern wollten , gehen Sie zu diesem Ding mit der Aufschrift Edit Collider. Dann können wir den Collider genauso ändern und skalieren, wie wir es für richtig halten, um sicherzustellen, dass er so passt, wie wir es wollen. Jetzt wird unsere Boss-Wolke hier im Grunde der Einheit sagen , dass, wenn wir mit einem Objekt kollidieren und ich dies nach unten ziehe und ich über den Boden gehe, das das Kollisionsereignis auslösen wird und die Einheit wird dementsprechend reagieren. Da es sich um einen normalen Box-Collider handelt, wird das, was passieren sollte, wenn wir fallen , tatsächlich aufhören, weil es ein bekannter Phosphit ist, der später in eine andere Art von Verlust geraten wird Claire, nämlich Viertel-Trigger. Wir können es tatsächlich ändern, um es auszulösen, indem wir das einfach nehmen. Dann wird es nicht aufhören, aber es wird dieselben Ereignisse auslösen. Also werden wir das offensichtlich benutzen. Wenn du zum Beispiel so etwas wie eine Kugel machst, wie ein Projektil, das durch Anatomie geht. Du würdest das zu einem Auslöser machen wollen, denn dann wird es nicht aufhören, wenn es den Feind trifft. Es wird durchgehen, aber der Feind wird immer noch ein Ereignis auslösen, du kannst sagen, okay, nimm so viel Schaden. Das ist jetzt ein bisschen hochgradig, aber wir werden später darauf eingehen. Wenn wir das Spiel jedoch ausführen, können wir sehen, dass wir einfach in der Luft suspendiert bleiben nicht mit irgendetwas kollidieren. Also werden wir die Wirkung ihres Colliders nicht sehen. Und wenn wir das tatsächlich nach unten bewegen, können wir sehen, wie ich alles durchmache. Dies hat zwei Hauptgründe. Einer ist, weil auf dem Boden kein Collider befestigt ist. Zwei. Wir planen nicht wirklich mit irgendetwas. Wir kollidieren einfach mit nichts, weil es nur ein Sprite ist, es ist kein Anbieter. Aber der zweite Grund ist tatsächlich , dass wir es jetzt nicht sehen würden, weil wir die s2-Kollisionen verwenden , selbst wenn dies so gebaut wurde, dass eine Kollision stattfinden kann, so gebaut wurde, dass eine Kollision stattfinden kann, nicht mehr sehen würden, was ist nicht großartig, aber es ist in Ordnung, weil wir später eine weitere Komponente hinzufügen werden, die uns die Kollision sehen lässt. Also mach dir jetzt keine Sorgen darüber. Ich habe nur versucht zu zeigen, wie das nicht kollidieren wird, weil man Collider nie kennt. das zu beheben, kehren wir jedoch zu unserer Szene zurück. Wir werden auf Floor klicken. Wir klicken, fügen einen weiteren Box Collider 2D hinzu. Lassen Sie mich noch einmal sehen, es geht genau nach außen , wo wir mussten, denn dies ist die gleiche Übung für Quadrate. Sehr cool. Jetzt haben wir zwei Collider. Und wenn wir zum Beispiel ein Spiel spielen und dieses hier kollidieren wird , würde es aufhören. Da wir jedoch keine Bewegung in unserem Spiel haben, müssen wir nur statische Objekte mit Textmarkern erstellen. Es wird nicht wirklich etwas tun wie ich bereits sagte, wenn wir es hierher bewegen, ignoriert dies Gesetze der Physik weil ich es im Grunde genommen mit derselben Sache bewege, auch wenn ich im Spielmodus bin. Um diese Kolitis tatsächlich zu demonstrieren, werden wir eine weitere Komponente hinzufügen, und wir werden einführen, dass diese Komponente als starrer Körper 2D bezeichnet wird einführen, dass diese Komponente als starrer Körper 2D bezeichnet wird. Starrer Körper 2D ist im Grunde ein komplett eingebauter Körper. Fügen Sie dieser Objektkomponente Physik hinzu und sehen Sie, ob wir den Mauszeiger über verschiedene Aspekte einer Physik bewegen. Es hat den Körpertyp, das Material, die Automatik, die Normmasse, den linearen Widerstand, die Schwerkraftskala, so ziemlich alles, was sich auf die Physik oder zumindest den ersten Teil der Physik bezieht , Newton's Laws ist in diesem starren Körper 2D, wir haben keine Beschleunigung, wir haben Schwerkraft, wir haben alles, so ziemlich alles, was wir in Bezug auf Physik brauchen , wird abgedeckt werden durch diesen starren Körper. Jetzt kann uns das offensichtlich auch helfen, wenn wir etwas gebunden machen wollen, also lass jemanden kollidieren und dann etwas anderes tun. Wir werden das noch nicht richtig machen , weil wir nicht ins Herbstspiel gehen werden. Zuallererst wollen wir keine springenden Sprites. Und Second Bull, das ist etwas komplexer, worauf wir später eingehen könnten, wenn wir Kollisionen haben. Aber im Moment werden wir nur diesen starren Körper verwenden, um zu testen, ob dieser Charakter fallen und aufhören wird , weil wir die beiden Collider hinzugefügt haben. Wenn ich weitermache und auf Play klicke, können wir sehen, dass es tatsächlich genau das tut , was wir wollten. Wir haben diesem Objekt jetzt Physik hinzugefügt. Wir können das tatsächlich verschieben. Und wir können sehen, dass die Physik offensichtlich ist, dass es ein bisschen komisch ist, wenn ich hochgehe , weil man so nicht wirklich Sachen testen sollte, wie ich das hochziehen und zurücklegen kann und dann können wir sieh was ich meine. Also habe ich die Wiedergabe tatsächlich durchgemacht , weil ich sie so schnell bewege. Dies ist ein seltsamer Weg für Einheit , diese Bedingungen zu sehen. Offensichtlich wird niemand das Spiel so spielen. Ich ziehe im Redakteur ein. Aber ja, wenn es so wäre, wäre es cool zu zeigen, wie die Physik tatsächlich funktionierte. Dieser starre Körper, den wir dem Spiel hinzugefügt haben, ist im Grunde genommen alle Standardeinstellungen hier sind so ziemlich alles, was wir brauchen. Wir müssen nicht wirklich zu viele davon ändern, aber ich werde ein paar ändern um es etwas schöner zu machen. Das erste, was ich tun werde, ist die Kollisionserkennung kontinuierlich zu machen. Und das ist nicht erforderlich. Das macht es im Grunde so , dass du sicherstellen kannst, dass du gesehen hast , als ich es auf und ab bewegte 1, es ging durch den Spieler. Und wenn ich das habe, wenn ich eine kontinuierliche Kollisionserkennung habe, wird diese Wahrscheinlichkeit minimiert, da ständig überprüft wird, ob sie dort kollidiert ist. Ich glaube, die Verdiener, die dort durchgemacht haben, waren , weil ich mich wieder in der Szene bewegte. Aber ich denke, in einem echten Spiel würde es jederzeit die Kollision auslösen. Das ist einfach eine gute Praxis. Ich habe das generell auf meine starren Körper gesetzt, aber es ist nicht erforderlich. Winkel-Ziehen. Ich mache auch 0 und mache auch die Schwerkraftskala. Ich finde immer, dass wahrscheinlich Skalen von einem oder ein wenig floaty du Flow Games To Sweet Spot so sein sollten. Sie können sehen, dass das etwas normalere Schwerkraft ist als wenn wir all das getan haben, Es gibt nur noch eine Sache, die wir tun müssen, um sicherzustellen, dass unser Spiel für unseren Charakter eingeführt wurde physik richtig. Und das wird diese Rotation einfrieren. Jetzt weißt du vielleicht nicht, was das bedeutet. Ich werde hier zeigen , wenn ich bewege, damit er an dieser Ecke landet, an diesem Scheitelpunkt, kannst du sehen, dass der Spieler fallen wird. Dann wird genau wie das wirkliche Leben die Rolle beim Falloff abschwächen. Das ist sehr realistisch und es ist sehr cool. Aber wenn wir dies für unser Spiel ankreuzen lassen, verursacht es später Probleme , wenn Sie darüber nachdenken, ob wir uns bewegen und etwas treffen, das wir nicht anzeigen, dass es sich in der Mitte dreht Wenn Sie zum Beispiel einen Geometrie-Strich nehmen , können Sie sehen, dass der Würfel, während sich der Würfel dreht, wenn er eher das Quadrat springt, nie verändert hat die Rotation nie verändert hat, wenn er abprallt. Die Dinge sind falsch oder Dinge. Das ist ziemlich gut für Handyspiele, denn stell dir vor, wir versuchen unser Spiel zu spielen und dann fallen wir so. Und wir müssen unser Spiel weiterhin als eine Art Seitwärtsquadrat spielen. Es ist nicht ideal. Wir werden fortfahren und klicken auf Rotation einfrieren z. Wenn wir dann zu diesem Beispiel zurückkehren, bewegen Sie das dorthin und wir fallen. Wir können sehen, dass wir nicht mehr fallen. Wir bleiben am Rande und können tatsächlich am Rand bleiben bis nichts mehr kollidiert ist, in diesem Fall fallen wir durch. Das ist das Schöne an dieser Kolitis und das ist es, was das Einfrieren unserer Rotation bewirkt. Nachdem wir dies getan haben, haben wir so ziemlich alles getan, was wir in dieser Lektion benötigen , um die Grundlagen einer Einführung in die Physik abzudecken , um die Grundlagen einer Einführung in die Physik abzudecken Wir könnten dieser Etage auch einen starren Körper hinzufügen aber wie Sie sicher vermutet haben, wird der Flow genau wie der Spieler fallen und das wäre nicht ideal. Und es hat wirklich keinen Sinn , diesem Bodenobjekt unsere Schwerkraftskala von 0 hinzuzufügen diesem Bodenobjekt unsere Schwerkraftskala von 0 hinzuzufügen da es nur ein wenig mühsam ist. Wir brauchen es nicht für unser Spiel. Im Moment haben wir so ziemlich alles gemacht, was wir können, und wir haben das gesamte Spiel der Physik eingeführt. Wir können jetzt sehen, dass wir ein fallendes Q haben, was sehr cool ist. Es wird uns ermöglichen, die nächste Lektion zu beenden, die tatsächlich unser allererstes C-Sharp-Skript hinzufügen wird . Und wir werden es schaffen, unser Spieler bewegen kann. 7. Unser erstes Skript: Hey da und willkommen zurück zur Einheit. der letzten Episode, wie Sie sich sicher erinnern, haben wir einen starren Körper und einen Box-Collider hinzugefügt. Ich spiele unser Objekt, um sie durch die Schwerkraft beeinflusst zu machen und mit dem Boden zu kollidieren, was wir auch eine Schachtel hinzugefügt haben Collider 2D. Jetzt ist das cool und alles, aber es kommt ein gewisser Punkt in unserer Entwicklungsreise für mobile Spiele. Nun, wir müssen tatsächlich anfangen unseren eigenen Code zu schreiben, wenn wir möchten, dass die Objekte ziemlich gut sind, was wir wollen. In diesem Fall möchte ich ein Bewegungsskript erstellen, mein Spieler aufhören kann, dieses Spiel wieder zu machen, denn derzeit ist es wirklich nur ein Quadrat, das zu Boden fällt, nicht super aufregend. Tun Sie das, ich muss anfangen, meinen eigenen Code zu schreiben. Dies kann ein bisschen einschüchternd sein, wenn Sie gerade erst anfangen. Aber glücklicherweise habe ich eine Spickzetschencode-Datei im Ordner „Kurs-Assets“ erstellt , die Sie hoffentlich früher installiert haben. Wenn nicht, brauchen Sie es nicht, aber ich empfehle Ihnen es zu installieren, da es sehr nützlich sein kann. Wenn wir weitermachen und das öffnen. Ich habe hier eine Liste aller Grundlagen des Codierens, die mit Beispielen. Und während die meisten dieser Dinge noch nichts tun, kann dies hilfreich sein, besonders später im Kurs, wenn wir über sie erfahren, damit Sie zurückkommen und überprüfen können, ob etwas vielleicht nicht der Fall ist Wenn Sie arbeiten, dass Sie die Syntax richtig haben , haben wir Variablen und ich bin sicher, haben wir Variablen und ich bin dass Sie sich aus unserem Einführungsvideo erinnern, Variablen sind im Grunde nur Speicherplätze für verschiedene Arten von Daten. Diese x-Variable speichert eine Ganzzahl oder eine Zahl. Diese y-Variable speichert String oder Text. Diese boolesche Variable Z speichert oder boolean oder true oder false. Und dieser starre Körper RB speichert eine starre Körperkomponente, die genau die Komponente ist wir unserem Spieler zuvor hinzugefügt haben. solche Variablen erstellen, können wir sie tatsächlich in unseren Codes referenzieren, damit wir diesen sie tatsächlich in unseren Codes referenzieren spezifischen starren Körper dieser Variablen zuweisen können spezifischen starren Körper , die wir RB genannt haben, und dann ändern können die RB-Variable, die wiederum dieses starre Volumen verändern wird. Wenn ich zum Beispiel die Schwerkraftskala ändern wollte, könnte ich Code schreiben, der besagt, dass RBD die Schwerkraftskala nicht ändert. Und dann würde RB, wo auch immer es verbunden ist, was ein starrer Körper wäre, der in diesem Fall diese besondere starr an den Spieler gebunden wäre, wird die Schwerkraftskala geändert. Darunter haben wir Arrays und ich bin noch nie über das Rennen gegangen. Aber wir werden später im Kurs darauf eingehen. Wir werden sie jetzt nicht brauchen, aber es scheint eine anständige Sache zu sein, zumindest die Aktie zu übergehen. Welche Arrays sind im Grunde wie Variablen aber in einer Liste. Sie können also hier oben sehen, dass es genau wie public int x aussieht, außer dass es sich um eine öffentliche Ganzzahl handelt, und danach hat es zwei eckige Klammern. Was diese eckigen Klammern im Grunde bedeuten , ist , dass ich hier keine Variable speichern werde. Ich werde viele Variablen zum Stillstand bringen. Und so wird dieses öffentliche int x-Array im Grunde eine Liste von Variablen namens x array speichern, verschiedene, die Sie sagen können, Okay, die erste Variable und Röntgen, Sie können dort einen Wert zuweisen, dann Sie können einen zweiten Wert zuweisen, den dritten Wert in diesem Abschnitt, wirklich nützlich, wenn Sie beispielsweise darüber nachdenken, wir vielleicht alle Punkte der Bestenliste speichern möchten. Wir wollen nicht, dass eine andere Variable für jede einzelne Schule besser ist, wenn wir ein öffentliches Ganzzahl-Array erstellen, ich nenne es Punkte und ordne dann jeden einzelnen Spielerstand einer Position in diesem Array zu. Dasselbe hier mit einer Zeichenfolge , mit der Sie vielleicht Dialog oder Text oder ähnliches speichern können. Wenn das für dich gerade nicht wirklich viel Sinn macht . Ich gebe dir keine Schuld, weil es viel sinnvoller ist, wenn wir es tun. Aber keine Sorge, ich wollte nur die Grundlagen dessen behandeln , was Arrays sind. Darunter haben wir Verfahren, die wir in unserem vorherigen Video durchgegangen sind. Grundsätzlich sind Prozeduren nur Bereiche unseres Codes, die wir bestimmten Zeiten aufrufen, um bestimmte Aufgaben zu erfüllen. Dieser ungültige Start, diese Prozedur wird tatsächlich automatisch von Unity generiert, und dies ist bei der Prozedur mit Unity-Aufrufen, wenn dieser Code zum ersten Mal ausgeführt wird, ist diese Update-Prozedur sehr ähnlich, außer dieser Prozedur ruft Unity jeden einzelnen Frame auf. Wir werden uns etwas später darauf einlassen , wenn wir unser Bewegungs-Skript schreiben. Aber wisse nur, dass diese Verfahren genau so sind, wie wir darüber gesprochen haben, außer dass Einheiten, die sie nennen, nicht die Knie genannt wurden. Darunter haben wir ein anderes Beispiel für ein Verfahren. Diese Prozedur wird als offene Brust bezeichnet , tut das offensichtlich nicht, aber ich wollte nur zeigen, dass Sie tatsächlich Ihre eigenen Prozeduren schreiben können . Darunter haben wir unser neues Konzept namens lokale Variablen. Und lokale Variablen können wir grundsätzlich in die Syntax schreiben. Syntax ist dieses Textformat. Wir müssen Sachen in Encode schreiben, um sicherzustellen, dass es funktioniert. Wir können das mit der Syntax schreiben int x gleich drei. Was dies im Grunde tun wird , ist, dass eine Variable namens x auf drei gesetzt wird, aber diese Variable wird nur innerhalb dieser Methode referenziert. Sobald diese Methode abgelaufen ist, wird die Variable effektiv zerstört. Wenn ich das so etwas wie lokales Gar nenne. Und dann versuche ich, auf lokale Var zu verweisen. Und hier können wir sehen, dass es nichts Cooles gibt. Wenn ich es eintippe, heißt es, dass der Name local var im aktuellen Kontext nicht existiert. Wenn ich es jedoch in dieses Verfahren verschiebe, können wir sehen, dass es genau weiß, was zu tun ist. Und es heißt nicht, dass es nicht existiert , weil es genau dort ist. Wir haben uns richtig entschieden. Darunter haben wir unsere if-Aussagen und das sind Bedingungen. Dies ist praktisch der grundlegende, einer der grundlegendsten Aspekte der Codierungsbedingungen. Wenn Aussagen, wenn sonst, Aussagen, wenn sonst, und so wieder, zu all jenen jetzt, im Grunde genommen alle diese Aussagen tun , sind sie die Logik zu überprüfen. Wenn wir zum Beispiel ein Jumping-Skript erstellen und wissen möchten, ob Spieler gelandet , überprüfen Sie, ob die Verwendung einer if-Anweisung nicht gerade ein Outpace ist, weil es nicht großartig ist Leistung. Aber wenn du theoretisch jeden einzelnen Frame überprüfen könntest, ob der Spieler geerdet ist und wenn er es ist, dann kann man zum Beispiel springen, sagen kann man zum Beispiel springen, wir hier drüben, wenn x größer als fünf oder x ist, x gleich drei ist. Ein gutes Beispiel dafür, ob Aussagen sind, wenn wir versuchen zu berechnen, ob der Spieler die Highschool erzielt hat. Wenn er es also täte, könnte man sagen, wenn die Highschool, wenn Sie größer sind als die High School, wenn Ihre Punktzahl der neuen High School entspricht oder wenn der Highscore geringer ist als unsere aktuelle Schule, dann führen Sie Code aus, der sagt im Grunde genommen , Okay, das ist eine neue High School. Diese else-Anweisung wird nur ausgeführt, wenn diese Anweisung dies nicht tut. Was dieser eigentliche Code sagt ist, wenn meiner Variablen x der Wert drei zugewiesen wird, führe diesen Code aus. Wenn es etwas anderem zugewiesen ist, führen Sie diesen Code aus. Wir können diese Aussagen tatsächlich ein wenig erweitern, indem gehen, wenn x drei ist, tun Sie das. Andernfalls, wenn x für vier gleich fünf ist, tun Sie das. Oder wenn x gleich fünf ist, tut mir leid, ich setze ein Gleichheitszeichen anstelle von zwei, x ist gleich fünf. Tu das sonst. Dieser Code ist etwas komplizierter. Es wird sagen, okay, wenn es drei ist, tun Sie das, wenn es voll ist, tun Sie das, wenn es fünf ist, alles andere tun das . Und diese Art von Code ist nicht großartig , weil Sie sehen können, dass der Computer das durchlaufen muss. Aber dann, dann, nach unserem ersten Handyspiel, wenn wir solche Dinge etwas einfacher verstehen könnten , ist es im Rahmen des Prozesses völlig in Ordnung. Darunter befindet sich das endgültige Konzept , das ich lehren wollte. Kalte Schleifen. Und Loops sind effektiv Möglichkeiten, denselben Code immer und immer wieder auszuführen. Diese for-Schleife, die Sie vielleicht zuvor gehört haben, läuft im Grunde eine gewisse Zeit. Was diese for-Schleife macht, ist, dass Full x am Anfang gleich 0 ist, während x größer als drei ist, erhöht x am Anfang oder am Ende der Schleife. Was das im Grunde sagt, ist, dass wir vier haben, aber hier sagen wir, okay, ich möchte die x-Variable verwenden. Und zu Beginn dieser Schleife möchte ich sicherstellen, dass es 0 ist. Danach habe ich eine Bedingung, die erfüllt sein muss, damit die Schleife weiterläuft. als drei ist, lassen Sie die Schleife also laufen, solange x größer als drei ist. Beim letzten Ding habe ich Code, der am Ende jedes einzelnen Loop-Zyklen läuft. Also im Grunde genommen sagen, wann immer das Ende jedes Loop-Zyklus X plus plus, was im Grunde Code für x um eins erhöht ist . Du kannst ein x plus drei x plus fünf machen. In diesem Fall habe ich x plus plus, was bedeutet, am Ende jeder Schleife x um eins zu erhöhen. Was diese Schleife sagt, ist der volle Satz x auf 0, während x größer als drei ist, die Schleife ausführen und jedes Mal x erhöhen. Diese Schleife wird eigentlich nicht funktionieren, wir müssen das auf weniger als drei ändern. Das wird viel sinnvoller sein. Das heißt im Grunde: Okay, nun, setze am Anfang x auf 0, während x weniger als drei ist. Machen Sie weiter mit der Schleife und erhöhen Sie jedes Mal x. Wenn wir hier etwas schreiben mussten, das Newport zweimal oder dreimal ausführt , weil Sie Läufe beim ersten Mal bei 0 sehen können , dann nimmt es zu. Es ist eins, es ist immer noch weniger als drei. Also geht es wieder, um es zu speichern, denn wieder drei, nicht weniger als drei. Dann endet die Schleife. Darunter haben wir While-Loops. Während die Schleife im Grunde dasselbe wie for-loops macht, außer dass die Bedingung für eine While-Schleife nur ausgeführt werden muss, muss nur wahr sein und die While-Schleife wird ständig für immer laufen. Wenn wir also nie x ändern, wird diese Schleife von unendlich laufen, denn wenn wir x auf V2 setzen, wird es in Ordnung, X weniger als drei, okay, X weniger als drei. Jetzt wird sich das ändern. Die for-Schleife wird eine bestimmte Anzahl von Malen ausgeführt, aber eine While-Schleife und läuft für unendlich, was sie manchmal etwas lästiger macht , wenn wir Fehler machen. Denn wenn wir einen Hauch von diesem Lutheraner für die Unendlichkeit haben, verursacht es fast immer einen Absturz. Und das ist nicht großartig für unseren Computer oder unseren Code. Es ist nicht schlecht, es bricht nichts, aber nur in Bezug auf unseren Seelenfrieden führt es manchmal dazu, dass die ganze Einheit geschlossen werden muss, und dann haben wir vielleicht nichts gerettet. Ich würde empfehlen, While Loops nicht zu verwenden , bis Sie ein vollständiges Kreuz mit ihnen haben. Ich sehe nicht voraus, dass wir gesamten Kraft während der gesamten Kraft während der gesamten Kraft währenddessen Und im Allgemeinen, während Loops von einer Nischensache befreit sind , die Sie nicht immer codieren müssen, aber manchmal müssen Sie sicherstellen, dass Sie, wenn Sie eine While-Schleife verwenden, oder? Und damit es eine abschließende Bedingung hat , da Sie sonst in zehn Jahren einen Absturz verursachen können. Und jetzt versuchen wir uns, unser allererstes Skript von Grund auf neu zu erstellen. Das machen wir im Assets-Ordner. Gehe zu Assets und wir klicken mit der rechten Maustaste, wir werden erstellen, wir erstellen einen Ordner und nennen ihn Skript. Dies ist nicht erforderlich, bedeutet aber im Grunde nur, dass wir unseren gesamten Code hier einsetzen können, also ist alles nett und organisiert. Das musst du nicht tun. So organisiere ich gerne mein Vermögen. Und klicken Sie erneut mit der rechten Maustaste und wir werden das C-Sharp-Skript erstellen. Ich nenne diese eine Bewegung. Wenn ich jetzt auf das Bewegungsskript doppelklicke, wird es in Visual Studio geöffnet, genau wie ich es wollte. Und wir können hier in unserem Skript sehen , dass wir drei Zeilen an der Spitze haben, die alle Systemsammlungen und Unity Engine verwenden. Dann eine Klasse namens Movement Stored Procedure und eine Update-Prozedur. Ich weiß nicht, ob ich das im vorherigen Skript behandelt habe , aber im Grunde was diese grünen Buchstaben sind, was diese grünen Buchstaben sind, unsere Kommentare. Und das ist im Grunde die Art zu sagen, okay, ich möchte nicht, dass dieser Code läuft, aber ich möchte ihn als Text haben. Wenn ich etwas darunter schreiben wollte. Dieses Programm ist cool. Offensichtlich, wenn ich das ohne Kommentare schreibe, wird Einheit sehr Computer sein können wie Was hat er hier versucht zu sagen? Es gibt keinen Token-Syntaxfehler. Der Name cool existiert nicht. Der Name dieser konnte nicht gefunden werden, indem man sagt, was ist das? Was ist Programm ich während du das IS-Codewort hier benutzt, was ist cool, es war sehr verwirrt. Was diese beiden Schrägstriche tun, ist Unity zu sagen, ich möchte nicht, dass das läuft. Ich schreibe nur einfache Texte, damit ich jemandem etwas mitteilen kann , der meinen Code liest. Wenn Sie diese Datei beispielsweise erstellen, generiert Unity hier automatisch zwei Kommentare für Sie. Sie sagen Ihnen, wie oft die Store-Prozeduren kalt sind und wie oft Prozedurcode aktualisiert werden, von dem sie sagen, dass start vor dem ersten Frame-Update aufgerufen wird, Update wird einmal pro Frame aufgerufen. Das sind die Unity-Entwickler, die Ihnen sagen was diese beiden Verfahren tun, damit Sie wissen, dass Sie auch den Mauszeiger darüber bewegen können und es wird Ihnen genau dasselbe sagen. Im Grunde heißt das, dass die Einheit diese Verfahren durchführt und sie selbst nennen. Wir müssen diese Prozeduren nicht aufrufen. Wir können diese Verfahren verwenden, die Unity aufruft, um den Rest unseres Codes zu erstellen. Wir können diese beiden Kommentare löschen. Wir können mit unser allererstes Bewegungsskript erstellen diesen beiden Prozeduren unser allererstes Bewegungsskript erstellen. Das erste, was ich mache, ist ein paar Variablen zu erstellen. Die erste Variable, die ich will, ist ein öffentlicher starrer Körper 2D RB. Und das wird einen Verweis darauf erzeugen der starre Körper im Player gespeichert ist , damit ich sie bewegen kann . Ich erstelle eine andere Variable, eine öffentliche Ganzzahl, und ich nenne es Speed. Das wird eine Geschwindigkeit sein , mit der der Spieler steigt. Ich erstelle eine weitere Variable der Qualität, springe falsch. Das ist die Geschwindigkeit , mit der der Spieler vom Boden springt. Ich erstelle eine andere Variable und nenne sie Boden. Und das wird uns im Grunde sagen, ist der Spieler geerdet oder nicht? Offensichtlich können wir nur auf den Boden springen. Als Warnung schreibe ich diesen ganzen Code mit Tastaturbefehlen. Ich sage, wenn der Platz gedrückt wird oder wenn dies gedrückt wird, denken Sie vielleicht darüber nach, warum wir ein Handyspiel machen und das stimmt. Aber wenn ich mein Spiel im Unity-Editor testen möchte, kann ich tatsächlich Tastaturbefehle schreiben, obwohl ich Bowden für Android bin und Unity so aussehen wird, okay, benutze einfach die Leertaste. Und wenn ich dann das Spiel für Android baue, diese Befehle offensichtlich nie laufen. Wenn ich also hier ein Update schreibe, wenn ich sage, wenn die Person die Leertaste passiert, springe, dann wenn ich mein gab Android baue, kannst du auf keinen Fall springen weil es die Leertaste gibt. Aber wenn ich eine Rente teste, werde ich das verwenden, um sicherzustellen, dass alles funktioniert. So werden wir diesen Kurs eigentlich machen? Wir werden diesen ganzen Kurs erstellen, der für den Computer getestet wurde, und schreiben dann das Ende. Ich zeige Ihnen, wie Sie alle Ihre Eingabebefehle so ändern können, dass sie für Mobilgeräte funktionieren Es ist wirklich einfach, weil wir nicht so viele Steuerelemente haben werden. Wir werden nur einen Sprung machen. Diesen Sprung werden wir durch Antippen auslösen. Aber im Moment werden wir es über die Leertaste tun , um die Dinge viel einfacher zu testen. Ich gebe Input ein, habe fgetc key down. Und ich öffne die Klammer und bleibe Schlüssel Code Dot Space. Darunter öffne ich geschweifte Klammern, die wir, wenn wir eine if-Anweisung oder Prozedur verwenden, die offene geschweifte Klammer eingegeben und dann die Eingabetaste und vor allem gut für uns drücken. Ich gehe hier drüben, lass mich die löschen. Ich sage „Kommentar“ im Sprung. Offensichtlich wird dieser Kommentar, wie wir rübergegangen sind, nicht laufen, es ist nur Text. Aber im Grunde genommen kann ich damit Code speichern, den ich noch nicht geschrieben habe. Also weiß ich, was ich das sagen muss. Jetzt jedes einzelne Frame, wenn ich die Leertaste runter bekomme, möchte ich springen. Jetzt. Ich möchte nicht jedes Mal für uns zu Space Key springen. Ich möchte nur springen, wenn ich in dieser if-Aussage Hausarrest habe. Ich werde dort unten noch eine If-Erklärung abgeben. Wenn er geerdet ist. Ich öffne diese Klammer-Skin. Das ist nicht das, was als verschachtelte if-Anweisungen in einer if-Anweisung bekannt ist , in einer if-Anweisung könnte ich diese tatsächlich als eine if-Anweisung schreiben. Aber der Einfachheit halber ist es meiner Meinung nach viel einfacher zu lesen , wenn dir das gefällt. Und wir können etwas über diese zusammengesetzten Aussagen später erfahren , das werden wir jetzt nicht behandeln. Wenn Grounded, werden wir springen wollen, dann werden wir nicht springen wollen , wenn wir nicht Hausarrest haben. Jetzt müssen wir tatsächlich ein bisschen Code schreiben , um sicherzustellen, dass wir tatsächlich springen können. Ich gehe hier rüber und mache meine eigene Prozedur. Ich schreibe public void und nenne es springen, setze Klammern und öffne dann die geschweifte Klammer und drücke die Eingabetaste und drinnen durch Sprung schreibe ich Code, um den Sprung zu machen. Also habe ich diesen Hinweis auf den starren Körper und die starren Körper, was wir benutzen werden, um zu springen, ich tippe RV, und das ruft im Grunde den starren Körper zurück. Jetzt kann ich dot machen und ich kann mich ändern oder? Geschwindigkeit. Das bedeutet im Grunde, dass ich die Geschwindigkeit des starren Körpers ändern werde. Das ist die lineare Geschwindigkeit. Es ist also hoch und runter und links und rechts. Ich kann diese Geschwindigkeit machen wo immer ich will. Ich kann gleich gehen. Und weil ich dann zwei Werte einfüge, einen X-Wert von x Velocity und Y-Wert für y-Geschwindigkeit. Ich gebe neuen Vektor zwei und öffne dann Klammern und schließe Klammern und dann Semikolon. Wir setzen immer ein Semikolon am Ende unseres Codes. Was das im Grunde tun wird. Es wird sagen, okay. Stellen Sie die RB-Geschwindigkeit auf wo immer ich will. Wenn ich 55 gehe, wird die RB-Geschwindigkeit beim Springen so laufen. Und wenn ich es auf minus 55 setze, wird es so sein. Minus fünf und minus fünf so wird es gehen, whoop. Und wenn ich es zum Beispiel auf 05 setze , wird es woop. Du denkst vielleicht, Oh, das wollen wir weil wir wollen, dass es springt. Aber wenn das der Fall ist, würde ich gewinnen im Grunde so gehen. Du springst und die Eukarya und bewegst den Sprung, das wollen wir nicht. Wir wollen mit dem gleichen Schwung springen Sie die ganze Zeit getragen haben. Mit anderen Worten, wir wollen die Geschwindigkeit von allem, was sich der starre Körper befindet, in seiner x-Richtung beibehalten . Wenn du also zurück oder vorwärts gehst oder still stehst, wollen wir das beibehalten und wir wollen nur das y ändern. Ich werde diese Y-Wert-Sprungkraft machen. Das ist die Variable, die wir hier gemacht haben. Derzeit ist integer auf 0 gesetzt , da wir ihr keinen Wert zugewiesen haben. Aber wir können in den Unity-Editor gehen und wir können Sprungkraft dahin ändern, wo wir wollen. Und das ist die Geschwindigkeit, mit der du springst. Und anstatt 0 hier zu setzen, gebe ich RV-Punktgeschwindigkeit Punkt x ein, was im Grunde heißt: Okay, mach die Geschwindigkeit, die x-Geschwindigkeit. Ändern Sie also nicht die X-Geschwindigkeit, sondern machen Sie die Y-Geschwindigkeit unabhängig von dem Wert in Sprungkraft gespeichert ist. Dies wird eine Zahl sein, ist. Dies wird eine Zahl sein die wir zuweisen werden, was wir wollen. Das ist so ziemlich alles, was unser Sprungcode sein muss, wir werden aufspringen und zurückfallen. Dies sollte tatsächlich funktionieren, wenn wir in Unity gehen. Wenn wir einfach den Kommentar daraus entfernen und Klammern danach setzen, rufen wir diese Methode tatsächlich weil wir Sprungklammern eingegeben haben, rufen wir diese Methode auf. Wenn ich eine andere Methode namens aufgesprungen hätte, könnte ich gesprungene Klammern tippen und das würde diese Sprungprozedur ziehen , weil ich es nicht tue, es findet nichts, weil ich es getan habe diese Sprungprozedur allerdings. Ich nenne mich Sprungprozedur, solange ich die Leertaste drücke und Hausarrest habe. Jetzt springe ich hoch und lande wieder nach unten. Offensichtlich haben wir den Code noch nicht beendet, aber wenn wir in Unity gehen, sollte das tatsächlich so funktionieren, wie ich es möchte. Das einzige, was ich jedoch tun muss, ist, dass ich ein Zeichen für ein paar dieser Werte brauche. Also das erste, was ich tun möchte, wenn du noch nicht schon ein Bewegungsskript auf den Spieler ziehen kannst. Sobald Sie das getan haben, nehmen Sie Ihren starren Körper und ziehen Sie ihn auf diese RB-Variable. Also haben wir einen Link zu ihnen. Dann kannst du die Geschwindigkeit einstellen, was immer du willst. Ich werde fünf setzen, offensichtlich bin ich das noch codiert, also werde ich nichts tun und ich mache meinen Sprung auch falsch fünf. Dann werde ich diesen Grund der Variablen ankreuzen , weil wir in unserem Code sehen können, dass ich nur springen kann, wenn ich Hausarrest habe. Und weil ich die geerdete Logik noch nicht codiert habe, werde ich nie abgerundet sein. Es wird automatisch auf „false“ gesetzt und ich werde nicht springen. Aber wenn ich Ground True sage, sollte es funktionieren. Wenn ich jetzt spiele, drücke ich Jump. Du siehst, dass ich aufspringe, was echt cool ist. Wir haben keinen sehr erbärmlichen kleinen Sprung codiert. Und der Grund, warum wir Variablen verwenden, ist, dass wir sicher alle zustimmen können, dass der Sprung nicht annähernd hoch genug ist. Also werde ich diese Sprungkraft ändern und zehn machen . Siehst du, das ist ein bisschen besser. Ich denke, das ist fast gut genug. Ich mache meinen Sprung für etwas wie 12. Wir haben einen schönen großen Sprung für unser Handyspiel. wir jetzt in der ersten Episode behandelt haben, wenn wir Änderungen im Spielmodus vornehmen und sie nicht gespeichert, wenn wir Änderungen im Spielmodus vornehmen und wegklicken. Aber ich kann mich einfach erinnern, welchen Wert ich hatte, das wieder einsetzen und dann muss ich nicht wirklich in meinen Code gehen und diese Variable fünf oder 1270 ändern. Ich kann einfach die Variable ändern und dann kann ich alles ändern, was darin gespeichert ist, was wirklich cool ist. Jetzt haben wir unseren Sprung am Laufen. Wir wollen sicherstellen , dass wir nur jedes Mal springen können , wenn wir auf den Boden stoßen. Wir werden zwei neue Verfahren durchführen, und beide werden automatisch durch Einheit generiert. Der erste wird bei Kollision sein, geben Sie 2D ein. Ich sage, geerdet ist gleich Obst. Die zweite wird beim Kollisions-Exit 2D ungültig sein, und wir werden geerdet auf false setzen. Im Grunde genommen wird das sagen, dass dies jedes Mal, wenn wir mit etwas kollidieren, geerdet werden. Jedes Mal, wenn wir mit etwas kollidieren oder nicht mehr damit in Kontakt sind, setzen Sie den Boden auf falsch. Und wenn das richtig funktioniert, sollten wir es zu falsch machen. Und am Anfang können wir hierher gehen und wir können sehen, dass geerdet ist falsch. Und sobald ich Zuschüsse landen, wird extra auf true gesetzt. Und wenn ich wieder springe, Granite falsch und dann wieder wahr. Und das ist im Grunde das ganze Skript wir brauchen, um unseren Sprungcode zu erstellen. Wir können Space viel Zeit drücken, wie wir wollen. Wir können nur jedes Mal springen, wenn wir nicht, was wirklich cool ist. Das würde funktionieren. Aber das Problem ist, dass dies eine etwas klebrige Situation ist , denn wenn ich den Code genau so lasse, wie er ist, kann ich mit einer Münze leben. Ich zünde technisch gesehen mit etwas an. Union wird so aussehen, oh, er kollidiert. Er kann wieder springen, aber ich möchte nur geerdet sein solange ich dieses Bodenmaterial berühre. Also muss ich einen Weg finden, um bei allen anderen Collidern zwischen diesem Fehler zu unterscheiden . Das mache ich mit Markierungen. Ich gehe hier rüber auf den Boden und klicke auf den Boden. Ich klicke auf Tag und füge dann ein Tag hinzu. Und ich füge ein Boden-Tag hinzu. Dann können wir hier zurück auf den Boden gehen und diesen Boden-Tag hier zuweisen. Sie können etwas wie ich ein Tag hinzugefügt habe, hinzufügen und dann den Namen eingeben. Und dann haben wir eine Grundsteuer. Und jetzt haben wir eine Möglichkeit zu unterscheiden, ob das, was wir treffen, ein Boden oder irgendetwas anderes ist. zu diesem Code zurückgehe, gehe ich hier rüber und gebe Kollision Collider, Punktvergleichs-Tag, offene Klammern, Anführungszeichen ein. Dann öffne ich geschweifte Klammern. Sag geerdet ist wahr. Offensichtlich könnte ich hier gleich wahr tippen, aber das wird das tatsächlich automatisch für mich tun, weil ich es getan habe. Es stimmt hier gleich. Aber da ich das automatisch für mich mache, weil ich nichts reinlege, wird es automatisch auf die gleiche Weise an true gesendet. Ich kann das tatsächlich tippen, wenn es geerdet ist, das heißt, wenn geerdet gleich wahr ist. Aber anstatt zu schreiben, ob chronisch wahr ist, schreibe ich nur, wenn es begründet ist, es ist eine einfachere Art, dies zu tun. Hier drüben. Ich werde sagen, dass ich Hausarrest habe, solange ich mit dem Boden kollidiere, kopiere ich genau diesen Code und lege ihn unter meine Exit-Sache, außer dass ich diesen wieder auf falsch ändere. Was das jetzt tun wird , ändert im Grunde nichts. Aber wenn wir eine andere Farbe haben würden, mit der wir leben, werde ich nicht geerdet sein, wenn es nicht der Boden ist. Mein Team ist jetzt ein bisschen seltsam, weil unser Code gut funktioniert. Aber vertrau mir, es wird Kopfschmerzen ersparen, uns auf lange Sicht Kopfschmerzen ersparen. Das Letzte, was wir tun müssen, ist sicherzustellen, dass wir ständig nach rechts gehen , da wir genau wie Azure Dash zu unserem Spiel wechseln müssen , damit wir mit Hindernissen interagieren können und springe über Dinge. Wir machen das mit der Geschwindigkeitsvariablen. Jetzt heißt Update jeden Frame, wie wir es zuvor behandelt haben, aber wir möchten nicht, dass dieses Update in jedem einzelnen Frame aufgerufen wird. Wir möchten, dass es in jedem festen Intervall kalt ist, damit es sich nicht ändert, wenn wir dieselbe fossile Steigung ausführen, die Sie verwenden können, das feste Update-Board ungültig. Jetzt ist ein festes Update genau wie Update , außer anstelle jedes Frames ist es jedes Intervall. Also denke ich, es sind 0,01 Sekunden oder 0,15. Sie können es in Ihrem Code festlegen. Aber ja, das ist im Grunde das, was das tun wird. Ich geh weiter und tippe RB. Keine Geschwindigkeit wie zuvor, es entspricht dem neuen Vektor zwei. Außer diesmal möchte ich die Y-Geschwindigkeit nicht ändern, ich möchte nur die x-Geschwindigkeit ändern. Wir können diesen exakten Code eines hier kopieren und austauschen. Statt also RB-Punktgeschwindigkeit oder x hier drüben zu sagen, gebe ich den RB-Punktgeschwindigkeitspunkt y in das Y-Ding ein. Und dann werde ich es für das x so einstellen, dass es beschleunigt wird, was dies tun wird, ist jeder einzelne feste Frame. Bei jedem Integral möchte ich sicherstellen, dass meine Geschwindigkeit der Geschwindigkeit entspricht, die ich rausreisen möchte, und die Geschwindigkeit von y beibehalten. Und jedes Mal, wenn ich springe, möchte ich diese X-Geschwindigkeit beibehalten und springen. Wenn wir wieder in unseren Code gehen und unsere Geschwindigkeit auf etwas Langsames einstellen . Wir führen unser Spiel aus. Wir können das tatsächlich in Aktion sehen und es hier sehen. Wir bewegen uns träge weiter und wenn wir springen, springen wir und behalten den Schwung. Und das wird im Grunde unser Bewegungsskript für den Start unseres Handyspiels sein . Dies ist der erste Schritt, den wir unternommen haben, um ein Handyspiel als wirklich aufregend zu gestalten. Wenn du mitfolgst, gute Arbeit. Wenn ein paar Dinge etwas überwältigend geklungen haben, verstehe ich es vollständig und habe meinen ursprünglichen Code tatsächlich im Ressourcenbereich dieses Videos verknüpft meinen ursprünglichen Code tatsächlich im Ressourcenbereich dieses Videos , damit, wenn Ihrer nicht funktioniert hat, Sie können es reparieren und sicherstellen, dass alles perfekt ist. Sie haben den Kurs weiter, weil ich möchte, dass Sie in diesem Video festsitzen . Ich hoffe jedoch, dass dieses Video dies, diese Konzepte ziemlich gut erklärt hat . Und wenn Sie meinen Code genau so kopiert haben, wie mir das gefällt, sollten Sie genau im Programm des Natriums arbeiten müssen. Scrollen Sie darüber, damit Sie das Video anhalten und sehen können, ob Sie etwas anderes haben. Aber alles sollte gut funktionieren. Überprüfen Sie einfach, dass Sie nichts wie Kollision oder Collider falsch geschrieben haben . Und hier gibt es ein paar Konzepte wie Vergleiche Tag und Geschwindigkeit, die wir ziemlich schnell behandelt haben. Aber das liegt nur daran, dass sie im Moment nicht besonders wichtig sind. Sie sind nur gewohnt, die Bewegung zu bewegen, um die Bewegung unseres Charakters auszuführen. Wir werden sie immer wiederholen. Es wird viel vertrauter werden. Aber wenn du an einen Punkt gekommen bist, an dem dein Charakter sich bewegen und springen kann, gute Arbeit. Sie haben einen massiven Schritt gemacht und begeben sich auf die Reise zur Spieleentwicklung. Wir sehen uns im nächsten Video. 8. Camera: Hey da und willkommen zurück zur Einheit. In unserer letzten ziemlich langen Episode haben wir unser allererstes C-Sharp-Skript erstellt und in den Unity Editor integriert, unserem Spieler ermöglichte, sich entlang der Szene zu bewegen und zu springen. Das ist großartig. Es ist ein wirklich großer Schritt um unser Handyspiel Wirklichkeit werden zu lassen. Und wir können es hier tatsächlich in Aktion sehen , genau wie wir es beim letzten Mal getan haben. So können wir uns weiterbewegen und springen. Und offensichtlich können wir nur springen, wenn wir am Boden sind, was wirklich cool ist. Das Problem dabei ist , dass wir, sobald wir das Ende erreicht haben, festgestellt haben, was dem Spieler passiert, weil wir dieses Mittel für uns sehen, wie Entwickler wissen, Spieler planen derzeit sein Untergang und der Redakteur in den Abgrund. Aber die Spieler werden festgestellt haben, dass dies passiert. Um dieses Problem zu minimieren, werden wir ein Kamera-Follow-Skript erstellen . Und wir werden sicherstellen, dass die Kamera dem Spieler immer folgt , um sicherzustellen , dass wir immer wissen, wo wir als Spieler sind. Jetzt haben wir derzeit ein bisschen einen Redakteur verloren. Also bringe ich dir einen weiteren schnellen Trick von Unity bei. Sie können auf die Hauptkamera doppelklicken und sie bringt Sie direkt dorthin zurück, wo Sie möchten. Sie können dasselbe mit dem Player oder der Umgebung tun. Im Grunde zoomt. Wenn wir jemand anderen verloren haben, waren sie wie: Oh, wo bin ich? Doppelklicken Sie auf die Hauptkamera und Sie sind zurück. Jetzt. Gehen wir in Skripte und machen unsere Kamera folgt Skript. Klicken Sie mit der rechten Maustaste, erstellen Sie ein C-Sharp-Skript, und wir nennen diese Kamera Follow-up. Stellen Sie sicher, dass Sie Ihre Skriptkamera nicht benennen , da dies ein reserviertes Wort ist. Und ich habe es vor einer Weile gemacht und bin zu Sony-Problemen gelaufen und ich weiß nicht, was es verursacht , aber zum Glück musst du nicht den gleichen Fehler machen , den ich damals gemacht habe. Gehen Sie jetzt zur Hauptkamera und stellen Sie sicher, dass Ihr Kamera-folgendes Skript an Ihrer Kamera signiert ist . auch allgemein darauf, dass bei der Benennung von Skripts keine Leerzeichen enthalten, da Unity das Skript dadurch nicht lesen kann, da dieser Name hier drüben mit dem Namen korrelieren muss der Akte. Und offensichtlich hat diese Klasse mit dem Namen ein Leerzeichen, denn dann weiß der Code nicht was die Klassen sind und ob das Modellverhalten beginnt und es ein Durcheinander ist. also sicher, dass es ein Wort ist. Öffnen Sie nun Ihre Kamera folgt Skript und wir werden damit beginnen, eine Variable zu erstellen, genau wie beim letzten Mal, außer dieses Mal, anstatt sich einen starren Körper oder eine Zeichenfolge zu beziehen, auf die wir uns beziehen werden ein Spielobjekt. Und das ist im Grunde nur eine ausgefallene Art zu sagen, dass wir eine Variable erstellen werden , die ein Objekt speichert wie wir es gleich zu Beginn des Kurses behandelt haben. Objekte oder irgendetwas in unserem Spiel, dem wir Logik zuweisen können. Der Player ist ein Objekt, Kameras und Objekt, das sogar ein Objekt, den Boden und den Hintergrund beider Objekte umgibt . Und ja, so ziemlich alles, was Logik zugewiesen haben kann , ist ein Objekt. Also werden wir einen Objektspieler für öffentliche Spiele erstellen. Und dies ermöglicht es uns tatsächlich, eines dieser Objekte auszuwählen und es unserem Skript zuzuweisen. Wenn wir also zu unserer Hauptkamera gehen, können wir tatsächlich sicherstellen, dass Ihr Kamera-Follow-Skript zugewiesen ist. Meins ist es. Aber wenn nicht, entferne es und ziehe es einfach hinein. Und wir können den Spieler in dieses Spielerding ziehen und einen Link zu unseren Objekten herstellen. Die Spielervariable ist jetzt mit dem Spielerobjekt verknüpft, was wirklich cool ist, weil wir dadurch auf alle möglichen Informationen über dieses Objekt zugreifen können, einschließlich seiner aktuellen Position, was wirklich ist, wirklich cool, denn wenn wir ein Spiel spielen, bin ich mir sicher, dass Sie die Position des Spielers sehen können. Es bewegt sich ständig und deshalb kann unsere Kamera es nicht verfolgen. Wenn wir unsere Kamera entsprechend der Position des Spielers bewegen können , wird es für unsere Spieler wirklich, wirklich großartig sein , dies zu tun. Wir werden die Startmethode löschen. Wir werden es für dieses Drehbuch nicht brauchen. Und wir gehen zum Update, das wie wir das letzte Mal behandelt haben Prozedur ist, die Unity jeden einzelnen Frame aufruft. Da wir eine Kamera folgen Skript erstellen, möchten wir natürlich sicherstellen, dass die Kamera und der Ort jeden einzelnen Frame positionieren oder versenken. Um dies zu tun, werden wir hierher gehen und wir geben Transformation mit einem Kleinbuchstaben t ein. Dies ist im Grunde genommen eine Art zu sagen welches Objekt derzeit , welches Objekt derzeit dieses Skript angehängt hat Zugriff auf diese Transformation, die Transformation, die an dieses Spielobjekt angeschlossen ist, und sehen Sie, ob wir den Mauszeiger über dieses Spielobjekt bewegen, in diesem Fall ist die Kamera denn das sind die Skripte, die daran angehängt sind. Bewegen Sie jetzt einen Punkt, wir können all die verschiedenen Teile einer Transplantation sehen , die sie tun können, ihn Opposition transformieren, transformieren, lokale Skalierung, Punktrotation transformieren. Wenn überhaupt, was wir uns vorstellen können, brauchen wir jetzt eine Transplantations-Opposition. Also werden wir die Punktposition transformieren. Wir würden gleich gehen. Dann. Hier kommt der Koopa. Weil wir einen Link zu unserem Spieler hergestellt haben. Wir können die Punktposition des Spielers eingeben. Wenn wir dann die Eingabetaste so drücken, ist dies im Grunde genommen der Code, den wir benötigen, um sicherzustellen, dass unsere Transformation, unsere Position immer auf die Position des Spielers eingestellt ist. Wenn wir unser Spiel ausführen, sieht das tatsächlich so aus. Jetzt bist du vielleicht etwas verwirrt. Ich sehe nur einen blauen Bildschirm. Ja, Sie haben den Bildschirm einführen gefragt und der Grund dafür ist, dass die Z-Komponente der Kamera immer kleiner sein muss als der Rest der Szene. Ansonsten genau das gleiche Flugzeug und es fängt nichts ein. Das könnte etwas verwirrend sein weil es schließlich ein 2D-Spiel ist, warum spielt die Z-Komponente von irgendetwas eine Rolle? Und im Allgemeinen tut es das nicht. Aber nur um sicherzustellen , dass alle Ihre Z-Komponenten von allem anderen in der Regel immer auf 0 eingestellt sind und die Kamera immer kleiner als 0 ist. Wenn es minus eins ist, ist das in Ordnung. Wenn es minus 100 ist, ist das in Ordnung. Aber minus zehn ist ein guter Sweet Spot. Jetzt wollen wir nicht gerade, dass die Kamera immer genau dieselbe Position offensichtlichen Gründen immer genau dieselbe Position wie der Spieler hat. Stattdessen werden wir dem Player nur gezielt die x-Position der Kamera zuweisen . Und man könnte meinen, er hat normalerweise den Widerstand von x Equals Player verändert , diese Konzeptsitzung Punkt x. Aber aus irgendeinem Grund macht Unity es nicht so einfach, was wenig nervig ist, aber es ist gut, weil es eigentlich sehr einfach ist. Alles, was wir tun müssen, ist die Vektor-3s oder Vektor-Tools zu verwenden die Vektor-3s oder Vektor-Tools über die wir in der letzten Episode gesprochen haben. Zu einer transformierten Opposition ist mu gleich. Wir tippen Vektor zwei ein. Wir können sehen, dass es sich nicht automatisch füllt, weil ich die Transferposition im Weg habe. Also werde ich das löschen und einfach nochmal darauf tippen. Siehe den Vektor 2D, Vektor drei, tut mir leid. Dann öffnen wir eckige Klammern und wir geben Spielerpunkt-Transformation, Punktposition Punkt x ein. Und das bedeutet im Grunde genommen, dass jedes einzelne Frame sicherstellt, dass meine Exposition die gleiche ist wie die Spieler . Das ist eigentlich die einzige Position, die wir ändern wollen. Wir wollen das y nicht ändern, wir ändern das Z nicht. Anstatt die Platte zu wechseln oder das Y und Z zu übertragen, werden wir es einfach auf die transformierte Opposition setzen , Punkt y und die transformierte Opposition tut Z. Was dies im Grunde tun wird , ist , dass unsere Position immer auf die PlayStation x eingestellt ist, Opposition im Y und Opposition im z. Jetzt gibt es tatsächlich eine einfachere Möglichkeit, dies zu tun, denn da wir nur die Transformationsqualität unseres Spielobjekts verwenden , können wir tatsächlich eine Transform verwenden. Im Grunde sagt: Okay, ich will die Position und die Rotation und die Skala dieses Objekts. Ich will nichts anderes, was großartig ist, weil das alles ist, was wir brauchen. Wir können dann all diese Transformations-Keywords herausnehmen. Eigentlich ist es nur das, weil diese sich auf uns beziehen. Und jetzt spielen wir einfach die Opposition nicht x. Dies mag ein wenig sinnlos erscheinen, aber das Speichern eines Transformators ist offensichtlich etwas weniger als das Speichern eines ganzen Spielobjekts. Es wird also eine gute Programmierpraxis sein. Wir können es hier sehen. Es heißt, Typ Mismatch und das liegt daran, dass es in GameObject gespeichert wurde. Und jetzt speichert es eine Transformation und es weiß nicht, was er mit sich selbst anfangen soll. Zeichne den Spieler einfach neu und er wird sich selbst klären. Wenn wir nun auf Play klicken, können wir sehen, dass unsere Kamera unserem tatsächlich so folgt Spieler tatsächlich so folgt, wie wir es wie immer in der Mitte des Bildschirms wiederholen wollten . Und wenn wir springen und zurück in den Abgrund fallen, können wir genau sehen, warum es passiert. Nun, das sieht vielleicht cool aus und es könnte gut funktionieren, aber wir möchten nicht, dass der Spieler immer in der Mitte des Bildschirms ist. Wir wollen, dass dies ein leichter Ausgleich ist. Ich habe gehört, dass meine Spiele die Spieler sind, als würden sie die meisten Spiele teilen, du wirst feststellen, dass das der Fall ist. Wir werden fortfahren und eine Offset-Variable erstellen. Wir nennen es einen öffentlichen Float. Wenn wir Floats zum ersten Mal verwenden, klingen sie vielleicht kompliziert und es sind nur Dezimalzahlen. Das ist alles, was sie da sind. 0,50,20.45. Alles, was keine Ganzzahl ist, ist ein Float in irgendeiner reellen Zahl, ist es Float? Wir werden fortfahren und Offset eingeben. Dies wird es uns im Grunde ermöglichen, diesen Offset-Wert den Spielern hinzuzufügen , den transformierten Widerstand von x, die Transformation im Grunde ausgleichen wird. Wenn du also darüber nachdenkst, wenn der Spieler eine Position 0 hat, führen wir das aus. Wir werden auf Platz 0 plus fünf gehen. Dann wird der Spieler da drüben sein. Sagen wir, die Spieler dort, das Semikolon wird hier sein. Oder wenn wir sagen, dass zwei minus fünf da sein werden. Wir können dies im Spielmodus ändern , genau wie wir es mit allem anderen gemacht haben, manchmal nicht, wenn wir unser Spiel starten, wir können vor dem Zahler sehen, aber ich möchte mich bewegen aus dem Spiel, um dort zu sein. Und wir können diesen Wert tatsächlich speichern, 5,78, aus dem Spielmodus gehen, ihn direkt eintippen. Wenn wir dann zum zweiten Mal unser Spiel starten, können wir sehen, dass der Spieler genau dort ist , wo er sein sollte, genau dort drüben. Ich schaffe es eigentlich sechs, weil ich denke, dass das Stück immer noch zu weit rechts ist. Ja, das sollte den Trick machen. Es mag jetzt ein bisschen zu viel auf der linken Seite sein, aber wir werden auf diese Brücke stoßen, wenn wir darauf stoßen. Vielleicht ziehen Sie es vor, Ihren Spieler auf der anderen Seite dort zu haben , was in Ordnung ist, wenn Sie tun. Wir können diesen Wert ändern, während wir unsere Spieleentwicklungsreise fortsetzen. Das ist das Tolle an Variablen. Aber im Moment haben wir ein sehr einfaches Skript erstellt , das es der Kamera ermöglicht, dem Plan und dem Job zu folgen , und wir sehen uns im nächsten Video. 9. Character: Hey da, und willkommen zurück zur Einheit. In den letzten Episoden haben wir unser allererstes C-Sharp-Skript erstellt, das es dem Spieler ermöglicht, sich entlang der Szene zu bewegen. Und wir haben sogar ein Kamera-Follower-Skript hinzugefügt , damit wir immer verfolgen, wo sich der Player befindet. Infolgedessen sieht unser Spiel derzeit so aus. Es ist in einer Halbfunktion des Zustands und wir können nur einen falsch springen, den wir springen können, was wirklich cool ist, bis wir das Ende erreichen und dann folgen wir. Semi funktional könnte ein bisschen ausgedehnt sein. Aber unabhängig davon werden wir in dieser Episode damit beginnen, Spielerstatus zu erstellen. Dies ist der erste Schritt, den wir unternommen haben, um eine große Schleife zu erstellen. Wenn du keine Spielschleife willst, ist es im Grunde genommen die Tatsache, dass du spielen, wieder sterben und spielen kannst , wann usw., du könntest weiterspielen oder schleifen. Und die Staaten werden es uns ermöglichen, zu bestimmen, in welchem Zustand der Spielstand spielt. Wenn er tot ist, wenn er noch lebt, wenn er darauf wartet zu sehen, ob er nach einer Anzeige antworten kann, ob er springt oder fällt. Offensichtlich werden viele von denen, die wir nicht benutzen werden, nicht programmieren, springen und den Staaten folgen. Aber wenn wir keine Spiele-Engine benutzen würden, müssten wir das vielleicht tun. Zum Glück, denn Unity hat diese großartige Rigidbody-Komponente, die für uns um die ganze Schwerkraft kümmert. Die einzigen Staaten, auf die sich in dieser Episode konzentrieren, ich werde sein, ob der Spieler spielt oder sich bewegen darf oder tot ist , nicht bewegen darf. Gehen Sie zunächst in den Script-Ordner, klicken Sie jedoch mit der rechten Maustaste und erstellen Sie ein C-Sharp Ich rufe meinen State Manager an. Sobald dies erstellt wurde, Google zum Player und ziehen Sie Ihr State Manager-Skript darauf. Jetzt werden wir es nachschlagen. Ich werde die Staatsverwaltung im haben und wir beginnen genau wie normalerweise, indem wir eine Variable erstellen. Und diese Variable wird State genannt und es wird eine String-Variable sein, öffentlich. So können wir es im String-Status des Unity-Editors sehen. dieser Zustandsvariable können wir jetzt überprüfen, in welchem Zustand sich der Spieler gerade befindet. Das werden wir machen. Ich werde den Status in anderen Skripten wie unserem Bewegungsskript referenzieren . Offensichtlich ist das Momentan des Bewegungsskripts das, was dem Spieler tatsächlich sagt, jedes einzelne Frame zu bewegen. Diese Zeile hier sagt dem Spieler, dass er jedes Bild bewegen soll. Aber wenn das Stück tot ist, wollen wir nicht, dass er jedes Bild bewegt. Wir wollen, dass er sich nicht mehr bewegt. Wir werden das tun, indem wir auf dieses Skript verweisen. Wenn Sie sich nicht sicher sind, wie das geht, ich Ihnen keine Schuld, denn das hat eine ganze Weile gedauert , bis ich gelernt habe, aber es ist eigentlich ziemlich einfach. Wenn Sie bereits vermutet haben, müssen wir nur eine Variable erstellen, die mit dem Skript verknüpft ist , genau wie wir eine Variable erstellt haben, die starre Körper, Ganzzahlen, sogar andere Transformationen verknüpft Ganzzahlen, sogar andere Transformationen und GameObject, wir können das Gleiche hier machen. Also werden wir öffentlich tippen. Dann geben wir den Namen Bosco State Manager ein. Wir werden diese Aussage nennen. Sobald wir das getan haben, wir zurück zum Unity Editor. Wir wählen unser Spielerobjekt aus. Wir ziehen unser State Manager-Skript in unsere Stage-Manager-Variable, die es uns dann ermöglicht, von diesem Skript aus auf dieses Skript zuzugreifen , was wirklich, sehr nützlich ist , weil dann was wir tun können, können wir hier rübergehen, um das Update zu reparieren und wir können tippen. Wenn du es nur unter bestimmten Bedingungen tun willst. Wir rufen State Manage George State an. Und wir können tatsächlich auf Variablen in diesem zustandsverwalteten Skript zugreifen Variablen in diesem zustandsverwalteten , indem wir einfach dot und dann den Namen der Variablen eingeben . Ich gebe zwei Gleichheitszeichen ein. Und dann werden wir sagen, mit einem Kapital P. Darunter zu spielen . Wir werden unseren Code hier platzieren, was bedeutet, dass jeder einzelne Frame, nur wenn wir uns im Spielzustand befinden, die RB-Punktgeschwindigkeit darauf einstellen werden . Sonst sind wir das nicht. Das kann wirklich cool sein, denn wenn wir in Unity gehen und Play drücken, können wir sehen, dass wir uns tatsächlich nicht bewegen. Und wenn ich in den Staat spielen würde, fange ich an zu bewegen. Aber in der Minute, in der ich etwas von Aktien geändert habe, was eigentlich wirklich , wirklich cool ist, wird es uns ermöglichen, wie Sie sicher herausfinden können, verschiedene Zustände für unseren Spieler zu erstellen. So wie ich das mache ist, dass ich zu der Erklärung übergehe , die ich gerade geschrieben habe. Und jetzt muss ich das Letzte sicherstellen, dass dieser Zustand basierend auf dem zugewiesen wird , was ich möchte, dass der Staat sein soll. Wenn ich anfange, möchte ich immer, dass der Staat dem Spielen entspricht. Wir fangen an uns zu bewegen. Aber wenn ich mit etwas kollidiere , werde ich sterben wollen. Wenn ich mit einem Hindernis kollidiere, möchte ich den Todeszustand auslösen. Dieser Todeszustand wird genau das sein, wie er sich anhört. Es wird diesen Zustand auf den neuesten Stand bringen und dann werden wir uns offensichtlich nicht mehr bewegen. Und was daran cool ist, ist tatsächlich später, wenn wir Todeseffekte und alle möglichen Dinge wie diese hinzufügen, wir können die Zustandsmaschine verwenden, um diesen Prozess zu vereinfachen. Ich lösche mein Update, weil ich es nicht brauche. Und ich erstelle ein neues Trigger-Ereignis. Wenn Sie sich an die letzte oder zwei Episoden vor zwei Episoden erinnern, hatten wir unsere eigenen Kollisionsereignisse. Und das heißt im Grunde, wenn ich kollidiere, tu dies und diesen Code, offensichtlich, als wir rübergegangen sind, wenn ich mit dem Boden kollidiere, möchte ich die Wahrheit auf den Boden setzen. Wir werden hier etwas sehr Ähnliches schaffen. Wir werden auf Trigger ungültig werden, Geben Sie 2D bei ausgelöster Entität ein d ist genau das Gleiche wie beim Collider in 2D. Es ist nur der Collider ist ein Auslöser. Da unser Spieler also einen normalen Collider verwenden wird, Sie es sein, warum verwenden wir einen Trigger? Aber der Grund ist eigentlich die Hindernisse, die wir in einer Sekunde hinzufügen werden, Auslöser verwenden werden, wenn das Trigger-Ereignis aktiviert wird, wenn ein Collider auf einen Trigger trifft, aber er wird nicht aktiviert als es von Kopf zu Collider kollidierte. Wir werden hier und auf unser Trigger-Event eingehen. Jetzt wird das eine ziemlich lange Codezeile und es wird einige Konzepte verwenden . Wir sind noch nicht wirklich rübergegangen. Und der Grund, warum ich sie nicht durchgegangen bin, ist, dass sie diesem Zeitpunkt des Kurses nicht unglaublich entscheidend sind. Aber Einheit, Einmal, um sie aus irgendeinem Grund zu benutzen. Wir können hier rüber gehen. Wenn wir hierher gehen, können wir sehen, dass wir gerade gesagt haben, dass Kollisionspunkt-Collider aktiviert wird, wo immer er in ihrem Dunkeln lebt verglichen mit unserer Überprüfung, dass das Tag gemahlen ist. Aber wenn wir Trigger verwenden, müssen wir eine viel längere Codezeile eingeben , die so läuft. Wenn die Kollision fällt, ja, Komponente, offene Schraube, offene Klammern. Und wir werden sagen, Polygon Collider 2D eat ist, dass das die Art von Segelflugzeug ist, den wir für unsere Feinde verwenden werden. Dann werden wir Klammern setzen, George, vergleichen Tag, weitere offene Klammern und dann Hindernis. Jetzt wirst du vielleicht gehen, was auf der Welt und wir schreiben einfach, und ich gebe dir nicht die Schuld, weil dies alle möglichen Konzepte verwendet, die ich zu diesem Zeitpunkt des Kurses nicht lehren wollte . Ich weiß nicht wirklich, warum Unity uns dazu bringt, all diese Konzepte für eine so einfache Codezeile zu verwenden . Meiner Meinung nach verstehe ich nicht, warum unbewusst Kollisionspunkt Colorado hatte , nur weil normalerweise der Auslöser, aber aus irgendeinem Grund normalerweise einmal so und ich habe es in einem früheren versucht Thema dieses Videos, mach es andersherum und es verursacht alle möglichen Probleme. Also kopiere den Code einfach genau so, wie ich es getan habe. Und mach dir keine Sorgen, wenn es ein bisschen verwirrend ist. Buddha-Kollisionspunkt fgetc-Komponente offen oder kleiner als Zeichen, dann Polygon Collider 2D größer als Zeichen, Klammer öffnen, Klammer schließen Punkt vergleichen Tag, offene Klammer, Anführungszeichen, Hindernis Anführungszeichen Klammer schließen, Klammer schließen. Und dann schreiben wir in unsere if-Aussage, Staat stimmt es gleich. Das erste, was wir tun werden, um zu überprüfen, ob das funktioniert, ist, dass wir es tatsächlich schaffen werden , damit unsere Kollide kollidieren, wir werden einen neuen Collider machen, ein neues Objekt. Ich nenne es Hindernis und sehe, ob wir uns nicht mehr bewegen, als wir es treffen. Also gehen wir hier rüber zum Ordner „Kurs-Assets“. Und wir klicken auf das Dreieck und ziehen es in unsere Szene. So. Das erste, was wir tun werden, ist, dass wir dieses Dreieck verkleinern werden. Bewegen Sie es dort hin. Und ich mache meins rot. Das ist eine anständige Farbe. Dunkleres Rot. Meister wie die Szene. Da sind wir los. Was wir jetzt tun müssen, ist, dass wir sicherstellen müssen, dass wir, wenn wir mit diesem Hindernis kollidieren, den toten Zustand behandelt haben. Aber offensichtlich hat dieses Hindernis nicht das Hindernis-Tag. Um das zu ändern, müssen wir hierher gehen, du hast ein Add-Tag wie beim letzten Mal und tippst Hindernis ein. Genau wie ich es geschrieben habe, Kapital O. Dann gehen wir hier rüber. Wir werden klicken, tut uns leid, nicht auf den Spieler, das Dreieck, auf das wir hier klicken werden. Und wenn Sie auf Hindernis klicken, hat es jetzt ein Hindernis-Tag, aber wir haben noch keinen Collider an diesem Dreieck angebracht. Wir müssen diesen Typ Add Component machen, den Polygon-Collider aus dem früheren Polygon-Collider 2D. Und stellen Sie sicher, dass es ein Auslöser ist. Wir können sehen, dass das perfekt um unser Dreieck herum ist. Wenn wir auf Play klicken, sollten wir unsere Skript-Assemblys neu laden, und dann sollten wir uns bewegen, bewegen, bewegen, bewegen, bewegen, unseren Spieler holen. Perfekt. Sobald wir kollidieren, wird der tote Zustand ausgelöst. Das wird tatsächlich der Beginn eines wirklich weiteren großen Sticks und ich werde die Spieleentwicklung machen. Wir haben gerade eine Art Mini-Zustandsmaschine geschaffen. Diese Mini-Zustandsmaschine ermöglicht es uns zu verfolgen, wann der Spieler tot oder am Leben ist. Und ich zeige Ihnen, wie einfach es ist, dies in der nächsten Folge zu erweitern. Aber wenn Ihr Code wie meiner funktioniert, Toller Job wie immer, heben Sie die Verknüpfung meines ursprünglichen Codes in den Ressourcen des Videos auf. Wenn deins nicht funktioniert hat, aber gute Arbeit. Jeder sollte arbeiten, anscheinend gut. Und wir sehen uns im nächsten Video. 10. Unsere Game: Hey da und willkommen zurück zur Einheit. letzten Folge haben wir unsere allererste Zustandsmaschine erstellt, die es uns ermöglichte, den Spieler beim Spielen in zwei verschiedenen Zuständen zu haben, nämlich zu spielen, wenn er das Hindernis und die Schulden nicht so schnell trifft als es das Hindernis getroffen hat. Und das klingt vielleicht nicht nach einer sehr großen Kette. Das ist eigentlich wirklich, wirklich gut und es ist ein wirklich großer Schritt unserer Spieleentwicklungsreise, weil es einen Großteil der Arbeit leisten wird , die wir brauchen, um eine Spielschleife zum Laufen zu bringen. Und eine Spielschleife in einfachen Worten ist im Grunde alles, was es uns ermöglicht, ein Spiel zu spielen oder zu gewinnen und zu verlieren und erneut zu versuchen, es auf andere Weise zu erklären Sie können sich eine Spielschleife als einen Prozess vorstellen sicher, dass der Spieler die App nicht jedes Mal neu starten muss, wenn das Spiel beenden möchte, offensichtlich in unserem Spiel. Wenn Sie nun unser Spiel spielen und verlieren, und Emily, wenn Sie das Hindernis treffen, besteht der frühe Weg, um weiter zu spielen offensichtlich darin, das Spiel neu zu starten. wollen wir ändern. Das erste, was wir tun werden, ist, dass wir in unser State Manager-Skript gehen . Und tatsächlich werden wir während des gesamten Absoluten nur die staatlichen Manuskripte bearbeiten. Ich lade am Ende eine aktualisierte Version des State-Manuskripts hoch. Aber wir werden bearbeiten, was wir vom letzten Mal hatten. Doppelklicken Sie also auf State Manager. Wenn das geladen wird, erstellen Sie zunächst eine neue Prozedur. Also wirst du hierher gehen und du wirst öffentlich tippen, Leere sterben. Dieser sehr grausame Name für eine Prozedur wird im Grunde der Code sein , den wir ausführen, sobald der Spieler tot ist oder einen toten Zustand hat. Sie können es hier sehen , wo Studenten wir ein Hindernis leben oder gestorben sind. Wir haben unseren Staat gerade verschuldet, aber wir wollen diese tote Prozedur tatsächlich nennen und dann all diese Einstellung innerhalb aus verschiedenen Gründen all diese Einstellung innerhalb dieses Verfahrens durchführen. Der wichtigste ist , dass wir auf diese Weise Tiefeneffekte hinzufügen oder einen Timer hinzufügen können , um zu antworten, was wir in dieser Episode tun werden. Auch Dinge. Wir lassen ihn den Code ausschneiden und ihn hier einfügen. Und ich werde das tatsächlich in ein Kapital D umwandeln , weil ich denke, dass das besser aussieht, wenn es Kapital P und ein Kapital D. Dann hier drüben, unter kaltem DI-Staat, Klammern und Semikolon, fing jetzt an, Prozedur zu sterben. Wenn wir jetzt auf ein Hindernis stoßen, werden wir diese Prozedur aufrufen. Ich setze meinen Zustand auf tot. Und alles sollte so funktionieren wie es die ganze Zeit gefehlt hat. Sie sollten ein funktionierendes Programm haben , das Folgendes ausführt. Sollte laufen, rennen, rennen, weitergehen wie beim letzten Mal. Sobald wir das treffen, sollten wir aufhören, uns so zu bewegen, wie wir es zuvor hatten. Was also wirklich cool ist, ist wir uns jetzt von diesem Verfahren aus anmelden oder antworten können, anmelden oder antworten wenn wir hierher gehen und an die Öffentlichkeit gehen, ungültig und wir werden dieses mit dem Telefon anrufen. Stellen Sie Klammern auf. Und ich antworte. Vorgehensweise wird uns wieder in die Position bringen, in der wir am Anfang sein wollen . Wir möchten sicherstellen, dass wir wieder zu unserer hervorgebrachten 0 Ausgangsposition zurückkehren. Und so setze ich diese starke Position ein, um dort zu sein, wo ich den Ort starten möchte. Ich werde es hier unten spielen. Und ich sage, okay, das ist eine gute starke Position. Es ist minus 8,52 und minus 1,69. Gehe hier hin und wir gehen nach Frankreich, wie wenn wir uns an den Kamerascript-Code erinnern. Wir beziehen uns darauf, dass Transformation das Spielobjekt ist, das an das Skript angehängt ist. Genau das Gleiche beziehen wir uns hier auf die Transformation eines Spielers. Punktposition ist gleich. Wieder einmal werden wir einen Vektor drei verwenden, neuen Vektor drei, neuen Vektor drei, offene geschweifte Klammer, tut mir leid, normale Klammern. Und wir tippen minus 8.521,69 ein. Und natürlich 0. Nun, das sollte alles einwandfrei funktionieren, aber wir können es hier sehen. Es heißt, kann nicht von doppelter Flüssigkeit umwandeln. Dies liegt im Grunde daran, dass wir der Einheit nicht gesagt haben , dass das, was wir hier speichern, Dezimalzahlen sind. Wir haben es gerade gesagt. Das sind nur zwei Zahlen, die wir angeben. Punkte rein. Unity wird automatisch dick verwirrt darüber, was sie sind. Sie werden denken, dass es ein Double ist ein Float. Um dies zu minimieren, setzen wir einfach den Buchstaben F, Kleinbuchstaben f nach beiden Jahren, dann werden Sie wissen, dass dies zwei Floats sind und wir können loslegen. Bevor ich jetzt wieder zu Unity gehe, muss ich tatsächlich sicherstellen, dass ich diesen Antwortcode aus dem Farbcode aufrufe . Lasst mich hierher gehen. Ich werde kalt reagieren, was bedeutet, dass ich meinen Zustand auf tot setze, sobald ich sterbe . Und dann antworte ich, nun, das wird tatsächlich tun, wenn ich antworten wird , aber ich werde immer noch im toten Zustand sein. Und das wird in etwa so aussehen. Gehen Sie mit, reisen Sie mit Ärger entlang, sterben Sie und gehen Sie dann zurück und seien Sie immer noch im toten Zustand. Du kannst sehen, dass ich mich nicht bewege, weil ich im toten Zustand bin, aber wir wollen nicht wirklich, dass das passiert. Wir wollen weiter in Bewegung gehen. Also werden wir gehen Sarah transformieren, und dann werden wir unseren Staat wieder in die Höhe bringen. Dies ist unsere allererste Instanz dessen, was eine Spielschleife ist, denn jetzt können wir sehen, ob wir auf Play klicken, wir können weitermachen, weitermachen. Wenn wir sterben, reagieren wir darauf zurück, wo wir waren, und wir können das Spiel spielen. In der Tat, wenn wir darüber springen, was ich tun kann , werde ich das nicht tun. Ich weiß nicht einmal, ob das möglich ist , weil ich mit einer halben Meile pro Stunde unterwegs bin , aber ja, das ist es nicht. Aber wenn wir unsere Spielgeschwindigkeit hier drüben machen, wenn wir meine Rede und mein Leben vorher gehalten haben, dann bin ich zur richtigen Zeit gesprungen. Ich kann das tatsächlich durchgehen und ich könnte weiterspielen. Offensichtlich werde ich jetzt in Schwierigkeiten geraten , weil wir die Karte noch nicht fertig erstellt haben. Das sind die Grundlagen einer Spielschleife. Und eigentlich das Letzte, was wir in dieser Episode tun werden , ist, dass wir die Geschwindigkeit auf drei ändern werden , weil zwei selbst zu Testzwecken nur ein bisschen langsam sind. Wenn du alles so funktioniert wie ich, hast du dein allererstes Thema erstellt. Nun, das einzige, was wir in der nächsten Folge tun müssen, werden wir einen leichten Timer hinzufügen damit wir nicht sofort reagiert haben, wir sterben und antworten dann. Und genau dort wird unsere Zustandsmaschine noch nützlicher sein, aber im nächsten Schritt dagegen. Was Sie jetzt haben sollten, ist ein normales Antwortskript. Und wenn es einwandfrei funktioniert. 11. Timer: Hey da, und willkommen zurück bei Unity. In unserer letzten Folge haben wir unsere Spielgruppe gegründet, was ein weiterer sehr großer Schritt zur Fertigstellung unseres Handyspiels ist . Und wenn wir auf Play klicken, können wir es hier tatsächlich in Aktion sehen, was wir letztes Mal gemacht haben. Wir werden weitermachen und in der Minute, in der wir sterben, gehen wir zurück zum Anfang, was wirklich, wirklich cool ist. Jetzt gibt es ein paar Probleme damit, aber zuallererst gibt es keine Zeit am Tag, weil wir praktisch spawnen, sobald wir sterben, was nicht ideal ist. Und zweitens laichen wir etwas höher, laichen wir etwas als ich ursprünglich beabsichtigt hatte. Als ich mir ein Video ansah, wurde mir klar, dass ich den falschen Wert eingegeben habe. Ich habe 1.69 statt minus 1,69 eingegeben. Das erste, was wir in diesem Kurs machen werden ist, dass wir in dieser Episode weitermachen werden, Bruder ist, dass wir weitermachen und das reparieren werden. Also gehe ich einfach zurück zu meinem Skript, das ich letztes Mal erstellt habe, und füge ein Minus hinzu. Das sollte jetzt ein bisschen besser aussehen. Aber unser Problem des Laichens, sobald wir sterben, ist immer noch eines , das gelöst werden muss. Wenn wir gleich hier drüben auf Play klicken, werden wir sehen, dass wir weiterreisen und mitreisen. Wir verschütten jetzt tiefer, aber wir löffeln immer noch , sobald wir sterben, was nicht großartig ist. Um dieses Problem zu beheben, führe ich einen Timer ein, der uns ab Mitte der 90er Jahre T2 eine kleine Zeitverzögerung gibt und erneut antwortet. So können wir unsere Zustandsmaschine tatsächlich in Aktion sehen. Lassen Sie mich weitermachen, öffnen Sie immer noch das State Manager-Skript. Und ich werde ein ziemlich einfacher Prozess machen, aber es wird einen sehr unbekannten Begriff und Prozedur kälterer IEE-Zähler verwenden einen sehr unbekannten Begriff und . Jetzt habe ich hier aufgezählt, schreib das auf. Es funktioniert ähnlich wie bei einem Verfahren. Ich nenne es „Verzögerung“. Setzen Sie Klammern ein und setzen Sie dann Klammern. Nun, um ganz ehrlich zu sein, habe ich es benutzt, ich zähle sehr lange auf, ohne zu wissen, was sie getan haben, genauso wie Zeitverzögerungsbefehle oder Wartebefehle. Und das ist vollkommen in Ordnung. Ich Enumeratoren sind ein bisschen komplizierter als das. Sie müssen einen Wert zurückgeben. Wie Sie sehen können, ist es für uns an dieser Stelle im Kurs etwas ungewohnt. Aber im Moment müssen Sie nur über sie wissen, dass sie die beiden sind, um sie zu verzögern. Und wir schreiben Code mit der Aufschrift „Yield“ , „Return“, „Neu“. Warte, eine Sekunde, offene Klammern, ein Semikolon. Dann rufen wir die Antwortprozedur auf. Nun, das Letzte, was wir tun müssen ist, anstatt direkt hier antworten aufzurufen, wir rufen Start Coroutine, Open Bracket, Delay, Klammern und dann ein Semikolon auf. Du denkst vielleicht, was zum **** haben wir gerade programmiert? Und ich gebe dir keine Schuld, weil wir gerade eine völlig ungewohnte Sache und dann völlig ungewohnten Befehl hinzugefügt eine völlig ungewohnte Sache und haben. Aber ich möchte nicht wirklich auf jeden einzelnen Gebrauch dieser Sache eingehen , denn das ist in unserem Kurs nicht wirklich so wichtig. In der Tat können Sie Handyspiele erstellen indem Sie diese einfach als zeitähnliche Monate verwenden. Und für meine ersten Handyspiele war das alles, was ich getan habe. Alles was ich hier mache. Sie können darüber nachdenken, als würde ich nur eine Prozedur aufrufen und die Prozedur ruft dann jetzt die Prozedur auf. Der einzige Grund, warum die Prozedur anders aussieht, ist, dass es verwendet werden muss, um eine Weile zu warten. Und ich möchte jetzt nicht in die gesamte Logistik einsteigen, weil es ziemlich kompliziert wird und nicht sehr nützlich ist. Denken Sie einfach darüber nach wie Coroutine starten, was im Grunde nur ein schickes Wort für das Store-Verfahren ist , das warten kann, dann eine halbe Prozedur, die warten kann, und dann mein neues Verfahren starten. Dieser Code könnte etwas ungewohnt aussehen , wie ich es zuvor gesagt habe, mach dir keine Sorgen darüber. Wenn du es genau wie ich aufschreibst, sollte es einwandfrei funktionieren. Und wir werden nicht viel mehr darauf eingehen, dass ich aufgezählt habe, weil es etwas komplizierter ist, als wir jetzt wieder in mein Spiel zurückkehren müssen. Und ich klicke auf „Spielen“. Wir können sehen, dass ich weitermachen, weitermachen und sterben sollte. Und dann nach einer zweiten Antwort, die viel besser ist als das, was wir zuvor hatten, was großartig ist. Wenn du das gut funktionierst. Dies war Teil einer kurzen Episode, weil ich nur das Thema Timings vorstellen wollte . Aber wie gesagt, es könnte ein bisschen ungewohnt sein. Mach dir darüber keine Sorgen. Stellen Sie einfach sicher, dass Ihr Code so funktioniert wie meiner. Ich werde meinen Code offensichtlich hochladen , wie ich es die ganze Zeit getan habe. Sie können es also herunterladen, wenn Sie ein Problem haben. Aber wenn es gut funktioniert und wir sehen uns im nächsten Video. 12. Unsere Karte erstellen: Hey da und willkommen zurück zur Einheit. Jetzt haben wir in den letzten Videos ein halbfunktionales Handyspiel erstellt, haben wir in den letzten Videos ein halbfunktionales Handyspiel erstellt in dem Sie weitergehen können. Wenn du stirbst, würdest du antworten und du kannst darüber springen und weitermachen. Aber das Problem, das auftritt, wenn Sie über das Dreieck springen, können Sie nichts tun, um zu verhindern Sie unweigerlich in den Abgrund fallen. Und das liegt daran, dass die Kartenenden da sind. In dieser Episode. Was wir tun wollen, wir möchten eine Map erstellen , die für immer weitergeht. Jetzt gibt es zwei Möglichkeiten, dies zu tun. Erstens könnten wir diesen Teil der Karte einfach mit dem Spieler bewegen lassen. Wir sind irgendwie immer als Familie, dass nicht alle das Gleiche tun und uns geht nie die Mathematik aus, aber das ist ziemlich langweilig. Was wir stattdessen tun werden, ist, dass wir ein System erstellen , das Teile unserer Karte für uns hervorbringt. Wenn wir bestimmte Punkte erreichen, wenn ich dort ankomme, spawne ich einen neuen Teil unserer Karte für uns, was wirklich, wirklich cool ist. Der Grund, warum dies so cool ist, ist, dass wir eine abwechslungsreiche unendliche Map haben können, damit wir die Höhe ändern können, in der sie gehen, wir können die Länge ändern, wenn wir möchten. Offensichtlich wird das alles später hinzufügen wenn wir alle Handyspiele genehmigen. Aber im Moment schaffen wir es einfach. Also haben sie alle vor uns gesprochen, damit wir eine tatsächlich funktionierende Map haben können. Das erste, was wir tun müssen, ist dass wir diese Kartensegmente kleiner machen müssen, weil ich denke, dass Kartensegmente Kartensegmente kleiner machen müssen, weil ich denke, dass ungefähr so groß sein sollten. Machen wir es so, dass sich das Dreieck einfach anzieht. Und das zweite, was wir tun müssen, ist, dass wir dieses Kartensegment tatsächlich zu einem Prefab machen müssen . In unserem Prefab ist, dass Sie es sich irgendwie als Stempel vorstellen können. Ich möchte alles in dieses Objekt kopieren, es in eine Datei machen, die ich dann in mein Spiel einfügen kann . Das mache ich. Es ist eigentlich nur dieses Wort zu nehmen und ich ziehe es in den Assets-Ordner und lasse los. Es erstellt eine Prefab-Datei für mich. Und dann kann ich diese Prefab-Datei in meine Szene ziehen und sie so spawnen, wie ich es wollte. Und wir werden das mit Code machen . Aber das ist wirklich cool, denn wenn ich dann weitermache und etwas daran ändere, zum Beispiel diese hellgelbe, seltsame Olivfarbe zu machen. Es ändert das gesamte Prefab, so dass ich das tatsächlich aktualisieren kann , wie ich möchte, und alles wird damit aktualisiert, was wirklich, wirklich cool ist. Offensichtlich müssen wir den Code erstellen , der diese tatsächlich spawnt. Aber bevor wir das machen, fügen wir zuerst einen weiteren Collider hinzu. Jetzt ist dieser Teil sehr wichtig. Wir werden in unser Prefab gehen und wir haben bereits einen Box Collider, aber wir wollen einen Trigger Collider hinzufügen. Wir werden dieses Mal einen Edge-Collider hinzufügen, das wird Edge Collider 2D sein. Und es wird irgendwie eine grüne Linie sehen. So ist der Edge Slider. Dann klicken wir hier auf diesen Button mit der Aufschrift „Collider bearbeiten“. Und wir werden es anklicken und wir ziehen das, diese Seite hier rüber, wo die Box dort oben erscheint . Ich würde sagen, solange es vielleicht zwei Drittel der Länge nach oben ist, ist das in Ordnung. Dann deaktivieren wir dieses Punkte-Menü und wir werden es kopieren, wir werden es in eins ändern , damit es einfacher zu speichern ist. Und dann kopieren wir Element eins, dieselbe Position, an der beide dort gespeichert sind. Und das letzte, was ich tun werde, ist das einfach etwas nach oben zu bewegen. Stellen Sie sicher, dass es sich um einen Stahl handelt. Was ich im Grunde getan habe, ist, dass ich die Ein-Punkte-Regierungsausstellung dieses Punktes verschoben habe die Ein-Punkte-Regierungsausstellung , indem ich dieses Punktemenü deaktivierte. Dann nahm es einfach und kognitiven Kurs und machte dann die Y-Werte so, dass sie wie eine Wand aussehen , die man nicht durchmachen kann, was genau das ist, was wir wollen. Und wenn ich es jetzt spielen würde, würde ich natürlich dorthin gehen und ich würde aufhören, werde es nicht durchmachen können . Wenn ich es also zum Auslöser mache, kann ich es perfekt durchlaufen. Aber das bringt uns tatsächlich ein paar Probleme mit sich. Ich erinnere mich, dass ich früher eines unserer vorherigen Skripte bearbeitet habe, ich glaube, es war dieser State Manager hier drüben. Wir können sehen, dass wir ein unbekanntes Trigger-Ereignis haben. Und wenn du dich erinnerst, dass ich sagte, erinnere ich mich, dass ich sagte, dass dies eine sehr, sehr komplizierte Art sei sehr komplizierte Art dorthin zu gelangen, wo das Etikett des Objekts war. Und ich hatte Recht, es ist sehr dämlich. Und es war nicht wirklich das, was wir tun müssen. Unity verlangt nicht wirklich , dass wir diese gesamte Codezeile schreiben. Wir können hier tatsächlich alles herausnehmen und es durch dot GameObject, Punkt-Vergleichs-Tag ersetzen. Und das wird genau das Gleiche für uns tun. Und der Grund, warum dies so hilfreich ist , dass dieser vorherige Weg den Collider bekommen und dann das Spielobjekt bekommen hat, was nur ein bisschen mühsam war. Dieser Weg ist viel einfacher denn dann können wir einfach das GameObject bekommen. Ich möchte, dass du weitermachst und ein State-Manuskript und das in dunkle Spielobjekte umwandelst. Es funktioniert also alles einwandfrei. Du hättest es so lassen können, wie es ist, aber vertrau mir, du wirst später auf Probleme stoßen. Es lohnt sich nicht, dass es nur zum D2L-Objekt wechselt und alles sollte gut funktionieren. Dann werden wir auf ein neues Skript stoßen. Wir werden etwas sehr Ähnliches machen. Aber lasst uns zuerst testen, dass das funktioniert. Wenn ja, sollten wir so sterben können , wie wir es waren. Und antworte. Und du kannst sehen, dass es einwandfrei funktioniert. Also mach weiter und stelle sicher, dass du das in eine Kollision des Spielobjekts änderst. Der Grund, warum ich das Gefühl hatte, dass es die kompliziertere Methode war, verursachte einen früheren Take. Ich hatte es in ähnlicher Weise geschrieben und Einheit hatte mir gesagt, dass das veraltet und alt sei. Also nehme ich an, dass dies der einzige Weg war, aber ich denke, es gab einen anderen einfacheren Weg. Also entschuldige ich mich dafür, aber stelle einfach sicher, dass du es auf Kollisionspunkt-GameObject-Punkt-Vergleichs-Tag reparierst . Das ist viel einfacher. Dann können wir tatsächlich unsere neuen Skripte erstellen. Wir klicken mit der rechten Maustaste hier. Ich werde das C-Sharp-Skript erstellen. Wir nennen diese Map Spawner. Wir werden dieses Skript tatsächlich dem Player hinzufügen. Der Grund, warum wir es den Spielern hinzufügen können , weil wir die Karte relativ zur Platzposition spawnen möchten . Wenn ich also weitermache und das auf einen Spieler wie diesen ziehe, können wir sehen, dass ich meine Karten habe, den Spieler hash. Wenn ich jetzt Punkte in meinem Code erreiche, an denen ich ein Kartenstück zum Spielen spawnen möchte , wird es passieren und es wird sie vor dem Stück aufteilen, was er genau getan hat, was ich will. Die Art und Weise, wie wir überprüfen wo wir es machen, ist mit diesem Collider, den wir hinzugefügt haben, offensichtlich haben wir einen Triggergleiter. Also werden wir sagen, wann immer das Paar übergeht, spawnt der Trigger Collider ein neues Stück die Map, was perfekt ist. Ich gehe eigentlich hier drüben in meinen Code ein, wo ich hatte, ich gehe zur Codeerklärung. Ich kopiere das genau so wie es ist auf Trigger Vent. Kopiere es. Dann öffne ich mein neues Skript, das Map Spawner-Skript. Ich werde diese löschen und was ich dort hinstellen soll. Bei Trig-Entität ungültig. Das einzige, was ich hier machen werde, ist, dass ich dieses Tag von Hindernis zu Boden ändere . Du wirst dich erinnern, dass das das Etikett war wir früher für den Boden gemacht haben. Und ich lösche diese Prozedur und ersetze sie durch meine instanziierte Prozedur, die ich eine Sekunde machen werde. Jetzt, da ich kurz Prefabs vermeiden werde , zeige ich dir, wie man sie über Kurven löffeln kann. Was wir tun werden, gehen wir hier zu unserem Skript, und wir werden eine neue Variable erstellen, öffentlich, und wir werden einen Verweis auf ein Spielobjekt erstellen . Denken Sie daran, dass wir dies früher mit unserem Kamera-Follow-Skript gemacht haben, in dem wir zuerst ein Spielobjekt erstellt und dann zu einer Transformation wechseln , weil wir festgestellt haben, dass wir kein Spielobjekt brauchten. Das Tolle an Spielobjekten ist, dass wir tatsächlich alle Entitäten in Unity-Szenen speichern können , sowie andere Asset-Dateien , die Objekte wie Prefabs sind. Wir können Prefabs in Spielobjekten speichern und sie dann per Code verderben , wird ein öffentliches Spielobjekt, das jetzt Floor genannt wird. Geh hier rüber und ich ändere diesen Code und ich mache es kapital G Spielobjektraum und setze ihn dann überall hin, wo ich es als Kohleminenfließstück bezeichnen möchte , das ich ein Gleichheitszeichen setzen werde. Dann schreibe ich das Wort instanziieren. Ich öffne Klammern. Diesmal gebe ich die Variable flow ein. Dann schreibe ich als und dann wieder ein großes G-Spielobjekt. Jetzt sind Sie vielleicht etwas verwirrt darüber, was genau wir hier machen. Aber im Grunde sagt diese Codezeile , okay, wir haben diese Variable hier drüben, die wir mit dem Flow verknüpfen werden. Geh hier, scrolle nach unten und ziehe Flow hinein. Jetzt gibt es eine Verbindung zwischen ihnen. Also Abfluss ist dieses Objekt, das wir jetzt einsetzen werden und sagen: Okay, wenn wir mit einem Auslöser kollidieren , der die Beschriftung hat, mit anderen Worten, wenn wir diesen Punkt passieren, möchte ich instanziieren, was bedeutet, Flow als Spielobjekt zu erstellen und in dieser lokalen Variablen zu speichern. Ich erinnere mich, dass wir vor langer, langer Zeit zu den lokalen Variablen gegangen sind, in unserer Einführung in C-Sharp Video. Aber im Grunde sind es nur Variablen , auf die Sie nur bei dieser Methode verweisen können , weil wir das gesamte Objekt in dieser Methode erstellen werden . Das ist perfekt für uns. Was diese Codezeile im Grunde tun wird , wird sie irgendwo hinlegen, aber wir wollen Arbeitsmappen steuern. Unter der Szene werde ich also Flow Piece Transformation gehen. Denken Sie daran, dass dies seine Position, Rotation und Skalierung ist. Punktposition entspricht dem neuen Vektor drei. Und dann gehe ich in die drei Positionen, wo ich möchte, dass unsere Transformation sein soll. Offensichtlich weiß ich, dass mein Z jetzt 0 ist, fast 0. Ich möchte, dass mein Z 0 ist und ich möchte, dass mein y etwas am unteren Bildschirmrand ist, aber mein x, ich werde offensichtlich immer anders sein wollen denn wenn ich weitergehe, weitergehe, weitergehe, weitergehe, dann möchte ich jemanden ausgeben, wenn ich immer eingegeben habe, sag diesen Wert minus vier und weiter gehe, folgte er genau dem gleichen Ort. Oder wenn ich, selbst wenn ich den Wert hier beenden würde, minus drei, als ich zu diesem kam, Prefab, das dies auslösen würde . Nun, ich möchte nur das dritte Stück warnen. Es würde es an denselben Ort bringen, was nicht großartig ist. Ich möchte es tatsächlich relativ zur Ort-Position spawnen . Würde das nicht tun. Wir werden den Offset genau wie bei unserer Kamera finden , folgt Skript mit Variablen. Schon wieder. Ich gehe zurück und tippe public int offset ein. Ich gebe tatsächlich einen Y-Wert ein, der diesem ähnelt. Also sprachen sie alle mit demselben Y-Wert. Wenn ich das minus 4.6417 mache, lege ich das in meinen Y-Wert ein. Dann hier drüben, sage ich, vergiss nicht, deinen FM so zu platzieren , dass er weiß, dass es ein Schwimmer ist. Dann werde ich hier drüben sagen transformieren, Kleinbuchstaben t, was die Transformation dort drüben bedeutet. Dies ist in diesem Fall an den Spieler gebunden , der perfekt ist, Position x plus Offset. Das wird das tun. Diese beiden Codezeilen werden im Grunde sagen, okay, wenn ich mit etwas kollidiere, wenn ich mein Ereignis auslöse, bedeutet das, dass ich ein neues Stück Boden spawnen möchte. Ich mache eine neue Variable, lokale Variable, und ich nenne sie Flow Piece. Und diese Variable wird tatsächlich ein neues Objekt für mich erstellen und in die Szene setzen. Und dann werde ich dieses Objekt in eine Position minus 4,6 für y bringen , was in der Nähe von Van ist. Ich hab Nullen gesehen. Und wo immer ich bin, plus ein bestimmter Wert, können wir das tatsächlich in Aktion sehen wenn ich einfach weitermache und einfach hier weitermache und den Wert fünf für den Offset eingegeben habe. Ich weiß nicht, ob das funktionieren wird. Es könnte etwas zu nah sein, vielleicht ein bisschen zu weit. Deshalb verwenden wir Variablen. Aber ich probiere es aus. Wenn ich hier mitmache, geh hier runter. Wir können sehen, dass es tatsächlich viel zu nah ist. Wir können sehen, dass diese beiden sie hier tatsächlich ziemlich überlappen, aber wir erstellen eine Map, genau wie wir es wollten. Also werde ich weitermachen und das in etwas mehr wie zehn ändern . Mal sehen, wie das aussieht. Wenn ich mein Spiel wieder auflade, können wir sehen, dass ich gleich danach fast perfekt ein Kartenstück erstelle , was ziemlich cool ist. Aber ich möchte den Spieler ein bisschen schneller machen den Spieler ein bisschen schneller und ich möchte diese Mathe-Stücke auch ein bisschen weiter auseinander bringen . Ich ändere das auf 12 und ändere meine Platzgeschwindigkeit auf fünf. Was jetzt passieren sollte ist, dass ich eine Karte habe , über die ich springen kann. Viel einfacher, ich werde jetzt viel schneller sein, du kannst sehen, dass ich hinüberspringen und es treffen muss , damit ich auf jedem neuen Kartensegment landete, was wirklich cool ist, weil die Map erstellt wird , wenn wir weitergehen, was wirklich, wirklich cool ist und wir können tatsächlich anfangen, es interessanter zu machen. Aber bevor wir all das tun, müssen wir tatsächlich ein bisschen mehr Code erstellen um sicherzustellen, dass wir unseren Objektinspektor nicht überladen , wenn wir hierher gehen und hierher gehen, tut mir leid, Ich werde Hierarchie, wir können sehen die Grundrisse dort erstellt werden. Diese Flow-Klone sind die Prefabs , die im Shell-Spiel im Statut sind. Wir können sehen, dass sie sich gerade füllen und sie werden nicht zerstört. Und ich brauche das nicht mehr weil ich es nicht mehr benutze. Was ich also mache, ist, dass ich ein neues Drehbuch mache. Und ich werde sagen, wenn meine Position, also die Position, ich werde das Skript an dieses Flow-Piece an das Prefab anhängen . Ich werde sagen, was meine Position weniger ist als die des Spielers plus einen bestimmten Betrag. Wenn ich also so viel weiter von der Kamera entfernt bin , zerstöre mich selbst. Und das wird ein sehr einfaches Drehbuch sein. Und ich klicke mit der rechten Maustaste auf das Erstellen eines C-Sharp-Skripts, und ich nenne diesen Flow. Dann gehe ich einfach weiter und eröffne den Flow. Und ich werde in den Update-Regeln sagen, ich zuerst tun muss, bevor ich das tue, dass ich neue Variablen erstellen muss. Ich weiß, was die öffentlichen Verkehrsmittel mit Spielern sind. Öffentliche Transformation, genau wie wir es für den Counter-Flow-Rock benutzt haben, nenne ich diesen einen Spieler. Dann gehe ich hier weiter und ich sage Player Dot Transformation Punktposition Punkt x. Und das wird meine einzige Sache bei diesem Tool genau hier sein. Ich sage nur meine Transformationsposition Punkt x. Jetzt sage ich, ob mein aktueller Standort in der X-Ebene kleiner ist als die Ortsgespräche und erkläre es. Ich möchte mich selbst zerstören. Und so wie ich das mache ist, dass ich einfach so zerstören werde . Öffne Klammern und dann Kleinbuchstaben-Spielobjekt. Dies bedeutet im Grunde genommen, dass ich mich selbst zerstört habe, weil sich das Kleinbuchstaben-Spielobjekt auf das Spielobjekt bezieht , an das dieses Skript angehängt ist . In diesem Fall sprechen wir über den Boden. Dieses Prefab, nun, das wird tun wenn meine Position geringer ist als die eines Spielers, zerstöre mich selbst. Aber ich bin mir sicher, dass Sie herausfinden können , dass die Ausstellung dieser Flow-Pieces geringer sein wird als der Spieler, wenn sie dort sind. Aber wir wollen noch nicht zeichnen, weil wir diese Etage immer noch brauchen. Wo wir tatsächlich tun werden, wird sagen, was meine Position weniger ist als die Expedition zum Spieler-Minus und dann ein weiterer Offset-Wert. Und wir werden das minus zehn machen , weil es nicht genau sein muss. Es muss nur ein bisschen mehr Spielraum sein ein bisschen mehr Spielraum , damit wir wissen, dass wir es nicht zerstören. Sobald wir es pausieren. Wenn das funktioniert oder passieren sollte, sollten wir jeden einzelnen Frame prüfen, ob wir zu weit weg sind und wenn wir es sind, sollten wir uns selbst zerstören. Wir werden nur Leistung in der großen Reichweite sparen ist wirklich gut. Ich gehe weiter und gehe zu meinem Floor Prefab hier drüben. Ich klicke auf Komponente hinzufügen und schreibe den Namen des Skripts, das ich gerade erstellt habe. Und wir können sehen, dass es tatsächlich hier draußen ist. Wir können Schulden addieren und dann muss ich nur die Spieler-Transformation hinzufügen. Aber so einfach ist es nicht, weil dies kein Prefab ist. Und dann können wir nicht einfach ziehen und ich spiele eine Transfrau genau wie zuvor. Wir müssen dies tatsächlich auch per Code zuweisen. Wir gehen zurück. Wir geben ungültige Aktien ein, die wir früher gelöscht haben, aber wir können damit einfach zurückkommen. Dann sagen wir, dass Spieler gleich ist. Dies wird laufen, sobald wir instanziiert werden. Sobald wir erstellt haben, gehen wir kapital G GameObject dot phi, was bedeutet, Editor zu suchen, Klammer öffnen. Und dann setzen wir Anführungszeichen und kalt als Spieler. Weil wir sehen können, dass unser Spieler Spieler genannt wird. Wir werden jetzt tatsächlich die Integrität erforschen. Punkt-Transformation. Das wird sagen, okay, wenn ich spawne, suche nach einem Spieler, GameObject Dot Find, was bedeutet, nach der Spielerposition zu suchen und dann wird es nicht genau positioniert, aber das ist eine einfache Art zu sagen positionieren und dann in diese Variable setzen. Wenn das funktioniert hat, was sollte passieren? Wir sollten unser Spiel beginnen. Wir können sehen, dass wir, sobald wir ein Flow-Piece erstellen, das Spiel pausieren können und wir können hier rüberschauen. Dieses Flow-Piece hat die Spieler-Transformation seinen R-Codern zugewiesen, die perfekt dazu waren perfekt , wenn wir einen neuen Flow erstellen, weil wir tatsächlich sehen können das alte volle Stück ziemlich zerstört wird genau dann, wenn wir mit unserem Bildschirm fertig sind, was perfekt ist, weil es bedeutet, dass Sie, wenn Sie auf den Bildschirm schauen , kein Problem damit sehen können. Es funktioniert irgendwie einwandfrei. Aber während wir einen Off-Screen machen, werden die Bodenteile tatsächlich zerstört, was wirklich, wirklich cool ist. Das Letzte, was wir hinzufügen werden, ist, dass diese Schwerpunkte direkt vor uns geschaffen werden. Das sieht ein bisschen nicht toll aus. Das tut es nicht, es sieht nicht zu cool aus. Und was wir tun wollen, ist wir es so schaffen wollen, dass sie tatsächlich zwei vor uns installiert sind. Also wollen wir dieses kleine Stück nehmen und wir wollen sagen, dass wir das an Kopf stellen. So wie ich das mache, gehe ich zur Anlage. Ich habe diesen Offset nicht auf etwas wie 30 geändert. Dann werden es eigentlich eher 24 sein, das ist genau verdoppelt. Sobald wir diesen Wert festgelegt haben, machen wir einfach noch eine Sache. Wir werden hier rüber gehen. Und anstatt einen zu haben, werden wir zu Beginn des Spiels zwei setzen , da du sicher denkst, wenn wir einen dorthin legen, geht wenn wir einen dorthin legen, es zu weit weg zur Schule um zu springen , was nicht funktionieren wird. Wenn wir jetzt das Spiel spielen, sollten wir in der Lage sein, einen Sweet Spot dafür zu finden , wo wir das löffeln möchten , ohne springen zu müssen, um fallen zu müssen. Wir haben Play geklickt. Sie können sehen, dass es perfekt hervorgebracht wird , wo wir wollten, und es gibt immer eine Abbildung zum Springen. gibt es nie eine etwas größere Lücke und manchmal etwas kleinere Lücke, was unsere eigene kleine innovative, kreative Version dieses Spiels ist . Der Grund, warum diese Lücken passieren, liegt darin, dass unsere beiden Startsachen nicht genau 24 Einheiten voneinander entfernt sind . Wenn Sie möchten, können Sie dies natürlich verschieben, bis Sie weniger Lücken oder mehr Lücken haben, wo immer Sie wollen. Ich werde meine Phänomene verlassen, meine darüber sprechen, weil ich denke, dass die Lücken unserem Spiel tatsächlich einen kleinen Charakter verleihen. Wenn wir hier weitermachen, sehen wir eine etwas größere Lücke und eine große Lücke. Ich habe das Problem ein wenig minimiert. Sie sehen alle ziemlich ähnlich aus, als ob Sie meine Koordinaten verwenden möchten, das können Sie. Sie sind minus 4.89888.38, was ziemlich gut ist, wenn es darum geht, keine Lücke zu bekommen. Aber was wirklich toll ist, ist, dass wir tatsächlich einen großen Schritt wieder einen großen Schritt in Richtung unseres Handyspiels gemacht haben. Jetzt haben wir eine Spielschleife und eine unendliche Karte, was bedeutet, dass nur noch ein Hindernis geschaffen wird , das auf all diesen auftaucht, offensichtlich mit ein bisschen Abwechslung, was wir sein werden im nächsten Schritt machen. Und wir haben ein Handyspiel , das praktisch gemacht wird, was wirklich, wirklich großartig ist. Jetzt verstehe ich, dass dies eine etwas komplizierte Episode war. Ich bin mir sicher, dass viele der Konzepte, die wir hier durchgegangen sind, etwas verwirrend waren, besonders mit diesem instanziierenden Fertighaus. Wenn du es noch einmal sehen musst, verstehe ich es vollkommen. Wenn Sie es nicht noch einmal sehen wollen, ist das auch in Ordnung, denn wir werden diese Konzepte in Zukunft offensichtlich ein wenig behandeln , wenn wir, besonders in der nächsten Folge, in der wir sind Sie werden Dreiecke instanziieren, sie auch Prehaps machen und sie auch auf diese Blockbodenstücke legen, und sie auch auf diese Blockbodenstücke legen genau wie wir es brauchen. Aber wir werden uns etwas später darauf einlassen. Wenn du es durch die Episode geschafft hast und deine funktioniert einwandfrei. Toller Job. Wenn du meinen Code herunterladen musst, ist das auch in Ordnung. Stellen Sie einfach sicher, dass Sie es genau kopieren und sollte Ihnen gut gehen, ein Arbeitsspiel zu haben. Toller Job, allerseits. Und wir sehen uns im nächsten Video. 13. Unsere Karte verbessern: Hey da, und willkommen zurück zur Einheit. Jetzt, in unserer letzten ziemlich langen Episode, haben wir unser Kartengenerationssystem gemacht, das wirklich, wirklich cool ist. Es ist ein weiterer großer Schritt, um es im mobilen Spiel Wirklichkeit werden zu lassen, denn jetzt haben wir eine unendliche Karte, die wir durchqueren können, wenn wir das Spiel spielen. Wenn wir weitermachen und es laden, können wir es genau wie in der letzten Episode in Aktion sehen. Die Karte wird vor uns generiert und ich denke, wir könnten in Ordnung sein. wir schaffen es tatsächlich rüber. Wir können diese Karte hier tatsächlich in Aktion sehen, unsere neuen Segmente erstellen und die alten zerstören, was wirklich, wirklich cool ist. In dieser Episode werden wir dies ein wenig verbessern wollen , weil dies ein sehr, sehr schönes Kartengenerationssystem ist. Die Karte, die wir erzeugen, ist nicht das Interessanteste auf der Welt, weil wir keine Dreieckshindernisse haben, wir haben nur grüne Strömungsstücke einmalig zueinander hervorgebracht werden. Und das ist nicht ideal, weil es uns kein Spiel zum Spielen gibt, sondern uns einfach ScreenFlow-Stücke zum Springen gibt. Und wie wir beweisen, müssen wir nicht springen. Wir beginnen diese Episode, indem wir Spawn-Punkte auf beiden Seiten der Green Flow Pieces hinzufügen. Und dann werden wir ein System erstellen, in dem wir Dreiecke entweder auf dem einen oder anderen oder beiden löffeln . Wir haben also etwas Abwechslung in unserer Karte. Sobald wir unser Dreieckssystem auf beiden mit den in den USA geborenen Punkten erstellt unser Dreieckssystem auf haben, beginnen wir mit ein paar Problemen, die entstehen werden , wenn wir uns hinzufügen Dreiecke, weil ich mir sicher bin, dass Sie denken wenn wir Dreiecke hinzufügen und verlieren, wir antworten, dann wird es auch keinen Fluss geben, um zu springen, weil wir die Regel zerstört haben. Wir werden ein System erstellen, in dem wir einen Boden erstellen, und wir werden tatsächlich die Bodenteile unter einem übergeordneten Objekt abspawnen . Und sobald wir sterben, wir sicher sein, dass wir dieses übergeordnete Objekt löschen , um sicherzustellen, dass wir keine Duplikate haben. Floor wurde nach dem anderen geschaffen. Darüber hinaus werden wir endlich das ähnliche System mit den Dreiecken herstellen , weil wir möchten, dass unsere Dreiecke auch Kindobjekte auf dem Boden sind. Das werden wir peinlich hinzufügen. Und von da an werden wir Dreiecke und Böden haben können , damit wir die Bodenteile nicht ohne Dreiecke löschen . Und wir werden das Spiel neu starten können , während wir alles löschen. Beginnen Sie zuerst mit den Dreiecken, wenn wir das Prefab doppelklicken oder fließen, denken Sie daran, dass wir dies verderben. Das ist unser Stempel. Und wir gehen oben hier rüber, wir können tatsächlich ein untergeordnetes Objekt erstellen , genau wie wir es mit der Umgebung vor langer, langer Zeit getan haben, als wir dieses Umgebungsobjekt erstellt und ein Haufen Kind hinzufügen Armitage dazu. Das werden wir hier machen. Wenn wir mit der rechten Maustaste klicken, gehen wir Leere erstellen und rufen diese Pause für Position eins auf. Wir können ein Objekt machen, das wir auf dieser Etage platzieren. Und egal wohin wir fließen , dieses Objekt bleibt im Verhältnis zu dieser Position immer gleich. Was wirklich, wirklich cool ist, weil wir dadurch Spermienpunkte für das Dreieck machen können. Also werde ich einen hier etwa ein Drittel des Weges ablegen , dann noch eins, es hier drüben, vielleicht etwa drei Viertel des Weges. Wir können also sehen, dass es zwei Spawn-Punkte gibt. Ich muss diese vielleicht anpassen, während ich weitermache, aber es geht ihnen vorerst gut. Diese Spawn-Punkte werden dort sein, wo ich mein Dreieck platzieren werde. Also mache ich jetzt ein Skript , das besagt, dass ich, wenn ich diese Etage mache, eine Zufallszahl erstellen, generiere und es wird sagen, dass ich entweder eine dort oder da oder eine dort platzieren werde. Was wirklich cool ist. Wenn ich mit einem Rechtsklick in Skripte gehe, erstelle ich C-Sharp-Skript und nenne dieses einen rechten Winkel spawnt. Und ich gehe weiter und ziehe mein Dreieck-Spawner-Skript auf meinen Boden. Jetzt ist mein Dreiecks-Skript offensichtlich leer, also öffne ich das. Ich werde die Update-Methode löschen, aber die Startmethode beibehalten weil wir tatsächlich unsere gesamte Codierung in der Star-Methode durchführen werden . Nun, das wird ein ziemlich einfaches Skript sein , weil wir das Instanziieren schon vorher und alles in dieser Gruppe, die wir tatsächlich zuvor gemacht haben, behandelt Instanziieren schon vorher und alles haben. Wenn ich also gehe, mache ich zuerst meine öffentliche Transformationsposition zu einer einzigen. Dann mache ich noch einen. Ich könnte genau dieselbe Zeile erneut eingeben, wie diese öffentliche Transformationsposition zwei. Aber einfach ist es einfach ein Komma zu setzen und dann Position zwei zu schreiben. Und das ist im Grunde der Auszug. Jedes Mitspracherecht im öffentlichen Vertrauen, wem ich möchte, dass eine Komposition 11 Koopetition in meinen Unity-Editor zurückgeht. Und ich öffne mein Flow-Skript oder mein Flow-Objekt. Vielmehr kann ich sehen, dass Position eins zu Position zwei hier ist und sie nicht zugewiesen wurden. Jetzt werden Sie sich daran erinnern, dass wir den Plan nicht einfach ziehen konnten, weil der Spieler ein Objekt ist und dies ein Prefab ist, also ist es nicht so einfach. Wir mussten Code schreiben, um den Spieler in unserer letzten Folge zu bekommen . Aber mit dem Boden, weil wir das Prefab zuweisen, können wir es genau wie nein hineinziehen und dies tatsächlich von Position 11 auf Position zwei umbenennen , nur damit es ein bisschen schöner ist. Aber wir können diese Schriften tatsächlich ziehen , die wir beim letzten Mal nicht machen konnten. Was wirklich, richtig cool ist. Denn was wir jetzt tun können, können wir ein Spawner-Skript für Dreiecke erstellen. Offensichtlich müssen wir ein Prefab verwenden , genau wie wir es die ganze Zeit getan haben. Also möchte ich an die Öffentlichkeit gehen, Spielobjekt, nenne es Dreieck. Dann schreiben wir sehr ähnlichen Code wie das, was wir hier gemacht haben. Es gibt Spielobjekt, Flow Piece ist instanziiert Floors Spielobjekt und die Transferposition. Das wird tatsächlich der genaue Code sein den wir hier schreiben werden. Aber dieser Code wird ein paar Bedingungen dafür sein , wie viele und wo wir sie spawnen. Wenn wir logisch darüber nachdenken, gibt es vier Kombinationen , die wir teilen können. Das bedeutet für ein Dreieck auf der einen Seite, eins auf der anderen Seite, eins auf beiden oder einem oder keinem. Und wir könnten dies tun, indem wir für if-Aussagen schreiben und natürlich dann eine Bedingung für jeden einzelnen tun. Aber wir werden dies tatsächlich vereinfachen, indem wir nur zwei if-Aussagen machen. Wir werden das tun, ist, dass wir eine zufällige Variable erstellen , die x auf ein oder zwei setzt. Ich werde int x gehen. Es ist also eine lokale Variable, die dem Zufalls-Drop-Bereich entspricht. Öffnen Sie das Quadrat, öffnen Sie normale Klammern. Und ich gebe in diesem Fall einen Wert ein, einen, einen anderen Wert in diesem Fall drei. Dies wird mir tatsächlich eine Zufallszahl von ein oder zwei geben , ohne Flüssigkeiten. Also entweder eins oder zwei. Wenn ich zum Beispiel ein F hier setze, wird es mir einen zufälligen Float geben. Also wird es entweder 101.101.21.3 sein. Aber offensichtlich wird mir das hier ein paar Probleme geben , weil ich irgendwelche GIS speichere. Das mache ich diesmal nicht. Ich werde laufende Ganzzahl von einer mit maximal drei speichern . Das werden ein oder zwei sein. Wenn ich dieses ungültige Update mache, passiert es jeden einzelnen Frame und dann gehe ich drucken x. Ich kann diesen Prozess tatsächlich demonstrieren , weil dies meine x-Variable in jedem einzelnen drucken wird meine x-Variable in jedem einzelnen drucken Frame von eins bis drei. Wir können tatsächlich testen, ob dies tatsächlich die Zufallsvariablen sind, die wir wollen, da dies jedes Mal ausgeführt wird dieser Code besetzt ist oder jedes Mal, wenn ein Flow Pieces instanziiert wird. Wenn wir hierher gehen, werden wir von Anfang an sehen , dass wir eine Reihe von Einsen und Zweien und Dreien haben , weil das zunächst etwas verwirrend sein könnte, ich weiß nicht warum es genau so ist, aber aus irgendeinem Grund bedeutet dies in New Jersey, wenn Sie 123 sagen, wenn Sie 123 sagen, dass dies das Minimum ist und dies das Maximum ist, ohne das Maximum, also ein oder zwei. Jetzt diese ein oder zwei Variable, wir werden tatsächlich zweimal zufällig setzen. Wenn wir das erste Mal oben dort machen , wo wir es zuweisen, sagen wir, Integer x ist Zufallsbereich. Und dann ein paar Zeilen unten mit und machen genau das Gleiche, damit wir eine andere Zufallsvariable haben. Und dann werden wir hier drüben unsere erste if-Aussage haben, wenn x gleich eins ist und das tun. Und das wird sein, wenn x ein Löffel nach dem anderen Prefab ist, dann werden wir x neu zuweisen und wir werden genau dasselbe tun , wenn x gleich eins ist und das nochmal tun. Dies funktioniert im Grunde genommen, dass eine zufällige variable gültige Wert für x von eins bis zwei ausgewählt wird. Wenn es dann eins ist, mach das auf dem einen, tu es noch einmal und wenn es wieder einer ist, spawne das andere. Daraus können wir also erkennen, dass wir entweder ein Dreieck oder keine Dreiecke oder zwei Dreiecke oder ein Dreieck und die andere Position haben können ein Dreieck oder keine Dreiecke . Daraus können vier verschiedene Kombinationen entstehen, was wirklich cool ist. Dann müssen wir das Letzte, was wir tun müssen, einfach den Code für das Laichen in diesem Dreieck erstellen. Und wie gesagt, dieser Code wird diesem Code sehr ähnlich sein. Wir können diesen Code tatsächlich kopieren und direkt dort ablegen. Der Datenschutz wird uns ein paar Namensprobleme geben. Es ist wie wie sind Böden , wenn Sie diese Etage wechseln? Dreieck Und offensichtlich haben wir auch keine Offset-Variable. Und dieser Vektor drei Transformation ist eigentlich nicht das , was wir wollen, dass wir in E umwandeln. Fahren Sie fort und entfernen Sie diesen Teil des Codes. Jetzt haben wir Spielobjekt Flow Piece, instanziierte Dreiecke, Spielobjekt. Es ergibt nicht viel Sinn, also lasst uns das in Dreieck ändern. Dann müssen wir es auch hier tippen. Jetzt haben wir GameObject Dreieck O, wir haben einen Benennungsfehler gesehen. Der Grund dafür ist, dass wir dieses genauso benennen wie den Namen dieses Dreieck, was keine gute Codierlogik ist. Wir werden weitermachen und das zu einem Kapital T und einem Kapital T machen. Und jetzt können wir sehen, dass die Luft tatsächlich verschwindet. Das ist eine gute Sache zu veranschaulichen, und C-sharp. C-sharp ist eine Sprache, die Groß - und Kleinschreibung beachtet , und wir haben dort auch zwei Arten gezeigt. Eine, die Sie ändern können, und es ist eine ganz andere Sache, wie wir es bei Capital Game Object als Kleinbuchstaben-Spielobjekt gesehen haben . Und auch, dass Sie in C-sharp auf Benennungsbereiche stoßen können. Jetzt, hier drüben, meine Dreieckspunkt-Transformationsdeposition, möchte ich entweder eine positionieren oder Truppen hier positionieren, ich bin mir sicher, Position eins , weil ich das erste Mal spawne. Aber Position eins ist eigentlich keine Position. Es ist eine Transformation, also ist das eine Transformation dieser Position und eine Skala und Rotation, alle möglichen Dinge. Gerne tippe ich hier drüben Punktposition ein. Das wird mir überhaupt eine Krankenschwester geben. Dann unter Kopieren Sie diesen genauen Code und legen Sie ihn hier ab, außer dieses Mal, ändern Sie diesen einfach in Position zwei Deposition. Dies ist eine etwas mühsame Art, diesen Code zu schreiben, aber ich dachte, es wäre am besten, die Logik dessen, was wir tun, zu veranschaulichen. Es könnte einige Möglichkeiten dies zu vereinfachen, wenn Sie dies einem professionellen C-Sharp zeigen , dass sie sich vielleicht ändern könnten, dass Sie es in drei Neunen tun können, aber im Moment wird es tatsächlich funktionieren völlig in Ordnung. Jetzt könnten wir zu Unity zurückkehren und diesen Code testen, aber wir könnten tatsächlich erkennen, dass wir vergessen haben , dies wieder zu ändern, um zu beginnen. Wir haben früher versucht, etwas mit Update zu veranschaulichen, aber wenn wir diesen Code jetzt ausführen, wird jeder einzelne Frame mehr Dreiecke verderben, was überhaupt nicht das ist, was wir haben möchte sicherstellen, dass Sie das wieder ändern, um zu beginnen. Ich weiß nicht, ob du zu Update geändert hast, als ich es getan habe, aber wenn du es nicht getan hast, ist das großartig, da es gestoppt werden soll. Nun, geh hier zurück zu Unity und wir werden zum Outflow Prefab gehen, und wir wollen ein Dreieck zum Spawnen zuweisen, aber wir haben hier eigentlich kein Dreiecks-Prefab. Glücklicherweise ist es sehr einfach, ein Fertighaus herzustellen, genau wie wir das Bodenfertigteil gemacht haben. Gehst einfach zurück zu deiner Szene, gehst zum Dreieck und ziehe es so hinein. Es wird ein Prefab für uns sein. Dann. voraus und löschen Sie dieses Dreieck, weil ich es nicht mehr in meiner Szene haben möchte. Ich denke, es ist ein bisschen komisch , einen auf dem ersten und keinen der anderen zu haben . Offensichtlich werden sie es verderben, während wir gehen, aber das ist vorerst in Ordnung. Und dann mache ich weiter und öffne mein Bodenfertigteil. Und ich werde ein Dreieck hier rüberziehen wollen. Jetzt. Was ich tun möchte, ist, dass ich sicherstellen möchte, dass ich mein Spiel spielen und Dreiecke spawnen kann , wie ich möchte. Aber das einzige Problem mit unserem Laichcode wird unser Code im Moment nicht das System verderben , ist, dass wir Grippeobjekte müssen. Einer von ihnen wird das Dreieckskript als auch das andere ausführen. Tatsächlich werden alle Floor-Bücher das sein , was in diesem passiert ist. Wir werden den Code starten und es könnte ein kleines Dreieck genau hier sein, was für uns nicht großartig sein wird. Aber wenn wir Änderungen an diesem Thema vornehmen, weil es sich um ein Prefab handelt, wird es Änderungen an diesem gesamten Prefab vornehmen , was wir nicht tun wollen. Wir werden das tun, was man den Beweis auspacken nennt. Und das mag ein wenig verwirrend klingen, aber im Grunde heißt das alles, dass ich nicht auf dieses Prefab Animals Outlet Bezug nehmen möchte . Im Grunde bedeutet dies, dass ich jetzt Änderungen an diesem Prefab vornehmen kann und das gesamte Prefab nicht beeinflussen kann. Nun, das ist eigentlich kein Pre-Fader-Maulwurf. Wir haben es wieder in ein Objekt geschafft. Also mach weiter und entferne das Dreieck-Spawn-Skript aus deinem ersten Block. Und nachdem du das getan hast, solltest du gut gehen, denn wir wollten beim ersten keine Dreiecke mehr spawnen. Aber alles andere sollte einwandfrei funktionieren , wenn unser Code richtig funktioniert. Also lasst uns weitermachen und spielen und sehen, ob es so ist. Wir können sehen, dass ein Dreieck dort drüben laichen und eins da drüben, was genau das ist, was wir wollten. Diese Dreiecke sind etwas steif. Ich weiß nicht, ob du es sagen kannst. Und wir können färben und von vorne anfangen. Vielleicht stoßen Sie hier auf ein paar Probleme , weil wir die Spielschleife noch nicht abgeschlossen haben, aber wir werden in der restlichen nächsten Hälfte dieser Episode darauf eingehen. Bevor wir darauf eingehen, möchte ich zuerst sicherstellen, dass unsere Positionen der Dreiecke etwas besser sind. Also lass uns hier rüber gehen und lass uns ein Dreieck ziehen. Wir können es testen. Gehen wir zur ersten Position und kopieren wir das Positionsdreieck und gehen Sie zur Einfügeposition. Sie können sehen, dass es heruntergeladen wurde, also werden wir das nach oben verschieben den neuen Y-Wert finden. Wir wollen einen 4.07 und das werden wir sowohl meiner Position 1.074 als auch meiner Position auf 4,5 bis sieben hinzufügen . Jetzt müssen Sie diese Prozedur nicht mit einer Kopie machen und ich habe nur ein paar Tests gemacht, aber ja, wenn wir es jetzt ausführen, sollte es einwandfrei funktionieren. Sie wurde im Dreieck geboren und ist genau dort, wo wir sie wollen. Wir können sehen, wo es ein paar gibt, nicht am Anfang, aber von nun an Rios Punktdreieck genau das, was wir wollten und wir sterben. Das ist das gleiche Problem von früher. Der Grund, warum dieses Problem tatsächlich stattfindet, liegt darin wenn man ständig mit Laichflüssigkeiten darüber nachdenkt, aber wenn wir zum Anfang zurückkehren, den diese Laichen fließen, aber es gibt nichts, worauf wir landen können. Und deswegen war ich mit dem ersten Drehbuch noch nicht fertig. Ich muss dieses Skript auch tatsächlich vom Boden entfernen , weil ich niemals den ersten Stock zerstören möchte. Ich will es zerstören fällt davon und das Gleiche mit dem zweiten Stock. Jetzt im zweiten Stock kann ich diese Triangle Spawner-Skript-Eingabeaufforderung behalten , weil ich sicherstellen wollte, dass ich Dreiecke von hier aus spawnen kann. Ich entferne dieses vollständige Skript. Aber bevor ich das mache, stelle ich sicher, dass ich dieses Prefab auch auspacke. Denn sonst werde ich genau das gleiche Problem haben , das ich mit dem ersten gemacht habe. Also hat es dieses vollständige Skript entfernt und gehe hierher und verschiebe dasselbe vollständige Skript. Wenn wir jetzt spielen, sollten wir ziemlich gut arbeiten. Wenn wir sterben, können wir wieder dahin spawnen, wo wir angefangen haben und weiter löffeln und so. Offensichtlich gibt es hier ein paar, die schon so über die anderen laichen, aber der Kern ist da. Das Letzte, was wir tun müssen, ist sicherzustellen, dass diese alten gelöscht werden, damit wir wissen, dass wir alle alten löschen , damit wir keine doppelte Sport und darüber hinaus haben andere. Und wir werden das tun , indem wir sie bestellen. Also werden wir ein neues Objekt erstellen und das werden wir Spawned Lights bezeichnen. Also werde ich weitermachen und sicherstellen, dass ich das Löffelfließobjekt habe. Und dann möchte ich dies als Verweis auf mein Map Spawner-Skript in meinem Player hinzufügen Verweis auf mein Map Spawner-Skript in meinem , damit ich sicherstellen kann, dass ich alle meine Fehler in diesem Bone Flow-Skript auf dem Hoegaarden speichere diesem Bone Flow-Skript auf dem Hoegaarden 000 genau wie wir es mit der Umwelt gemacht haben, mit unserem Boden und unserem Hintergrund auf unserer Etage. Ich mache das Gleiche mit Löffel voll. Dass ich, sobald ich sterbe, diesen Punktfluss beseitigen und dafür gesorgt habe, dass alle alten Regeln gelöscht werden. Ich mache das, indem ich mein Map Spawner-Skript öffne . Und hier drüben setze ich die Übertragung und den Widerstand, aber ich möchte auch das übergeordnete Objekt festlegen, was bedeutet, dass ich das Objekt setzen möchte, dieses Objekt, das ich jetzt teile, ist auch ein Kind. Das klingt vielleicht nicht wichtig, aber wie ich bereits sagte, verwenden wir es als Stauraum. Nicht so behält es den Standort oder ähnliches im Auge. Also geh hier rüber und setze Flow, Frieden. Punkt-Transformation, Punktsatz-Eltern. Und man könnte einfach sagen, Punkttransformation, aber Eltern sind gleich, aber sie scheint zu denken, dass dies eine alte Art ist, dies zu tun. Das ist also der bessere Weg, wie sie offene Klammer nicht kennen. Und jetzt müssen wir hier etwas setzen, aber wir haben keinen Hinweis auf die Sache, die wir diese Vermögenswerte speichern möchten. Lass uns hierher gehen. Öffentlich. Elektronen bilden diesen einen Speicher. Dann gehen wir her und tippen dort Speicher ein. Und wir müssen keinen Punkt-Elternteil oder diese Position oder ähnliches sagen . Das weiß genau , was wir tun wollen. Wir haben also unsere Transformationsspeichervariable und wir machen Punktsatz-Eltern, was im Grunde eine ausgefallene Art ist , alles dort hineinzulegen. Das Letzte, was wir jetzt tun müssen, ist, dass wir das in den Speicher ziehen müssen. Und wenn wir das tun, sollten wir jetzt sehen, dass jedes Mal, wenn wir einen Flow instanziieren, er in dieses Löffelfließ-Ding gelegt wird. Was wirklich, wirklich cool ist, denn wenn wir sterben, nun, ich meine, dass jetzt keine Dinge laufen, was kein zusätzlicher Punkt darüber ist, ob wir sterben, was wir tun können, wenn wir es jetzt im Spiel ziehen, wir können hineingehen Löffel fließt und wir können all diese alten Flüsse löschen, die wir nicht brauchen, was wirklich cool ist. Offensichtlich haben wir die Dreiecke noch nicht ganz organisiert, also werden wir sicherstellen, dass wir dies später in einer Sekunde tun genau dieselbe Methode verwenden. Aber wenn Sie jetzt so gehen, können wir sehen, dass die Böden genau so spawnt werden, wie normale doppelte Flows gespeichert werden, was super cool ist. Ich bin mir sicher, dass Sie die Dreiecke, die wir sehen, selbst bemerkt haben. Also lasst uns das schnell reparieren. Wenn wir auf Vermögenswerte eingehen und zu unserem Flow gehen, können wir sehen, dass die Dreiecke aus diesen Dreiecks-Spawn-Skripten entstanden sind. Also lasst uns Skripte Dreiecke geboren werden und dann genau die gleiche Codezeile machen , die wir gerade hier gemacht haben. Diskettenstart-Transformation setzt Terran, außer dass wir es dieses Mal auf uns selbst einstellen wollen. Gehen wir hier hin und wir geben Dreieck ein, Frankreich-Telefonbücher setzen Eltern. Und dann tippe ich einfach transformieren mit einem Kleinbuchstaben-Team, was bedeutet, dass die Transformation oder wo auch immer dieses Skript ausgeführt wird , weil das das Richtige sein wird. Kopiere das rüber und lege es hier hin. Perfekt, das sollte einwandfrei funktionieren , wenn ich mein Spiel jetzt führe, wir können sehen, dass alle Dreiecke tatsächlich in den Strömen hier drüben laichen. Position eins, Position zwei. Und wenn wir hierher gehen, sind tiefe Dreiecke in ihnen, was genau das ist, was ich will. letzte Teil dieses Bereinigungscodes den ich machen möchte, ist , dass meine Dreiecke und alles andere gelöscht werden, sobald ich sterbe. Das wird etwas komplizierter. Also gehe ich hier zu meinem State Manager-Skript und wir können sehen, dass wir diese Färbeprozedur haben, aber ich wollte es von hier aus brauchen , weil das etwas verwirrend sein wird. Stattdessen möchte ich zu meinem Map Spawner-Skript gehen und es von dort aus machen. Macht es das ein bisschen sinnvoller , welche Skriptaufnahme von uns machen könnte. Es macht keinen Unterschied , weil die Aussage des Skripts auf dem Player steht, ebenso wie der Maps Warner. Aber nur um des Zinses willen denke ich, dass es einfacher sein wird, wenn ich es von hier aus mache, also ist es in Zukunft weniger verwirrend. Das erste, was ich mache, ist, dass ich ein neues Verfahren mache, und dann nennen wir es öffentlich nichtig. Und ich nenne es Clear Storage. Dann ist das sexuelle einfacher , weil ich einlagern kann oder hier habe ich meinen Speicher wie kein Speicher angefühlt. Ich kann jedes einzelne Kind von der Lagerstätte räumen. Und so wie ich das mache, werde ich punktuell gehen, Kind holen. Dann möchte ich das Kind zum ersten, zweiten, dritten oder vierten oder fünften bringen. Wenn ich 0 tippe, bekomme ich das erste Kind, um zuerst ein zweites Kind zu bekommen, aber ich möchte jedes einzelne bekommen. Und das werden wir mit einer for-Schleife machen. Also gehe ich dann werde ich eine neue Variable aufrufen wollen. Und ich habe noch keine Variable, also machen wir eine lokale Variable int x. Dann sage ich voll. Und wenn Sie sich an die for-Schleifen-Syntax erinnern , sollte dies sinnvoll sein. Ich werde es noch einmal durchgehen weil ich sicher bin, dass viele von euch es vergessen haben , weil es vor 15 Episoden oben war. Ich weiß es nicht. Vier x ist gleich 0. Das heißt, ich möchte das erste Kind bekommen und ich gehe x weniger als jetzt. Ich möchte dies für so viele Kinder tun, da der Speicher Alligatoren, Dot Child Count hat . Das gibt mir Zahlen, wenn es eine sein wird, dieser Code wird immer einmal ausgeführt, weil er 0 ist, es ist weniger als die Kinderzählung weil er einmal läuft und dann wird es eins sein weil ich es am Ende erhöhen werde. Ich kriege x plus plus. Denken Sie jetzt daran, mit for-loops und Fehler, die viele Leute machen, ist, dass sie die Parameter durch Kommas trennen. Sie sagen also x weniger als 0 Komma x plus plus, aber wir verwenden tatsächlich Semikolons. Stellen Sie also sicher, dass Sie x gleich 0 Semikolon-Speicherplatz haben als x weniger als das Semikolon-Leerzeichen von Child Count X plus plus plus. Und denken Sie daran, denn das ist ein Fehler, den viele Leute machen. Das ist eigentlich alles Könnten wir jedes einzelne dieser untergeordneten Objekte zerstören müssen jedes einzelne dieser untergeordneten Objekte zerstören , da wir x weniger als die Erhöhung der Speicherzahl X erreichen können . Wenn wir also zwei Kinder haben, wird es um 0 um 11 steigen. Und weil es auch ist ist es vergleichsweise weniger als Abkürzungen. Im Wesentlichen in der Arbeit , die ich x hier rübergebracht habe, bekommt Storage Dot Kind x. Und wir werden das zerstören. Wir geben das untergeordnete Objekt für die offene Klammer ein. Und wenn alles funktionieren sollte, wir jedes einzelne Objekt löschen, wann immer wir diesen Zustand nennen sollten wir jedes einzelne Objekt löschen, wann immer wir diesen Zustand nennen. Wir werden das tatsächlich anrufen wollen, sobald wir antworten. Denn wenn wir darüber nachdenken, wann wir anrufen, wenn wir sterben, werden wir durch den Boden fallen. Hier drüben im Reframe müssen wir das Letzte, was wir tun müssen, einen Link zu den Übereinstimmungsformularen erstellen. Also werden wir Republic Maps geboren, nennen es Mathe. Und wir werden hier eingehen, um zu antworten, und wir werden den Mathe-Punkt Clear Storage gehen . Bevor wir jetzt wieder zu Unity gehen, müssen wir zuerst sicherstellen, dass wir das Spielobjekt zerstören, nicht die Transformation, da wir diesen Code hier sehen können. Es heißt, Storage Dot get child, aber das wird uns eine Transformation zurückgeben. Um das zu beheben, gehen wir einfach auf Child Dot GameObject. Und das bezieht sich tatsächlich auf das Spielobjekt, nicht auf die Transformationskomponente. Wisse nur, dass wenn wir sagen, Hund bekommen Kind, das die falsche Sache zurückgibt, die ein übertragendes Kind zurückgibt. Es gibt das eigentliche Kind nicht zurück. Hier drüben bekommen wir das Spielobjekt, welches das eigentliche untergeordnete Objekt ist. Wir wollen die Backend-Community zerstören. Ich muss diesen Map-Spawn nur auf die im Player gespeicherte Map-Variable ziehen die im Player gespeicherte Map-Variable , um sicherzustellen, dass sie verknüpft sind. Und wenn ich dann auf Play klicke, sollte ich sehen, dass dieser Löffel langsam von verschiedenen Etagen bevölkert wird . Sehen Sie, dass es zwei gibt und wenn ich sterbe, sollten sie alle geklärt werden, was wirklich großartig ist, weil es bedeutet , dass dies genauso funktioniert, wie wir es wollten. Es gibt keine doppelten Flows mehr, was wirklich cool ist. Wenn Sie ein paar kleine Bereiche bemerkt haben, zum Beispiel ein neues Spiel, habe ich bemerkt, dass ich manchmal nicht mehr in den dritten Stock oder danach springen kann . Das ist vollkommen in Ordnung. Wir werden diese in der nächsten Folge ansprechen, alle folgenden Episoden. Zum Beispiel haben wir nie wirklich kontrolliert, ob wir springen können oder nicht wenn wir offensichtlich nicht wollten, dass dies wahr ist, weil es im Moment kein sehr wichtiger Teil unseres Spiels war. Wir werden diese offensichtlich später reparieren . Wenn Sie diesen Kurs abgeschlossen haben, haben Sie ein komplett funktionierendes fehlerfreies Spiel. Wenn dein neues Spiel jetzt testen und nur wenige Dinge etwas zweifelhaft sind , mach dir keine Sorgen, sie werden alle geklärt. Und wenn Sie ein Flow-Spawn-Skript haben, haben Sie es großartig gemacht. Wenn Sie nun mitfolgen und Ihr Code genau so funktioniert wie meiner, müssen wir als Letztes unserer Karte etwas Abwechslung hinzufügen, und wir werden dies später im Kurs tun. Offensichtlich gibt es, wie gesagt, ein paar Bereiche, die wir noch klären müssen. Ein paar Dinge können sich verbessern, aber unsere grundlegende Spielschleife wurde tatsächlich erstellt. Es gibt auch ein paar Ausgleichsänderungen, die ich ansprechen möchte. Ich glaube nicht, dass es immer möglich ist, von beiden zu springen. Also werden wir später in Episoden vielleicht die Schwerkraft erhöhen und den Sprung falsch und solche Dinge zu denen erhöhen, die Spiel sind. Aber wenn alles funktioniert und Sie ein halb funktionales Spiel haben , das Sie viele Male spawnen und wiederholen können , möchten Sie großartige Arbeit. hast du erstaunlich gemacht und wir sehen uns im nächsten Video. Ich verschiebe unser Spiel wird früher fertig sein , als du denkst. Guter Joghurt herum. 14. Mollige Verbesserungen: Hey da, und willkommen zurück zur Einheit. Nun, in den letzten zehn oder wie vielen Episoden haben wir dieses ziemlich nackte Knochen geschaffen, aber eigentlich ziemlich beeindruckendes Handyspiel mit diesem, dem ersten oder einem der ersten Handyspiele , die du gemacht hast gute Arbeit. Es ist eigentlich verrückt darüber nachzudenken, wie viel Sie erreicht haben. Du hast ein mobiles Spiel von Grund auf mit deinem eigenen Code erstellt und kannst eine Map generieren. Du kannst über Hindernisse springen, du kannst reagieren, du kannst springen, dich bewegen. Es ist wirklich, wirklich großartig, gute Arbeit, alle, du hast es großartig gemacht. Abgesehen davon gibt es ein paar Probleme mit unserem Handyspiel in seinem aktuellen Zustand. Und du hast sie vielleicht tatsächlich bemerkt, wenn du Test in deinem eigenen Build spielst. Und es gibt nur ein paar Bugs. Und die meisten dieser Bugs sind tatsächlich Logikfehler, die aufgetreten sind. Wir haben plötzlich etwas gemacht und dann haben wir es geändert und dann hat es einen kleinen Logikfehler verursacht. Und sie sind nicht die am einfachsten zu bemerkenden Fehler. Aber wenn du verstehen kannst es ständig mache, sobald ich sie erkläre , werden sie viel Sinn ergeben, also tauche ich direkt darauf ein. Der erste Bug, den Sie vielleicht bemerkt haben, wenn Sie auf Play klicken, wenn ich mitrutsche, müssen Sie nicht wirklich auf Springen drücken, um mitzurutschen, aber wenn Sie das tun, können Sie nicht abspringen gegenwärtigen Raum. Ich springe nicht. Das ist kein Problem mit meiner Leertaste. Es ist kein Problem mit irgendetwas Schlimmem. Es ist eigentlich ein Problem mit dieser geerdeten Variablen. Du kannst hier sehen, wenn ich spiele, sehe ich, dass der Boden auf wahr ist. Und wenn ich es falsch lasse und wieder weitergemacht habe , und so weiter, wahr, ich riskiere breit. Wenn ich jetzt so gehe, setzt es tatsächlich das False und dann können wir nicht springen. Und der Grund dafür ist, dass unser Grund die Variable darauf basiert, ob wir eine Kollision betreten oder beenden. Wenn du also darüber nachdenkst, rüber zu rutschen , machen wir weiter, wir treten hier in eine neue Kollision ein, und dann verlassen wir einen. Aber weil wir danach aussteigen, wird das außer Kraft setzen und sagen: Okay, wir sind am Boden Tier. Das ist eine sehr, sehr einfache Sache zu beheben. Alles, was wir tun müssen, ist, dass wir unseren Prozedurnamen leicht ändern müssen , damit wir es nicht tun müssen, wenn wir in eine Kollision eintreten, wir möchten sicherstellen, dass wir Hausarrest haben. Wenn wir immer in einer Kollision sind, werden wir das ganz einfach machen. Wir werden die Bewegung öffnen, du wirst das Skript bewegen. Und Sie werden dies bei Kollision ändern wollen , geben Sie zwei bei Kollision ein, bleiben Sie dran. Kollisionszustand ist praktisch genau das Gleiche. Es ist genauso kalt. Jeder einzelne Frame, auf dem wir uns auf dem Gelände befinden, jeder Frame ist Mittagessen um den Boden wird sicherstellen , dass wir dem Spiel sagen , dass wir Hausarrest haben, das ist Sta AY. Und ersetze einfach Enter durch bleib. Also auf Kollision bleiben 2D. Perfekt. Wenn wir nun erneut auf Spielen klicken, sollten wir sehen, dass alles gut funktionieren sollte. Wir können jetzt abspringen, was großartig ist. Das zweite, was ich ansprechen möchte ist UCI, die ich gerade mache, aber ich finde, dass es manchmal schwierig ist, über beide zu springen, wenn es Stacheln gibt. Und das hat mit der schmutzigen Skala zu tun und die Geschwindigkeit wird sich auszahlen. Das ist kein Bug, das ist nur ein Ausgleichsproblem. Also werde ich das jetzt reparieren. Ich gehe zu meinem Spieler. Ich mache die Schwerkraftskala drei, also ist es etwas einfacher zu kontrollieren. Um das zu kompensieren, werde ich meine Sprungkraft erhöhen, aber meinen Sprung 13 nicht zu sehr automatisieren. Ich habe das tatsächlich getestet und ich habe festgestellt, dass es der effizienteste Weg ist, diesen Bereich zu reparieren. Sie können jetzt sehen, dass es viel einfacher zu kontrollieren ist, wann ich springen möchte , weil ich es öfter mache. Und das macht das Spiel manchmal nicht etwas schwieriger, aber es ist auch viel einfacher zu kontrollieren, was meiner Meinung nach eine sehr gute Sache ist. Ich würde Ihnen empfehlen, das zu tun, weil ich festgestellt habe, dass es für das Gameplay viel besser ist. Sobald Sie das getan haben, können Sie sehen, dass ich jetzt mit absoluter Leichtigkeit mit diesen überspringe , was wirklich großartig ist. Die andere Sache, die ich sicherstellen wollte, dass wir es tun, ist, dass ich nicht in der Lage sein will alle weiter zu bewegen, solange wir tot sind. Dies ist dank unserer Zustandsmaschine auch sehr einfach zu lesen . Wenn ich weitermache und meinen State Manager geöffnet habe, wirst du sehen, dass mein Staat tot ist, solange ich sterbe . Der Grund, warum ich aufgehört habe zu bewegen, ist, dass ich hier ein Bewegungsskript habe, das besagt, ob der Punktstatus des State Managers gleich dem einfachen Verschieben ist, aber ansonsten habe ich nichts anderes gesagt. Was passiert, wenn ich das Ding treffe, überschreibe ich einfach nicht mehr meine starre Körpergeschwindigkeit. Also rutsche ich einfach irgendwie. Ich mache eher wegen Schwung oder Trägheit weiter, aber ich mache einfach weiter. Ich schreibe eigentlich noch eine andere Aussage. Und solange ich nicht spiele, möchte ich sicherstellen, dass meine Geschwindigkeit immer 0 ist. Rb. Geschwindigkeit nicht gleich, und ich könnte neue Vektor zwei Nullen eingeben, aber ich gebe tatsächlich nur Vektor zwei Punkt 0 ein, und das ist genau das Gleiche. Dies ist einfach eine einfachere Art, es zu sagen. Vakuolartheorie besteht im Grunde darum sicherzustellen , dass ich toter Stuhl bin, solange ich nicht spiele . Und das ist wirklich großartig , denn das bedeutet, dass wir unseren Bewegungscode tatsächlich außer Kraft setzen werden unseren Bewegungscode tatsächlich außer Kraft , damit wir bei jedem Frame , in dem wir tot sind, nicht nur nicht mehr vorankommen werden, wir werden an Ort und Stelle auf der X-Achse tot anhalten. Und wir setzen unsere Y-Geschwindigkeit auf 0. So können wir hier oben sehen, dass wir aufhören, was wirklich großartig ist. Das Problem ist, dass wir auf Y Velocity 0 sitzen, jedem Frame, der es eigentlich nicht wirklich schaffen wird, bis wir nicht alles raus bewegen. Die Schwerkraft der Einheit wird immer noch langsam so rutschen. Du siehst da drüben, ich gehe immer noch nach unten. Das ist ein kleines Problem. Aber ich kann das sehr leicht beheben, indem ich einfach sage, dass die RB-Punkt-Schwerkraftskala gleich 0 ist. Man könnte denken, dass das alles verkauft ist. Aber du musst daran denken, dies wieder auf das zurückzusetzen was wir wollten, sobald du wieder spielst. Wir werden das tun, indem wir hierher gehen, um unsere Schwerkraftskala zu beanspruchen und auf drei zu setzen. Solange sie sehr Skalen spielen , oder sind es drei? Und wenn wir es nicht sind, ist unsere Schwerkraftskala immer auf 0 eingestellt. Ich mache weiter und öffne mein Spiel noch einmal. Wir können sehen, dass es mir gut geht. Und wenn ich sterbe, wie Sir, habe ich angehalten und dann bin ich wieder auf meiner Fahrwaage, was wirklich, wirklich cool ist , weil ich veranschaulichen werde , wie das aussieht, wenn wir meiner Meinung nach viel besser sterben. Nun, das dritte und letzte Ding oder Kommentar, wenn es dafür ist, für diesen Punkt. Aber eine andere Sache, die ich in diesem Absoluten ansprechen wollte, möchte ich, dass Sie diese etwas kürzer machen , weil ich denke, dass diese etwas zu lang sind. Also werde ich diese 2.8 machen. Ich werde beide einfach einzeln ändern , weil ich sie aus dem Prefab entpacke, damit sie nicht mehr mit diesem Prefab verbunden sind. Geh einfach ins Prefab und tippe hier 2.8 ein. Und das sollte eigentlich alles andere für dich reparieren, was wirklich cool ist. Jetzt haben wir ein bisschen mehr Sprung und wir müssen darüber springen, was viel besser ist. Es ist, als wären es kleine Inseln. Das bringt uns zum zweitletzten, was ich in dieser Episode ändern möchte, und das ist Reibung. Du wirst sehen, ob ich so gehe und falle, ich weiß nicht, ob ich zu schwer bin, aber ja, perfekt. Ich bleibe hier drüben. Und das ist nicht großartig. Und der Grund, warum das passiert , liegt an meiner Reibung. Jetzt setze ich Reibung ist auf die Standardreibung eingestellt. Da es auf die Standard-Reibungseinstellung eingestellt ist, gehe ich im Grunde weiter nach rechts. Ich versuche es zu wissen, aber ich bin ausgestopfte Seiten. Infolgedessen bleibe ich einfach an Ort und Stelle. Um das zu beheben, werde ich ein neues Physikmaterial erstellen. Ich mache dies, indem ich heute mit der rechten Maustaste auf „ In 2D erstellen“ und dann auf Physikmaterial klicke. Und ich nenne diese Ebene. Und alles was ich tun werde, ist, dass ich diese Reibung zwei Nullen setze. Dann gehe ich zu meinem Spieler und ziehe das in meinen starren Körper. Sie können sehen, was jetzt passiert ist, wenn ich weitergehe, sollte ich nicht mehr dort bleiben. Ich sollte aufschreiben, was perfekt ist. Genau das wollte ich passieren. Jetzt ändern wir einige Dinge, aber es gibt eine letzte Sache, die ich sicherstellen möchte , dass wir in dieser Episode ansprechen Es wird tatsächlich eine optimierte Möglichkeit sein , eine Sache zu beheben. Früher. Früher haben wir hier unsere Wohnmobil-Schwerkraftskala geändert, aber wir haben es in jedem einzelnen Frame gemacht. Das ist wirklich nicht toll, denn das bedeutet, dass wir überschreiben, dass jemand bereits passiert. Es ist nicht gut für die Leistung. Stattdessen möchte ich eine Prozedur machen , die es für mich erledigt. Und ich mache das mit einem neuen Konzept namens „Parameter“. Ich gehe hier rein und erstelle öffentliche Leere, nenne es Reset Gravity. Ich gehe hier rüber. Ich lege hier RB Dog Gravity Scale ein. Lösche das dort drüben. Jetzt möchte ich das jedes Mal anrufen, wenn ich den Status ändere. Wenn ich also zu meinem Staatsleiter gehe, wusste ich genau, wann mein Staat tot ist und wo mein Staat spielt. Das erste, was ich tun werde, ist einen Link von der Aussage I GO TO bewegung zu machen . Ich habe bereits eine Verbindung in die andere Richtung, aber ich möchte eine Verbindung herstellen, die auf diese Weise Algoma Public Movement ist, und ich nenne es move. Was ich dann tun will, möchte ich diese Prozedur sowohl dann aufrufen wenn ich sterbe als auch die Reset-Schwerkraft bewege. Und hier drüben, verschiebe die Punktrücksetz-Schwerkraft. Aber ich möchte es auf zwei verschiedene Dinge einstellen , hier möchte ich es auf 0 setzen, und hier möchte ich es auf drei setzen. Und so wie wir das machen, könnten Sie zwei Prozeduren schreiben, aber ein viel besserer Weg, dies zu tun, ist nur die Verwendung von Parametern. Also gehe ich hier rüber zu meiner jüngsten Schwerkraft und gehe in diese beiden Klammern und ich tippe int x. Nun, das wird tatsächlich reichen es sagen wird, okay, wann Ich habe diese Prozedur aufgerufen, ich gebe einen Wert für diesen Parameter ein. Es ist irgendwie wie ein Eingabewert. Sie können hier oben sehen, es heißt, dass es kein Argument gibt , das dem erforderlichen formellen Stolz auf x entspricht. Wenn ich darauf doppelklicke, kann ich sehen, wo die Luft ist. Es ist hier drüben. Ich sage nicht, was ich hier x setzen wollte, gib hier den Wert 0 und den Wert drei dort ein. Alles ist in Ordnung. Ich habe diese Prozedur jetzt hier aufgerufen und hier verschiedene Werte gegeben, ich habe auf 0 gesetzt und hier habe ich die drei gesagt. Dann muss ich nur wieder in Bewegung gehen. Und in meiner Reset-Schwerkraft musste ich sagen Albedo-Schwerkraftskala gleich x ist. Jetzt haben wir zwei völlig verschiedene Dinge mit demselben Verfahren unter Verwendung von Parametern erreicht . Jetzt ist dies ein völlig neues Thema, aber ich wollte es irgendwann in dieser Episode behandeln , weil ich dachte, es wäre später nützlich, falls wir es im Grunde brauchen, dass es wie ein Eingabewert ist. Ich werde Ihnen also sagen, was zu tun und gebe Ihnen ein paar Informationen, damit Sie es tun können. Und das ermöglicht es uns, eine viel bessere Möglichkeit zu schaffen , die Schwerkraft zurückzusetzen. Jetzt brauche ich all diese Attribute, um Unity wieder zu öffnen. Gut, mein Spieler sorgt dafür, dass ich meine Bewegung hierher gezogen habe . Und wenn ich weitermache und auf Play klicke, können wir jetzt sehen, dass wir genau das gleiche Ergebnis mit einer viel besseren Methode erzielt haben . Wir können sehen, dass wir so aufhören wie wir es getan hatten, und wir fangen wieder an, was großartig ist. Das mag also wie eine seltsame Episode ausgesehen haben, aber ich wollte es nur verwenden, um die konstanten Parameter zu lehren und all die kleinen Probleme zu beheben. Und ich denke, du wirst diese Episode herausfinden, du wirst das Spiel viel angenehmer spielen. Herzlichen Glückwunsch, Sie haben das Basismodul dieses Kurses abgeschlossen das Basismodul dieses Kurses ein Handyspiel erstellt. Wir haben ein Handyspiel gemacht , in dem du es spielen kannst. Hab eine Spielschleife. Du kannst, wenn du verlieren kannst. Aber es kommt noch viel mehr und jetzt gehen wir auf das lustige Zeug ein. Ich bin mir sicher, dass Sie bemerkt haben, dass wir noch nicht einmal unseren Hintergrund mit unserem Spieler gemacht haben . Das ist eine sehr einfache Änderung. Offensichtlich mache ich es jetzt nicht . Starker Lehrer, das Ende dieser Episode. Aber in der nächsten Folge und den folgenden Episoden werden wir uns mit all den wirklich lustigen Dingen fertig machen, die wir in unserem Schulsystem hinzufügen werden. Wir werden visuelle Verbesserungen hinzufügen, Audio, Musik, alles, was einen mobilen Game Pop macht einen mobilen Game Pop kommt in der zweiten Hälfte dieses Kurses. Aber am Ende dieser Episode hättest du den Basisteil deines Spiels tatsächlich fertigstellen sollen, was wirklich, wirklich cool ist. Toller Job für alle. Erstaunlich. Und wenn Sie Handyspiele arbeiten, die genauso funktionieren, wie meine, ist wie immer ein großartiger Job, ich werde natürlich alle meine Skripte in der Beschreibung oder den Ressourcen verknüpfen in der Beschreibung oder , damit Sie sie verknüpfen können. Und gute Arbeit. Sobald du diese Episode beendet hast, bist du so ziemlich auf halbem Weg. Der schwierige Teil dieses Kurses ist eigentlich Haltung und wir setzen uns mit dem lustigen Zeug ein. Toller Job für alle. Wir sehen uns im nächsten Video. 15. Bewertung: Hey da und willkommen zurück bei Unity. unserer letzten Episode haben wir gesagt, dass unser Spiel oder die Kernkonzepte ziemlich fertig sind und das stimmt. Aber es gibt einige Möglichkeiten, wie wir unser Spiel verbessern können , um es noch besser zu machen. Offensichtlich ist es noch nicht einmal ein Handyspiel , weil wir es nicht gezogen haben, um nach oben zu gehen. Aber wir werden all diese coolen, wirklich lustigen Teile der Entwicklung von mobilen Spielen ändern . Offensichtlich haben die vorherigen Teile Spaß gemacht, aber das ist meiner Meinung nach die besten Teile der Entwicklung von mobilen Spielen. Es ist das wirklich kreative Zeug du im Sounddesign hinzufügen kannst, dein Spiel verbessern, wie du willst, all die wirklich lustigen Sachen. All das wird also in der zweiten Hälfte dieses Kurses sein . Und das wird heute mit unserem Schulsystem beginnen. Bevor wir unser Schulsystem hinzufügen, möchte ich zuerst sicherstellen, dass unser Spiel ein paar kleinere Verbesserungen vornehmen kann. Beginnend ziehe ich den Hintergrund unter die Hauptkamera, damit ich ihn als untergeordnetes Objekt habe. Und was dies tun kann, ist sicherzustellen, dass unserer Hauptkamera immer ein untergeordnetes Objekt folgt. Wenn wir hier zu unserem Spiel gehen und auf Play klicken, können wir das in Aktion sehen. Uns folgt nun der Hintergrund, der wirklich coole, wirklich einfache Art ist, es zu beheben. Die zweite Änderung, die ich machen möchte, ist, dass ich in meinen Hintergrund gehen möchte. Und ich möchte weitermachen und ich werde Component Edge Collider 2D hinzufügen . Und dann sehe ich meine Edge-Wolke hier. Es ist eigentlich fast Hi, ich wollte es, ich will es einfach runterziehen. Also werde ich versetzt, ziehe es etwa minus 1,9 oder minus zwei nach unten , wenn du willst. Dies wird im Grunde als Todeswand fungieren , so dass ein Spieler stirbt, wenn er durch diese Lücken fällt. Sie fallen nicht einfach in den Abgrund. Ich werde das als Hindernis markieren und ich werde sicherstellen auslöse und ich bleibe, die Maschine wird sich tatsächlich um alle Restaurants kümmern. Wenn wir auf Play klicken. Wir können jetzt sehen, wenn ich hier durchfalle und ein Telefon zur Gap bin, sterbe ich tatsächlich und gehe zurück zum Anfang, was wirklich cool ist. Das sind ein paar kleine Dinge, die ich machen wollte. Aber offensichtlich wird der Hauptpunkt dieser Episode darin bestehen, ein Bewertungssystem hinzuzufügen. Also lasst uns gleich darauf eingehen. Bevor wir das tun, müssen wir Unity-UI-Komponenten erstellen. Also wirst du das offensichtlich noch nie zuvor machen. Also gehen wir zum Window Package Manager. Wir brauchen hier gut zu diesem Menü Unity Registry , wenn Sie standardmäßig dort sind. Klicken Sie also hier und gehen Sie dann zu Text Mesh Pro und klicken Sie auf Installieren. Dies ist im Grunde genommen Unity-Lösung zwei Textobjekte. Es ist ein sehr leistungsfähiges und einfach zu bedienendes Tool wie dieses hier drüben. Und es ist eigentlich so ziemlich der Standardwert, den Sie verwenden möchten. Wenn Sie dies nicht verwenden, gilt es als Vermächtnis oder wie eine ältere Version. Also werden wir das benutzen wollen. Dann klicken wir mit der rechten Maustaste hier, wir können UI-Text, Text Mesh Pro gehen . Das wird dies schaffen und es wird dieses Fenster auftauchen. Klicken Sie auf Importieren, TMP Essentials. Sie müssen die Extras nicht hinzufügen. Und wenn wir dann nach oben scrollen, können wir unseren Text dort sehen. Ich mochte diese Leinwand nicht. Diese Leinwand dient im Grunde als Speicherplatz für alle unsere UI-Komponenten. Und das ist der Text. Wenn wir es aus der Leinwand verschieben, können wir es nicht mehr sehen. Stellen Sie also sicher, dass Sie es da drin aufbewahren. Benennen Sie Ihre Leinwand in UI um, was ich mag, müssen Sie nicht. Und wir werden unsere Texte umbenennen, um zu punkten. Dann gehen wir zu unserer Benutzeroberfläche und ändern diesen Zufallsmodus von Bildschirmraumüberlagerung zu Bildschirmraumkamera und ziehen dann unseren Cameron, Dies ist mein bevorzugter Zufallsmodus. Sie können es behalten, wenn Sie möchten, aber ich empfehle Ihnen, es zu ändern. Und dann werden wir fortfahren und unsere Punktzahl auf ungefähr dort verschieben . Jetzt sieht das gut aus, aber manchmal hat die Einheit ein paar Fehler, bei denen, wenn Sie raus und wieder hinein gehen, es ist tatsächlich verschoben, um sicherzustellen, dass Sie das tun und es dann verschieben. Dies ist die eigentlich richtige Position. Jetzt werde ich beweisen, dass dieser Deckel bei einer Änderung dieser Schriftgröße 75 ziemlich größer ist. Ich möchte es mutig machen, und ich werde es viel größer machen , damit wir das dort aufbewahren können. Und ich ziehe es den ganzen Weg dorthin. Dies wird als unsere Punktzahl fungieren. Wenn ich Store tippe und dann eine imaginäre Schule betritt, können wir hier sehen , wie das in einem Spiel aussieht. Ich denke, es sieht ganz nett aus. Wir können es ein bisschen nach rechts verschieben, und das ist vollkommen in Ordnung. Jetzt müssen wir anfangen, die eigentliche Logik zu codieren , wie dies funktionieren wird. Also werden wir ein neues Objekt erstellen und diesen Punktestand nennen. Dann gehe ich ins Drehbuch. Ich gehe mit der rechten Maustaste auf das Erstellen von C-Sharp-Skript. Nanocoulomb ist eine Schule. Jetzt wird dieses Skript diesem Text im Grunde sagen, was angezeigt werden soll. Und wir werden die Punktzahl des Spielers anhand dessen ermitteln, wie weit von der Schulstrecke entfernt ist , die Sie dort sehen. Beweg dich, aber das ist es eigentlich nicht. Aber wenn wir die Schönheit der Gouache hinzufügen, möchten wir diesen Score-Tracker an den Startpunkten positionieren. Ich gehe hier hin und setze das minus 8,52 in die nächste Sache ein und schiebe es dann einfach nach unten. Der Y-Wert spielt keine Rolle. Dies ist im Grunde genommen ein Akt als unser Truck und sehen Sie, wie weit sich der Spieler davon entfernt hat oder wie weit die Phase unsere Distanz, die unsere Schule ist, verschoben hat. Sie also fort und stellen Sie sicher, dass dies minus 8,52 ist oder wo auch immer Sie sich auf pflanzlicher Basis befinden, kopieren Sie dies unbedingt. Dann geh hier hin und ziehe dein Score-Skript dorthin und öffne es dann gleich nach oben. Jetzt, sobald das geöffnet ist, geh nach oben und wir werden ein paar Dinge importieren. Wir werden zunächst andere Dinge als Systemsammlungen und generische Typisierung und Wandbilder verwenden, indem wir die Unity-Engine-Punkt-Benutzeroberfläche Systemsammlungen und generische Typisierung und Wandbilder verwenden, indem wir die Unity-Engine-Punkt-Benutzeroberfläche verwenden und dann auch das TM-Produkt verwenden, das ist Text Mac Pro. Auf diese Weise können wir das Skript abschreiben wie wir es wollen, ohne verwirrt zu werden. Dann schaffen wir eine öffentliche Transformation. Und wir nennen das einen Spieler. Darunter werden wir ein öffentliches Int erstellen und einen öffentlichen Text-Netz-Proof abrufen diese Schule und einen öffentlichen Text-Netz-Proof abrufen. Wir nennen diesen Text oder vielmehr Volltext ist kein besserer Name. Dann gehen wir in unsere Update-Prozedur ein und geben Ergebnis gleich ein. Und jetzt wollen wir die Transformation subtrahieren und den Ort transformieren, aber das wird uns einen Schwimmer geben. Bevor wir also schreiben, schreiben wir Mathe-F-Punkt nach int. Und das wird im Grunde sicherstellen, dass wir den Float-Wert auf einen Zoll runden können den Float-Wert auf einen Zoll runden . Und dann werden wir einfach gehen. Der Spielerpunkt hat den Widerstand von X minus unseres Transformationsvorschlags transformiert, dass x. Und das wird unsere Punktzahl in jedem einzelnen Frame erarbeiten , Frame für uns, was wirklich cool ist. Dann gehe ich hier runter und ich werde den Text scrollen. Jetzt möchte ich speichern, was auch immer dieser Punktestand in diesem Ding ist. Also gehe ich zur Schule Textpunkt txt gleich, und jetzt setze ich meinen Schulwert ein, aber ich möchte normalerweise nicht Stärke sprechen, was bedeutet, dass ich es von einem ganzzahlige Zahl auf eine Zeichenfolge. Diese kleine Menge an Code wird uns tatsächlich eine Schule geben, aber wir möchten ein bisschen mehr hinzufügen. Wir möchten sicherstellen, dass wir die Punktzahl in Anführungszeichen hinzufügen. Stellen Sie sicher, dass Sie es in Anführungszeichen, einen Doppelpunkt und dann ein Leerzeichen setzen, einen Doppelpunkt und dann ein Leerzeichen setzen, und es wird ein Plus gesetzt. Anführungszeichen punkten also Leerzeichen mit einem Codon Plus und dann Schule. Und das wird es so machen, dass es viel schöner aussieht. Es wird uns nicht nur eine Nummer geben, es wird uns eine Punktzahl und einen Doppelpunkt geben, genau wie wir es hier haben und bearbeiten. Bevor wir jetzt zu Unity zurückkehren, habe ich tatsächlich erkannt, dass wir hier die eine Sache verwenden, Frauen, um einen Text Mesh Pro zu verwenden, du GUI. Stellen Sie einfach sicher, dass Sie das ändern. Das ist nur eine kleine Sache, die ich vergessen habe hinzuzufügen, und das wird eine Notiz machen. Alles andere, das nur ein Problem mit Ihrem Code machen wird . Dann öffne Unity und du solltest deine Schulstrecke hier sehen. Stellen Sie sicher, dass Sie Ihr Spiel in die Transformation und Ihre Punktzahl in die Text-Mesh-Crew ziehen . Du Boje. Und dort drüben sieht man diese Panne erneut klicken, er wird zurückgesetzt. Wenn wir jetzt auf Run klicken, sollte das eigentlich alles für uns tun. Wir können sehen, wie die Schule bei 0 beginnt und sie steigt tatsächlich um etwa 12, wenn wir sterben. Also ist es wieder auf 0. Und das ist echt, richtig cool. Das Letzte, was wir tun müssen, ist, dass wir sicherstellen müssen , dass wir eine Highschool haben. Die Art und Weise, wie wir das machen, ist, dass wir eine weitere Variable erstellen werden. Wir gehen an die öffentliche Highschool. Dann werden wir einfach ein neues Verfahren haben. Wir nennen es ihre öffentliche Leere. Wir werden sagen, wenn die Punktzahl größer ist als die Highschool, dann tut mir leid. Dann ist die High School gleich dem Punktestand. Das wird im Grunde sicherstellen, dass wir, sobald wir sterben, prüfen, ob unsere Schulen besser sind als unsere derzeitige High School und ob es in einer Suche nach einer neuen High School ist , wir muss dies immer von unseren Zustandsmaschinen aus anrufen. Wir gehen zum State Manager und erstellen einen Verweis auf diesen öffentlichen Schulleiter für das, was wir gerade in unserer Schule erwischt haben, aber es ist ein Schulleiter. Und dann werden wir nach dieser Reset-Schwerkraft sagen, dass wir Score dot n sagen, das wird im Grunde diese Prozedur ausführen. Sobald wir sterben überprüfen wir unsere Ergebnisse größer als eine High School. Offensichtlich wird eine Highschool am Anfang auf 0 gesetzt. Wenn wir also zurück zu u und d gehen, müssen wir unserer Referenz hier nur einen Wert zuweisen . Wenn wir also zu unserem Spieler gehen, können wir sehen, dass unsere Staatsmaschine keine Wissenschaft ist, die sicher ist, dass Sie Ihren Schulwagen dorthin hineinschleppen. Also können wir unser Ding aufbewahren. Und wenn Sie auf Play klicken, sollten wir tatsächlich ein voll funktionsfähiges Highschool-System haben. Wenn Sie hier zum Schul-Tracker gehen, sehen Sie, wie Highschool 0 und unser Ergebnis 14 ist. Wenn wir unsere Highschool sterben , und so weiter, 18. Und wenn wir dann sterben, bevor wir 18 erreichen, es nicht zurückgesetzt, was wirklich cool ist. Das Letzte, was wir tun werden, ist, dass wir einfach eine Kopie des Score-Textes erstellen, um ihn nach unten zu ziehen. Und wir werden das Highschool nennen. Klicken Sie hier. Stellen Sie sicher, dass Sie dies in einen Highscore ändern. Dann werden wir das einfach drunter haben. Ich möchte es etwas kleiner machen , also ist es weniger hervorstechend. Denk, das sieht gut aus für mich. Und dann vielleicht ein bisschen runter. Und dann hier drüben, wenn es größer ist, werden wir nur sicherstellen, dass wir unsere neue öffentliche Text-Mesh-Sonde einstellen . Du isst. Wir werden eine namens High School als Hitze machen. Wir werden nur einen Kommentar abgeben, wie wir es beim letzten Mal getan haben , Highschool-Text. Dann sagen wir hier drüben, dass Highschool-Text-Punkt-Text Highschool-Punkt zu String und dann Klammern entspricht. Dies soll im Grunde genommen sicherstellen, dass wir jedes Mal zeigen, was unsere Highschool ist, wenn wir sicherstellen sollten , dass wir diese High School zuweisen. Wenn es also wieder geladen wird, lege die High School rein, werde ich meine zu High School umbenennen, also weiß ich genau, was es ist. Das sollte vollkommen gut funktionieren. Wir haben diese Panne wieder, aber das ist in Ordnung. Geh zurück in unser Spiel. Und wir können sehen, dass unsere Highschool im Moment 453 ist , weil wir sie nicht außer Kraft setzen. Wenn wir abstürzen, ist es auf 18 eingestellt. Und wenn wir mehr als das machen, können wir sehen, dass es jetzt 27 ist, was wirklich cool ist. Das Letzte, was wir tun müssen, ist die gleichen Texte hinzuzufügen , die wir hier hatten. Vergewissern Sie sich, dass Sie das überschreiben. Also haben wir Score plus Highschool und dann ändern wir das einfach in die High School. Dann sollte alles einwandfrei funktionieren. diesem kurzen Code hier drüben werden wir unsere ganze High School für uns erledigen. Und mit diesem kleinen Methodenaufruf des State Managers , den wir verknüpft haben, wird alles einwandfrei funktionieren. einfach weiter und öffne es. Und wenn wir laufen, können wir unsere High Schools Carney für drei Personen sehen , denn das ist die Einheit , die wenn Sie diese Highschool 18 machen, weitermachen. Lasst uns versuchen, dieses Mal über 18 zu kommen. Nur um 29. Wenn ich sterbe, ist es 37 und es wurde gerettet, wenn ich zu 18 gehe und rauche werde überschreiben, was wirklich, wirklich cool ist. Also ein weiterer großartiger Schritt in die richtige Richtung für ein Handyspiel. Tolle Arbeit, alle, und wir sehen uns im nächsten Video, in dem wir Einsparungen abdecken , damit unsere High School auch beim Schließen und Nachladen des Spiels gespeichert wird . Wir sehen uns im nächsten Schritt. 16. Speichern: Hey da und willkommen zurück bei Unity oder in diesem Fall Visual Studio. In dieser ziemlich kurzen Episode werden wir nur ein Schnellspeichersystem durchgehen, werden wir nur ein Schnellspeichersystem durchgehen damit unser Spiel das von Ihnen erstellte Schulskript öffnen kann, genau wie ich es jetzt getan habe. Jetzt können wir sehen, dass die Punktzahl Mathe, F-Punkt-Rundende, Spieler-Punkt-Transformation ist F-Punkt-Rundende, , die uns zur Schule bringt und wir können unseren Punktestand hier vergeben lassen. Wir haben auch diese Highschool-Variable erstellt, die im Grunde prüfen wird ob wir einen Highscore haben oder nicht, was wirklich, wirklich cool ist. Es ist wirklich, sehr einfach sicherzustellen , dass wir als Highschool speichern können wenn wir das Spiel kochen, und wir können es zurückbekommen, sobald wir es geladen haben. Und das benutzt etwas, das als Spielerpräfs bezeichnet wird. Jetzt hat er dieses eingebaute System zum Speichern und wir können es für mobile Spiele verwenden denn während es lokal auf dem Gerät gespeichert wird, wird niemand das codieren können , weil es eingeschaltet ist ein Telefon, also ist es großartig. Hier drüben haben wir ein System, um zu sehen, ob unsere Punktzahl höher ist als eine High School. Darunter sind wir im Grunde eine Abmelde-Highschool. Und das heißt im Grunde: Okay, du hast eine neue High School. Und wenn wir eine neue Highschool haben, werden wir das retten wollen. Also geben wir Kapital P, Spielerpräfs, Punkt ein und setzen dann int. Jetzt können wir im Grunde alles, was wir eine ganze Zahl aufrufen möchten , in diese Klammern setzen. Also nenne ich meins. Score wird ein Komma setzen und dann setzen wir den Wert, wir in die Schulen legen möchten. Ich tippe in der High School ein. Wenn wir sehen können, sparen wir unsere High School im Schulspiel ungefähr. Dann werden wir hier oben „void star unter Staff“ sagen , wenn wir das Spiel starten. Mit anderen Worten, wenn wir wieder aufhören zu spielen, werden wir sicherstellen, dass wir diese ganzzahlige Variable erhalten und die höchste Punktzahl festlegen , damit wir wissen, was unsere High School ist. Hier drüben. Wir werden sagen, Spieler prefs, dot und getint, Open Brackets Score. Das wird im Grunde alles zurückgeben, was wir in die Punktzahl gesetzt haben. Und ich mache weiter und setze die Highschool dem gleich. Das wird echt cool. Aber er ist jetzt am Anfang jedes Spiels, das wir in der Highschool gesagt haben wo wir es gespeichert haben, wie jedes Mal, wenn Sie eine High School bekommen. Darunter kann ich einfach Highschool-Text sagen. Wir können diese Zeile tatsächlich einfach kopieren. In der Tat ziehen Sie es hier rüber, Highschool-Text. Und wir stellen jetzt die Highschool auf den Star. Wir zeigen, was es mit diesen einfachen, drei Codezeilen ist. Offensichtlich könnten wir am Ende auch Ton oder vielleicht Punktabsparung hinzufügen . Es tut eigentlich nicht so viel. Meiner Erfahrung nach habe ich festgestellt, dass es ihn ohne das rettet, aber wenn du willst, kannst du das tun. Ich weiß es nicht. Vielleicht ist es etwas , auf das ich nicht gestoßen bin, das es rettet. Also lege es vielleicht einfach für ein gutes Maß dorthin, aber es ist meiner Erfahrung nach nicht wirklich wichtig. Dann sind wir mit diesen vier Codezeilen gegangen, sie hat unser eigenes Sparsystem geschaffen. Wir haben jedes Mal unsere Highschool-Ersparnis, wenn wir ein neues bekommen und es jedes Mal, wenn wir das Spiel starten, zurücklesen es jedes Mal, wenn wir das Spiel starten, zurücklesen wird dies tatsächlich perfekt funktionieren. Jetzt, in der nächsten Folge, werden wir alle visuellen Verbesserungen vornehmen. Und danach werden wir jetzt wieder auf alle möglichen anderen Dinge eingehen , aber es ist wirklich gut, dieses entscheidende Sparsystem so einfache Weise in ein Spiel einzurichten. hoffe, dir hat diese sehr kurze Episode gefallen Ich hoffe, dir hat diese sehr kurze Episode gefallen und wir sehen uns in der nächsten. 17. Visuelle Elemente verbessern: Hey da, und willkommen zurück zur Einheit. In dieser Folge wird dies eines der coolsten Dinge sein wir unserem Handyspiel hinzufügen werden. Wir werden die Grafik sogar um das Zehnfache verbessern . Ich meine, wenn du das gerade nochmal gemacht hast , sieht es nicht schlecht aus, aber es sieht nicht sehr gut aus. Das Problem mit unserem Spiel ist gerade, dass es Gelb auf Blau und Grün hat und wir haben Rot. Es ist einfach kein großartiges Farbschema. Ich werde das nur als gelb behalten , weil ich denke , dass die Thrombozyten nett sind, aber ich möchte ein paar Dinge ändern. Ich könnte die Zeitform der Dinge ändern. Um zu beginnen, werde ich den Hintergrund schwarz machen , weil ich denke, dass das ziemlich cool aussehen wird. Also ziehe ich das von rechts nach unten. Jetzt haben wir einen schwarzen Hintergrund. Das zweite, was ich tun werde, ist ich zum Spieler gehe und sie so etwas heller machen werde . Ich denke, das sieht gut aus. Dann gehe ich zu diesen Flow Pieces und ich werde diese Farbe tatsächlich in Blau ändern. Also gehe ich hier rüber, lass mich die Böden öffnen und sehen, wie diese Änderungen wirksam werden. Ich mache es da wie ein schönes Hellblau. Ich denke, das ist ziemlich gut. Ich kopiere das Hexadezimal. Ich kann es auf die andere legen, um auf die Etagen der Umgebung zu gehen die Etagen der Umgebung und das dann direkt reinzubringen. Ich denke, das sieht viel besser aus. Jetzt geht jemand das letzte Mal zum Dreieck und macht es etwas roter. Also los geht's, das sieht gut aus. Jetzt deklariere das Spiel, ich denke, das ist eine sehr große visuelle Verbesserung, die wir sehen können. Jetzt sieht es viel besser aus. Es sieht eher nach einem echten Arcade-Spiel aus, wie ein altes Arcade-Spiel als was wir zuvor hatten, dem seltsamen Farbschema. Aber wir können dies mit der Nachbearbeitung tatsächlich viel besser machen . Wenn du noch nie davon gehört hast. Nachbearbeitung sind im Grunde diese Effekte, die wir unserem Spiel visuell hinzufügen können , damit es besser aussieht. Ich habe dieses leere Objekt des Beitrags erstellt, habe noch nichts hinzugefügt. Stellen Sie einfach sicher, wenn Sie das noch nicht gemacht haben, kann ich meine löschen, zeig es Ihnen. Ich werde leer erstellen und nenne es eine Nachbearbeitung. Das ist eigentlich viel besser. Dann zentrieren wir es in der Mitte. Stellen Sie sicher, dass alles auf 0 eingestellt ist. Dann gehe ich in meinen Window Package Manager. Und ich werde dieses Nachbearbeitungspaket tatsächlich hinzufügen dieses Nachbearbeitungspaket und das wird es Ihnen ermöglichen. Alles was ich tun möchte ist, dass ich auf Installieren klicke. Und es wird nur eine Weile dauern. Sobald es fertig ist, Skripte in allem zu kompilieren, können Sie mit dem Hinzufügen von CIO-Spielen nach der Verarbeitung beginnen . Also los geht's, ziemlich schnell und ich klicke auf mein Nachbearbeitungsobjekt. Und ich mache weiter und klicke auf ein Volume nach der Verarbeitung. Geben Sie also post process volume ein. Jetzt werden wir hier unsere Nachbearbeitungseffekte erzeugen. Aber bevor wir das tun, müssen wir der Kamera eine Ebene hinzufügen, die es im Grunde ermöglicht damit wir eine Nachbearbeitung durchführen können. Also werde ich die Gameten hier nachbearbeiten , nachbearbeitete Schicht. Und das wird das Coole Ding sein. Wir werden hier rüber gehen und wir haben unseren Auslöser. Jetzt kann die Liste auf nichts eingestellt werden. Das heißt also im Grunde, okay, wir haben eine Art Nachbearbeitung. Wenn wir hier einstellen, legen wir fest, was wir Nachbearbeitung hinzufügen möchten. Also werde ich mich tatsächlich auf die Wasserschicht einstellen, nicht aus irgendeinem anderen Grund, außer dass wir die Wasserschicht nicht benutzen werden. Das ist also wie eine Ersatzschicht. Wir müssen es Wasser machen und alles andere gleich lassen. Dann gehe ich zu meiner Nachbearbeitung. Ich werde diese Schicht hier drüben Wasser umstellen, was wirklich cool ist. Jetzt kreuze ich das globale Kästchen an. Und ich gehe zum Profil und wir klicken auf Neu. Das wird ein Nachbearbeitungsprofil für uns erstellen. Und wenn wir gewinnen wollen, wird Lage sein, dies in Aktion zu sehen. Ich gehe hier raus Wirkung Immunität. Und ich klicke auf Gluten. Und dies wird unser erster Nachbearbeitungseffekt sein. Wenn ich hier die Intensität erhöhe, kannst du sehen, was es tut. Offensichtlich ist das ein bisschen viel, aber das ist der allgemeine Effekt der Blüte. Es fügt dieses schöne Blau hinzu. Du kannst sehen, dass das Wunder für unsere Spiele bewirken wird. Ich mache mein Bloom. Vielleicht ist etwas wie I Link Five wahrscheinlich gut, wir haben eine ganz nette Neonsache, also passt es. Ich lasse meine Kehle auf einmal, weil ich denke , dass das tatsächlich in Ordnung ist. Und all die anderen Dinge, die ich als Ochse hinterlassen werde, denke ich, das sieht ziemlich gut aus. Ich hätte es tun können, ich möchte die Farbe offensichtlich in etwas wie Rot ändern . Und dann habe ich ein rotes Mädchen, gelb, wenn einer der gelben Balken und alles, was ziemlich cool aussieht, aber auch ein Grün oder ein Blau hinzufügen, wenn der blaue, aber ich lasse es weiß. Und jetzt könnte ich es zu blauen Daten hinzufügen, weil, aber ich werde sehen, ich denke, Weiß sieht gut aus, um diese Farbe zu deaktivieren. Jetzt füge ich meinen zweiten meiner drei Effekte hinzu und füge einen vagen Nettoeffekt hinzu, wenn ich das richtig ausspreche, werde ich hier zur Intensität gehen. Ich werde die Intensität auf ungefähr erhöhen. Sie können sehen, was es tut, das ist der natürliche Nettoeffekt. Ich mache mir etwas wie 0,3. Es ist also ein bisschen subtil, aber man kann es irgendwie an den Rändern sehen. Wenn ich es 0.5 schaffe, wird das ein bisschen viel sein, mindestens 0,3. Ich denke, es ist ein guter Mittelpunkt. Dann wird der letzte Faktor, den ich hinzufügen werde , die Farbabstufung sein. Das kann ziemlich kompliziert sein, aber keine Sorge, wir werden nicht alle diese verwenden. Wir klicken einfach hier vorbei und ändern diesen in Niedriger Definitionsbereich. Und dann würde unsere Temperatur die Tönung nicht auslassen. Wir können gehen, aber wir werden tatsächlich sicherstellen dass die Temperatur auf 0 eingestellt ist, das heißt, dann werden wir hier rüber zu diesen drei unten gehen und das sind die ziemlich großen Veränderungen Sättigung, Helligkeit und Kontrast. Ich werde das tatsächlich auf zehn ändern, Helligkeit von zehn auch. Und stelle sicher, dass mein Kontrast vielleicht voll ist. Ich bin sogar um zehn Uhr, aber ich denke, das lässt es etwas weniger nett aussehen. Also lasst uns es voll durchmachen und besser sein. Und wir können jetzt sehen, dass wir ein millionenfach besser aussehendes Spiel haben. Wenn ich weitermache und auf Play klicke, sehe ich, dass dieses Spiel meiner Meinung nach zehnmal besser aussieht als das, was es getan hat. Es sieht jetzt aus wie ein echtes Spiel. Das sieht tatsächlich einem der ersten Spiele aus, die ich je gemacht habe, als Quadratwurzel bezeichnet. Ja, es ist irgendwie das, worauf ich diesen Kurs stütze , aber ja, du kannst sehen, wie das Spiel viel besser aussieht jetzt haben wir die Licht-Glüheffekte, und wir haben alle schöne Bilder, die wir hinzugefügt haben. Wir haben die besseren Farben. Ich denke, das sieht ziemlich gut aus. Das Letzte, was ich tun wollte, ist einen Todeseffekt hinzuzufügen und das werden wir mit einem Partikelsystem machen . Jetzt wird unser Spiel dadurch millionenfach besser aussehen lassen. Vertrauen Sie mir, es wird einen schönen Effekt geben, wenn wir mich bitten, es zu erforschen , und dann werden wir antworten, das wird wirklich großartig aussehen. Aber bevor wir das tun, möchte ich sicherstellen, dass möchte ich wir meinen Platz dafür deaktiviert und aktiviert haben, wenn ich sterbe , weil dies tatsächlich der erste Schritt dieses Prozesses ist. Ich gehe zu meinem State Manager-Skript. Ich öffne das und erstelle einen öffentlichen Sprite-Renderer und nenne es „Spread“. Dann hier drüben unter meiner Leere werde ich einfach unterstreichen und sagen, dass Sprite Dot aktiviert ist, gleich falsch ist. Und das bedeutet im Grunde genommen zu allen Sprites zu gehen, die an Sie gebunden sind, was der Sprite-Renderer dieses Spielers sein wird. Geh her und deaktiviere es so. Es wird also nicht aktiv sein. Alles andere ist immer C21-Arbeit. Aber das zweite, was ich diesen Code kopieren werde und unter Antworten werde ich festlegen, dass das am Ende wahr ist. Im Grunde genommen, als würden wir es mit vielen Sachen wie unserer Schwerkraft und allem anderen tun. Wir stellen es nur so ein, dass etwas anderes außerhalb des Off-Zustands sich geändert hat, was wirklich cool ist. Jetzt muss ich nur noch zum Spieler gehen und sicherstellen, dass ich meinen Sprite-Renderer hier zugewiesen habe. Also gehe ich nach oben. Und wenn ich versuche, das nach unten zu ziehen, lässt es mich nicht wirklich. Stattdessen gehe ich einfach hier rüber und klicke dort rüber und wähle den Spieler aus. Und das wird mir das Richtige geben, was genau das Gleiche ist, was es nach unten gezogen hat. Okay. Ich konnte es nicht, weil so viel im Weg war. Jetzt habe ich mein Spiel vergessen und gespielt. Ich kann das tatsächlich in Aktion sehen, wenn ich gehe und spiele und auf eine Spitze runde, würde mein Sprite verschwinden und dann werde ich antworten, aber das sieht nicht sehr gut aus. Wir wollen einen Effekt hinzufügen und das werden wir mit einem Partikelsystem machen. Ich gehe Component hinzufügen. Ich tippe das Partikelsystem ein. Sobald Sie Ihr Produktsystem hinzugefügt haben, klicken Sie auf den Player und klicken Sie auf Umschalt H, was es grundsätzlich isoliert, verwendet nur das, was Sie sehen können, was für uns wirklich, sehr nützlich ist. Dann werden wir weitermachen und wir werden anfangen, ein Partikelsystem hinzuzufügen. Ein Partikelsystem ist, ich bin mir sicher, dass es sich um einen Partikeleffekt handelt. Und derzeit sind dies alle Standardeinstellungen, aber wir wollen diese nicht. Also werden wir uns ändern, war das erste, was wir tun werden , ist, dass wir zur Texturblatt-Animation gehen. Ich werde jeden einzelnen Schritt durchlaufen, weil dies eine ziemlich komplizierte Komponente ist. hat sehr lange gedauert, bis ich den Dreh bekommen habe, aber ich habe einen Teil größer aber jetzt genug, um einen schönen Partikeleffekt für unsere Tiefe zu erzielen. Gehen wir zu Texture Sheet Animation, überprüfen Sie es, klicken Sie darauf und ändern Sie dann diesen Modus von Raster zu Sprites. Dann geh in Kurs-Assets und ziehe dein Quadrat dorthin. Und jetzt sollten wir fast R-Quadrat verwenden, das zum Renderer gehen und das Material als Sprites Default auswählen muss . Und dann benutzen wir normale Quadrate oder? Nun, geh zurück und wir können sehen, dass es ein Looping-Effekt ist, aber wir wollen offensichtlich nicht, dass es läuft, weil wir sie nicht einmal haben werden , um das Looping zu deaktivieren. Und wenn wir auf Neustart klicken, können wir sehen, dass dieser Effekt fünf Sekunden lang anhält und dann stoppt. Und wir können sehen, dass es weitergeht, aber wir wollen es sowieso nicht, und wir wollen, dass es 0,2 Sekunden dauert. Das wird der Ausschluss des jüdischen Gesetzes sein. Und wir wollen auch , dass es viel schneller geht. Also werden wir nicht, ich fange an, das Leben weniger als 0,8 zu sein. Und wir können sehen, wie alle unsere Produkte gehen und dann verschwinden. Das wäre also perfekt und wird dann antworten. Jetzt wollen wir auch, dass die Geschwindigkeit viel mehr ist. Also lasst uns das auf zehn ändern und dann wird das Produkt viel schneller, was schön ist. Und wir wollen, dass die Größe etwas größer ist. Also schaffe ich es 1.5. Und wir haben diese schönen größeren Teilchen, was cool ist. Dann hier drüben wegen der Emission werden wir hier ein paar Sachen ändern. Wir werden diese Rate im Laufe der Zeit zu 100 machen. Wir können jetzt sehen, dass das etwas schöner ist , aber es reicht eigentlich nicht aus. Also mache ich das 250. Da sind wir los. Das ist eine nette Menge an Partikeln. Wir können es sogar 300 starten. Aber du musst ihn nicht fragen. Jetzt gehe ich zu Shape und tatsächlich meine Form als Kegel, was perfekt für diese Tatsache ist. Also lass alles da drin. Jetzt ändere ich zwei Dinge. Zuallererst möchte ich meine Geschwindigkeit über ein Leben lang ändern. Also kreuze das Kästchen an und öffne es dann. Klicken Sie auf die Größe, Sie klicken hier einfach auf dieses automatisch generierte Diagramm, dann können wir die Lebensgeschwindigkeit sehen, sie werden immer kleiner. Sie können das auch wählen, wenn Sie möchten. Es ist ziemlich ähnlich, aber ich finde, dass dieser bei Explosionen etwas besser funktioniert. Das ist cool. Dann können Sie im Laufe des Lebens zur Farbe gehen. Prüfen Sie es, klicken Sie auf Farbe. Und dann willst du weitermachen und am Ende hier drüben klicken, dieses Top und mach das 0. Und das wird dir im Grunde einen schönen Fade-Away-Effekt geben. Das Letzte, was wir tun müssen , ist tatsächlich sicherzustellen, dass die Farbe der Farbe entspricht , die wir verwenden. Klicken Sie also auf die Farbe, klicken Sie auf diese Geldbuße um einfach eine Stelle in Ihrem Quadrat auszuwählen. Du kannst jetzt sehen, dass es ziemlich ähnlich aussehen wird, was nett ist. Nun, es gibt ein paar Änderungen, die wir möglicherweise vornehmen müssen, aber testen wir dies vorerst weil es möglicherweise einwandfrei funktioniert. Um das zu tun. Offensichtlich müssen wir programmieren, um zu sagen, wann wir die Partikel machen wollen . Drücken Sie also erneut Umschalttaste H, zurück in unser Spiel. Wir können sehen, ob wir es jetzt spielen es ist vor dem Hintergrund, was schön ist, weil unser Hintergrund minus zehn ist. Wenn nicht, könnten wir hier einen Faktor ändern es nach vorne bringen würde, aber das ist es, also ist das in Ordnung. Dann gehen wir in unser Drehbuch ein. Hier. Es ist immer noch der State Manager. Wir werden ein solches öffentliches Partikelsystem auf unserer Kohlemine PS schaffen. Dann werde ich hier unter meiner Diät nur sagen, direkt unter meiner Spinne sagten sie fast ps, dot, play. Dann Klammern und Semikolon. Nun, das wird reichen, denn es lässt mich diesen Effekt tatsächlich spielen, solange ich ihn unterschreibe. Also gehe ich zu meinem Skript und ziehe mein Produktsystem dort hinein. Ich werde das minimieren, damit du es sehen kannst. Bevor wir es testen, lasst uns einfach weitermachen und sicherstellen, dass wir den Plan wach deaktiviert haben , denn sonst wird er spielen, sobald wir anfangen. Lass uns gehen und drauf klicken. Dann fangen wir an, alles ist in Ordnung. Wenn wir sterben, sollte es klappen. Wir können sehen, dass ich sehr nett bin. Partikelexplosion verblassen Effekt, was meiner Meinung nach im Moment ziemlich gut ist. Es gibt wenige Änderungen, die wir vornehmen können. Zum Beispiel denke ich, dass wir die Farbe am Anfang etwas weniger haben müssen . Lassen Sie uns dieses Alpha also im Laufe der Lebensdauer auf 150 der Farbe reduzieren. Dann das Letzte, was ich tun will, ich möchte am meisten hinzufügen. Ich bin als wären es 500. Und ich werde diese Größe auch etwas kleiner machen . Also schaffe ich es 1.2. Das wird auf einen neuen Partikeleffekt zurückzuführen sein. Wir können es auch ein bisschen schneller machen, meiner Meinung nach machen sie es 15, lass mich gehen. Das sollte besser sein. Wenn wir jetzt aufhören. Wir sollten unseren Partikeleffekt in Aktion sehen. Minute, in der wir sterben, können wir sogar hier runterziehen und es sehen. Und da sind wir los. Ich denke , das ist ganz nett. Oh, sie wurde vom Bildschirm abgeschnitten. Also lass mich dir zeigen, wie es auf einem normalen Dreieck aussieht . Hier drüben. Da sind wir. Ich denke , das sieht ganz nett aus. Offensichtlich könnte es verbessert werden. Vielleicht versuche damit herumzuspielen. Sieh mal, du kannst deine dazu bringen, besser auszusehen als meins. Aber ich denke, das ist genau das, was ich brauche. Die großartige Nachricht ist, dass all unsere früheren Arbeiten und in die Gegenwart bewegt wurden, wenn wir fallen und sterben, wie ich es jetzt veranschaulichen möchte, tun Sie einfach Gutes in unserem Spiel. Dann bewegt es sich nicht, was wirklich, richtig cool ist. Hoffentlich haben Sie danach einige drastische visuelle Upgrades vorgenommen. Stahlträger und Ihrer sehen sich ganz viel besser an. Werfen Sie einen Blick darauf, wie unser Spiel gleich zu Beginn aussah und schauen Sie es sich jetzt an. Ich denke, es sieht eine Million Mal besser aus. Also Gitter, das Sie jemals haben, denke ich, dass diese Sehverbesserungen in unserem Spiel viel professioneller aussehen. Und wir sind wieder einmal und nähern uns unserem Spiel, und nähern das so größer ist, wenn alle alle, ich sehe dich im nächsten Video. 18. Sound-Design: Hey da und willkommen zurück zur Einheit. Da ich sicher bin, dass Sie sich in unserer letzten Episode erinnern, haben wir unsere visuelle Komponente für Spiele stark aktualisiert. Aber es gab einen Aspekt der Spieleentwicklung , den wir die ganze Zeit vernachlässigt haben , und zwar unser Sounddesign oder unsere Audiokomponente für Spiele. Jetzt unterteilt dies offensichtlich in zwei Hauptkategorien von Spielen, Musik und Soundeffekten. In diesem Kurs, oder besser gesagt in dieser Episode, werden wir beide Dinge hinzufügen. Jetzt werde ich nur ein Soundeffekt für den Sprung und für die Todesanimation und nur ein Musiktitel sein ein Soundeffekt für den Sprung und für die . Aber wenn Sie dieses Video oxidieren möchten, können Sie so viele neue Strukturen hinzufügen, die Sie möchten, oder zusätzliche Soundeffekte, da Sie genau den gleichen Prozess verwenden , den ich verwenden werde. So wird es einfach zu erweitern sein. Um das zu beginnen, werde ich zuerst einen Musikmanager machen. Also klicke ich mit der rechten Maustaste hier, Create Empty, und ich nenne diesen Musikmanager. Dann werde ich offensichtlich zentriert, genau wie ich es immer tue. Und dann möchte ich mein musikverwaltetes Skript hinzufügen . Also erstelle ich ein neues C-Sharp-Skript und nenne diese Musik, schaffe es. Das wird tatsächlich ein Soundmanager sein. Du kannst essen, was du willst, um mich zu verstehen, mein Musikmanager. Dann mach ich weiter und öffne es. Der Grund, warum ich es Musikmanager nenne , ist, dass dies offensichtlich das erste ist, was wir hinzufügen und den Sound noch hinzufügen werden . Dann erstelle ich einen Verweis darauf, und das nennen wir eine Audioquelle. Dies ist im Grunde eine Art, einen MP3 oder einen Webplayer zu sagen . Also gehe ich zur öffentlichen Audioquelle und nenne meine als Kapital ein. Ansonsten ist es das Wort , das offensichtlich eingeschränkt ist. Also wie dann mache ich weiter und schaffe eine öffentliche Leere. Und ich nenne es „Lay“. Sicher, dass es nicht automatisch beim Verbinden oder Trennen des Players filtert . Und ich gehe als dunkler Ton. Dies stellt im Grunde sicher, wie wir Audioquellen verknüpfen können. Ich geh her, Junge, hörte auf. Dann nenne ich das hier drüben Clay Void. In der Tat sage ich, als Spiel am Anfang, offensichtlich ist dies eine ziemlich mühsame Art, dorthin zu gelangen, was Ihnen vielleicht aufgefallen ist, aber ich versuche nur etwas zu veranschaulichen, also ertragen Sie es mit mir. Dann müssen wir hier eine Audioquelle erstellen. Gehen wir also weiter zum Musikmanager, denn wir werden natürlich die Musik hinzufügen. Sie werden zu Kurs-Assets gehen und wir ziehen die Musikdatei dort hinein. Jetzt ist diese Musikdatei ein gebührenfreies Lied aus dem Internet, aber Sie können verwenden, was Sie wollen. Stellen Sie einfach sicher, dass Sie keine Cohen-Musik verwenden , die gegen das Urheberrecht einer Person verstoßen wird. Wenn wir sehen, dass dies gebührenfrei ist, markieren Sie dieses Kästchen. Und dann wirst du das Häkchen auf wach halten wollen , weil wir das hier irgendwie manuell machen. Offensichtlich könnten wir einfach auf wach spielen klicken, aber wie gesagt, ich versuche etwas zu veranschaulichen. Stellen Sie dann die Lautstärke etwa 0,5 und die Tonhöhe ein, ich denke an 0,9. Das verlangsamt das Lied im Grunde genommen. Ich denke, es klingt besser so, aber du musst es nicht. Sie können die Tonhöhe ändern, wo immer Sie wollen, geht wirklich bis zu drei und zwei minus drei ändern diese 0,5. Ich würde es nicht empfehlen , tut mir leid, 0.9, ich würde nicht empfehlen, etwas weniger als 0,4 zu tun, sonst wird es etwas zu langsam. Und dann gehen wir immer noch zu unseren Musikmanagern, ich füge unser Soundmanager-Skript oder nenne es Musikmanager. Ich ziehe unsere Audio-Sourcing und wir können sehen, ob wir den Plan wach deaktivieren, aber sobald wir auf Play klicken, wird unser Spiel aufhören, Musik zu spielen. Sehr, sehr cool. Jetzt haben wir unser Musikskript und Sie können damit offensichtlich so lange herumspielen , wie Sie möchten. Ich habe das speziell geschnitten, also sollte es eine Schleife machen, aber wenn Sie es so machen möchten, dass Sie ein- oder ausblenden, verwenden wir eine andere Spur. Sie können das alles offensichtlich ändern. Habe gerade die Audiodatei geändert, die du gerade machst. All das macht, ist eine Datei beim Looping abzuspielen. Wenn Sie die Musik ändern, stellen Sie sicher, dass Sie die Tonhöhe neu einstellen. Ansonsten mag es nur langsam sein , schmecken, aber im Moment funktioniert alles einwandfrei. Das zweite, was wir hinzufügen müssen, sind Soundeffekte, und wir werden diese mit Audioquellen tun. Das Problem bei der Verwendung von Audioquellen besteht jedoch darin, dass es etwas schwierig wird, zwischen ihnen zu unterscheiden, wenn Sie mehrere Audioquellen für ein Objekt haben . Also speichere ich tatsächlich Audioquellen für den Player, einen Spieler und einen für ein anderes Objekt. Es spielt keine Rolle, was ich benutze. Ich könnte das Ereignissystem benutzen, wenn ich ein Spawn-Floors-Objekt halten möchte, das offensichtlich ein Stauraum ist, das spielt keine Rolle. Ich werde meine in die Umgebung bringen, weil dies eines der nutzlosesten Objekte ist. Aber obwohl sich dieser nicht bewegt, wird er immer noch das Audio abspielen. Es ist nicht so, dass das Audio davon beeinflusst wird, wie weit wir weitergehen und eine Audioquelle hinzufügen werden. Und wir werden sehen, dass wir es letztes Mal angezogen haben. Das ist nur ein schneller Weg, dies zu tun. Und ich füge den Farbeffekt dieser Audioquelle hinzu. Dann stellen wir sicher, dass wir das Häkchen „Play on wake“ deaktivieren. Und ich möchte die Lautstärke auch etwa 0,5 machen. Wir müssen diese vielleicht später anpassen. Wir werden sehen, dass ich zu meinem Player gehe und nach unten scrolle und eine weitere Audioquelle hinzufüge und den Sprungeffekt hinzufüge, erneut die Lautstärke auf 0,5 ändere und die Paraguay zu falsch. Stellen Sie sicher, dass sowohl Play on awake loop für diesen Wert auf false gesetzt sind. Dann muss ich nur noch in mein Drehbuch gehen und eine neue öffentliche Leere schaffen , um andere Museen zu spielen Ich werde an die Öffentlichkeit gehen und dieses ziehen, Jump spielen. Unter unserer öffentlichen Leere. Lei di. Dies werden im Grunde die beiden anderen Audioquellen sein die beiden anderen Audioquellen ich hier gehen werde und ich werde so springen wie dy erstellen. Und ich benenne das in Musik um , damit ich zwischen ihr unterscheiden kann. Und natürlich werde ich das dort neu einstellen. Und dann kopiere ich genau diesen Code ändere offensichtlich nur welches Audio. Also ein paar Dinge hier drüben werde ich gehen, als springe das Punktspiel. Hier. Ich gehe als Dy dt. Wenn Sie etwas bemerken, sind diese Verfahren ziemlich ähnlich. Wir könnten also tatsächlich, wenn wir Parameter verwenden wollten und dann einfach eine Prozedur aufrufen. Aber ich habe oft festgestellt , dass die Verwendung von Parametern Ihnen im Unity Editor einige Probleme bereiten kann. Und aus Gründen der Einfachheit halber werden wir das nicht tun. Was ich mit h im Unity-Editor meine, ist dass diese Skripte durch Code gekühlt werden, es überhaupt kein Problem geben würde. Wenn wir das Skript jedoch über ein Objekt aufrufen möchten, möchten Sie auf eine Schaltfläche klicken und Coolidge spezifisch ungültig. Und wir hatten zu viele Parameter. Manchmal lässt es uns nicht richtig darauf verweisen. Also mach dir darüber vorerst keine Sorgen. Es wird kein Problem sein. Wir werden auch laufen, aber wir könnten dies tatsächlich als eine Prozedur umschreiben. Ich entscheide mich nur dafür, es nicht zu tun, weil es auf diese Weise etwas einfacher zu lesen ist. Aber wenn du diesen tollen Job bemerkst, und jetzt müssen wir nur noch in unseren Bühnenmanager gehen. Wir müssen sicherstellen, dass wir Griffbrett angerufen haben. Gehen Sie also zu unserem Bühnenmanager und wir werden einen öffentlichen Musikmanager erstellen , schauen Sie sich Folgemusik an. Dann gehen wir runter zu diesem Tauchbrett und ohne. Und wir werden sicherstellen, dass wir es anrufen, sobald wir sterben. Nach dem Partikelsystem gehe ich also zur Musik. Spiel sterben. Perfekt. Und dann kopiere ich genau diesen Code. Und das werden wir auch spielen wollen , wenn wir gesprungen sind. Aber offensichtlich ist das nicht mit dem State Manager verbunden , der sich bewegen wird. Also werden wir genau den gleichen Prozess machen. Ich gehe an die Öffentlichkeit, Musikmanager oder Musik. Dann hier drüben auf dem Sprungvoid, wir werden Musik Dot Play Würfeln gehen. Zu diesem Zeitpunkt. Wir werden Sprünge erzeugen wollen. Also dunkelgrauer Sprung. Ein bisschen Zuweisung müssen wir machen , bevor das funktioniert. Aber sobald wir das getan haben, sollte alles perfekt funktionieren LC. Wir haben das Bewegungsskript, das State Manager-Skript und den Musikmanager geändert . Also lasst uns gehen und prüfen alle, die alles zugewiesen haben, was sie sollen. Zuerst fangen wir mit dem Bewegungsskript an. Es gibt keine Musikmanager sicherstellen, dass sie das hineinziehen. Der State Manager auch nicht. Dann müssen wir unter dem Musikmanager sicherstellen, dass wir tatsächlich die richtigen Audioquellen haben. Ziehen Sie also als Musik dorthin, da wir den Namen geändert haben, wird er zurückgesetzt, um sicherzustellen, dass Sie dies tun. Ziehen Sie den Spieler hat den Sprung und die Umgebung hat den Farbstoff ungültig. Und dann spiele ich das Spiel und du kannst sehen, wie das klingt. Okay, das war cool. Wir können in so kurzer Zeit sehen, dass wir tatsächlich ein voll funktionsfähiges Audiosystem mit Musik und Sound geschaffen haben. Und das Tolle daran, natürlich können wir hier sehen dass wir ein ziemlich nutzloses Codebook haben Play von einer Store-Prozedur aufruft das Play von einer Store-Prozedur aufruft, die es alleine macht, was ist nicht sehr ideal. Aber der Grund, warum ich das tun wollte, ist, dass wir jetzt einen Link zu unserem Audio und unserer Musik haben. Und später, wenn wir unser Menüsystem erstellen, werden wir Funktionen erstellen, um all diese Audioquellen stumm zu schalten. Und das lässt uns das tatsächlich tun, was wirklich, wirklich cool ist. Bleib dran für diesen guten Job alle. Hoffentlich funktioniert alles und ich werde natürlich meinen Code und meine Ressourcen, wenn du willst, du kannst diese Audio-Dinge so ändern , wo immer du willst. Ziehen Sie einfach Ihre neue Datei dort hinein und es wird alles aktualisiert. Und gute Arbeit. Wir sehen uns im nächsten Video. 19. Menüsystem: Hey da, und willkommen zurück bei Unity. Und offensichtlich haben wir in der letzten Folge Sound und Musik hinzugefügt, die verschiedene Zeiten abzielen , wodurch es sich viel reaktionsschneller anfühlt. Das sehen wir hier genau wie in der letzten Reihe. So super cool. Obwohl das unglaublich cool ist, möchten manche Leute vielleicht keinen Ton und Sound genau wie wir. Ich hoffe, das tust du zumindest , weil du es dir in der letzten Episode in zwei Hälften anhören musstest. Wir fügen ein Menüsystem hinzu, mit dem wir auswählen können, ob Sound oder stumm geschaltet spielen und auch das Spiel spielen möchten. Und es bringt uns dorthin zurück, wenn wir sterben. Das wird eigentlich ganz einfach sein. Es wird wahrscheinlich eines der komplizierteren Dinge sein, die wir tun werden, wahrscheinlich das komplizierteste, was in diesem Kurs noch zu tun ist. Vielleicht finden Sie das Hinzufügen, fügt etwas verwirrend hinzu. Aber abgesehen von diesem Menüsystem braucht es nur einige Gewöhnung, aber danach sollte es Ihnen gut gehen. Um zu beginnen, erstellen wir zunächst ein Menüskript. Ich rufe unser Skript-Menü auf. Dann doppelklicke ich darauf. Bevor ich jetzt überhaupt anfange, mein Menü zu erstellen, kann man sicher denken, dass Sie nicht in verschiedene Zustände kommen wollen. Wir wollen einen Staat, in dem wir ein Spiel spielen. Wir zeigen die Schule und den Highschool-Text. Und wir werden sagen, wo wir die Schule und die Highschool-Texte nicht zeigen, was genau das ist, was wir beheben werden. Hier. Wir, wir werden eine öffentliche Leere haben und nennen es Menü. Direkt darunter werden wir eine weitere öffentliche Leere haben und es „High Menu“ nennen. Was wir dann tun müssen, müssen wir ein System erstellen, in dem wir uns verstecken und bestimmte Schaltflächen und andere UI-Elemente basierend auf dem, was wir wollen, sicherstellen können bestimmte Schaltflächen und andere UI-Elemente basierend auf dem, was wir wollen, sicherstellen . Also mache ich das jetzt. Zuallererst muss ich tatsächlich mit der Gestaltung meines Menüs beginnen. Ich gehe hier zu meiner Benutzeroberfläche und werde sicherstellen, dass ich die Schule und die High School aufheben werde. Sobald das geladen ist und dann darauf klickt, klicken Sie auf Check, damit wir ihn nicht mehr sehen können. Und dann höre ich auf, mein Menü zu verbeugen. Also gehe ich mit der rechten Maustaste auf die Benutzeroberfläche. Und ich erstelle eine Schaltfläche mit Text-Mesh-Sonde. Jetzt wird das weitergehen und automatisch ausfüllen. Wir können auch nicht sehen, weil unsere Nachbearbeitungsschichten ein wenig im Weg sind. Aber wenn ich das weiter skaliere, sollten wir es sehen können, aber es fügt leuchtende Akkorde unserer Nachbearbeitung hinzu. Ich sehe momentan mit dieser neuen Art und es gibt einen Kühler, den du Gizmos verstecken kannst. Wenn Sie hier nach oben rechts gehen, können Sie alle Spielereien in der Szene wegnehmen, was im Moment ziemlich nützlich ist. Ich benenne meinen Button um. Dann gehe ich hier in die USA, aber ich habe ein Kursvermögen und du wirst sehen, dass du ein Spiel hast. Stellt sicher, dass alle diese genau wie wir die erste Straße einstellen, auf 1000 Pixel kommen. Du wirst sicherstellen, dass du das Gleiche hier machst. Sonst werden sie sehr groß sein. Und dann geh hierher, um zu spielen, sobald du das getan hast und ziehe es hinein und macht, wir können einen ziemlich entstellten Play-Button sehen. Dann gehe ich zur SMS und lösche ihn. Dann gehe ich hierher und lege die native Größe fest. Und hier haben wir unseren Play-Button, was ziemlich cool ist. Offensichtlich ist es vielleicht etwas kleiner als eine Skala, die etwas höher ist. Und dann setze ich seine Position auf dem x und das y auf 0. Jetzt könnten Sie feststellen, dass diese Positionskoordinaten viel größer sind. Wenn wir das auf 60 verschieben, werden nur Folien dafür verschoben. Aber wenn wir unseren Spieler auf Position 60 gebracht haben, können Sie sehen, dass er Ihre Vorführung abschließt. Und der Grund dafür ist, dass es verschiedene Koordinaten gibt . Dies sind UI-Koordinaten und die andere eine Welt koordiniert. Also lass dich dort einfach nicht verwirren. Wenn ich das auf 601960 setze, wird es nicht dasselbe sein. Es gibt Code, den Sie konvertieren können, aber das müssen wir in dieser Episode nicht tun. So viel Glück für uns. Dann werde ich weitermachen und es auf meinen Spielereien nacherzählen. Ich kann sie wiedersehen. Und ich stelle sicher, dass ich das auf 0 setze und es ein wenig nach unten schiebe. Ich denke, ich möchte, dass mein Play-Button die gleiche Farbe wie der Boden hat, also mache ich das weiter. Ich denke, das sieht ziemlich cool aus. Dann möchte ich meine Spiel- und Soundoptionen hinzufügen . Ich werde es sehr ähnlich machen. Ich klicke mit der rechten Maustaste hier und gehe zur Textnachricht Pro der Benutzeroberfläche und nenne diesen einen Ton. Hier drüben schreibe ich u1 und hochwertige Musik, tut mir leid, meine Musik- und Tontasten. Und dann gehe ich hierher und lösche beide Textobjekte, die an diese angehängt sind. Bewegen Sie beide hierher in die rechte obere Ecke. Mach dir keine Sorgen um diese Pfeile. Das ist nur Unity, die herausfindet, wie die Tasten funktionieren. Und ich verschiebe die Musik da runter. Und dann gehe ich hierher und ziehe Musik in die Musik wie bei einem Play-Sound und dem Sound und klicke auf Native Größe für beide festlegen, genau wie ich. Dann werde ich diese Tiefen immer skalieren. Ich mache das ungefähr 0.4.4. Das sieht gut aus für mich. Und das gleiche Full-Sound-Telefon, das jetzt cool ist, stellt sicher genau die gleiche Exposition damit sie direkt untereinander liegen. Ich denke, das sieht ziemlich gut aus. Wir haben jetzt unser Spiel mit einem Menüsystem oben rechts. Wir können das in alles ändern, was ich denke, dass ich diese Farben ändern werde. Ich werde sehen, wie es gelb aussieht . Nicht großartig. Ich glaube, ich werde sie alle blau machen, aber Sie können es tatsächlich machen, was Sie wollen, wenn es riesig ist, den Anteil finden. Ja, das sieht gut aus oder jede andere Farbe, die perfekt funktioniert. Das Letzte, was wir tun müssen, ist, dass wir offensichtlich ein Titelballspiel erstellen müssen . Also klicke ich mit der rechten Maustaste auf eine Benutzeroberfläche, Texttexte Mac Pro und benenne diese in Titel um. Dann verschiebe ich das nach oben. Ich werde dieses **** auch am größten skalieren wollen . Das würde mir gefallen. Mach es vielleicht nicht so groß, aber groß genug die Institution, um das Y nach unten zu bewegen. Dann ändere ich hier etwas Essenz. Zuallererst stelle ich die Ausrichtung auf die Mitte und die Mitte ein, also ist es genau in der Mitte. Dann benenne ich um. Ich werde sicherstellen, dass ich es habe, bevor ich die Aktion umbenenne , und stelle sicher, dass meine Schriftgröße ziemlich groß ist. Also denke ich, vielleicht einhundertfünfzig Millionen, zweihundert, das ist wahrscheinlich gut. Ich würde da drüben keinen neuen Text sagen. Ich werde weitermachen und beide tatsächlich wieder leicht nach unten bewegen . Stellen Sie sicher, dass der Titel und der Play-Sound beide nach unten verschoben sind und wir sehen, dass das meiner Meinung nach etwas besser aussieht, dann müssen wir es immer dieselbe Farbe machen , damit es passt. Wir könnten die Schriftart auch ändern, wenn wir wollten. Ioc hat keine Font-Packs installiert. Das werde ich nicht können, aber ich lasse meinen vorerst als Pfeil. Ich nenne meins. Wer? Quadratisch? Wenn du dir nicht einen so brillanten Namen wie ein gekühltes Quadrat einfallen kannst , habe ich mich nicht gespielt. Sie können verwenden, wo immer Sie wollen. Cooled Squared ist eindeutig der beste Name, aber wenn Sie nicht in der Lage waren, etwas mitzubringen , fühlen sie sich selbst nicht schlecht. Nicht alle von uns sind kreative Genies wie ich. Und nachdem wir das getan haben, unser Menüsystem tatsächlich sieht unser Menüsystem tatsächlich ziemlich vollständig aus, was ziemlich cool ist. Jetzt müssen wir nur noch logisch Schreibweisen programmieren. Denn wenn wir auf Play klicken müssen Sie diese wieder aktiv setzen, denn so bin ich tatsächlich zu meinem Flugzeug gekommen , das wir spielen. Wir wollen diese Buttons aus offensichtlichen Gründen nicht in gewisser Weise . Dann gehe ich darauf ein, wir wollen weitermachen und Logik zu diesen programmieren. Also gehe ich hier zu meinem Menüsystem. Ich erstelle jede einzelne eine Referenz. Bevor Sie beginnen, stellen Sie sicher, dass Sie mit der Unity-Engine-Punkt-Benutzeroberfläche nach oben und rechts gehen mit der Unity-Engine-Punkt-Benutzeroberfläche nach oben und rechts und das Textnachrichtenprotokoll verwenden, genau wie wir es beim letzten Mal getan haben. Dann möchte ich ein paar ODS erstellen und öffentlich Text Mesh gehen. Du züchtest. Und wir werden das so nennen , weil das unser Titel sein wird. Und dann wollen wir einen öffentlichen Button erstellen. Und wir werden dieses eine Theaterstück nennen, genannt The next one music. Wir rufen das nächste Geräusch an. Dann müssen wir hier rüber zur UI gehen. Ich werde mein Manuskript tatsächlich direkt auf UIs legen , um das einfach dorthin zu fahren. Dann stelle sicher, dass ich mein Ding unterschrieben habe Also spiele ich Button, um meine Sound-Taste abzuspielen, meinen Musikknopf zur Musik und meinen Titel dort. Und wir sind fast fertig. Das letzte, was wir tun müssen, ist, dass wir einen Verweis auf die Punktzahl erstellen müssen , den Highscore. Wir fügen einfach ein paar Kommas hinzu und legen diese dann beim Laden genau dort hin. Aber die Punktzahl dort und die High School dort. Was ich jetzt tun muss, ist, dass ich Logik erstellen muss , wenn ich welche zeigen möchte. Wenn ich also die Speisekarte zeige, wollte ich natürlich sicherstellen, dass alles außer dem Titel und der Schule Entschuldigung zeigt, die Schule und die High School. Und wenn ich ein Menü anstelle, um genau das Gegenteil zu gewährleisten. Und ich werde das mit Parametern machen, weil ich weiß, dass ich in der vorherigen Episode erwähnt habe , dass Unity manchmal seltsame Dinge mit Parametern hat. Aber ich habe oft festgestellt , dass dies tatsächlich nur der Fall ist , wenn Sie mehr als einen Parameter verwenden. Also rufe ich das vom Code aus an, also wird es eigentlich gut gehen, aber ich werde weitermachen und hier gehen. Und das kann tatsächlich ein viel besserer Weg sein, dies zu tun. Ich werde an die Öffentlichkeit ungültig gehen, das Bankwesen wechseln. Und dann werden wir einen Booleschen Wert haben und ich nenne es x. Jetzt können wir tatsächlich jeden einzelnen festlegen, weil wir sie offensichtlich so einstellen wollen, dass sie vollständig sind kontrastierend. Willst du entweder all diese analog oder beides sagen und die anderen auch nicht. Also gehe ich hier hin, Title Dot GameObject. Ich werde referenziert das Spielobjekt aktiv gesetzt, dann öffne Klammern, und dann könnte ich hier natürlich X eingeben. Je nachdem, wo wir für x eingeben, würde ich den Titel aktiv darauf setzen. Und ich werde im Grunde sicherstellen, dass ich das jeden einzelnen von ihnen mache. Also Tyler Rhodes Family, ich werde für den Schädel gleich sein wollen, den gleichen vollen Highscore. Und wir können die Codezeilen tatsächlich aufrufen , indem wir Control D drücken. Das ist dann sehr nützlich, um dieselbe Musik mit voller Wiedergabe zu erreichen. Und für den Ton. Offensichtlich kann das sie alle oder nichts setzen und das wollen wir nicht tun. Wir wollen die Schule und die High School anders gestalten. Ich setze einfach ein Ausrufezeichen direkt davor. Und das wird im Grunde nicht X sagen. Waits Code funktioniert ist, ich sage, dass ich ein boolesches x eingebe , entweder ja oder nein, wahr oder falsch. Und ich nenne diesen Punkt, wenn wir alles außer der Schule verstecken wollten , ich habe das Wechselmenü falsch gebracht und dann wird es ok sagen, also beim Titel falsch, die Schule nicht falsch oder wahr, die Highschool nicht falsch oder wahr, und alles andere falsch. Und natürlich, wenn ich das Gegenteil mache, wird es das wahr, das stimmt, stimmt und diese beiden falsch, was wirklich, wirklich cool ist, Es ist wirklich vereinfachte Art, dies zu tun. Dann muss ich nur noch einen Verweis auf dieses Menü von meinem Zustandsmaschine aus erstellen. Ich gehe auf ein öffentliches Menü. Ich möchte es nicht Menü nennen, also habe ich einen Link. Und dann gehe ich hier rüber zu meinem Armaturenbrett, wo ich alles andere abkühle. Und ich sage eigentlich Menü, Punktwechselmenü. Und ich würde natürlich hier drüben eintreten , damit alles außer der Schule und der High School wahr ist . Und dann werde ich unter der Antwort ungültig etwas sehr ähnliches tun. Ich gehe hier unter meinem Ding hoch und setze das Menü auf false. Was das im Grunde genommen tun wird, ist sicherzustellen, dass das Menü angezeigt wird, wenn wir sterben, und dann geht es zurück. Das ist nicht ganz das, was wir wollen. Ich zeige dir , wie das jetzt aussieht. Wenn wir weitermachen und spielen, wir zuerst vor dem Spielen müssen wir zuerst vor dem Spielen Lesungen zuweisen. Gehen wir also zu unserer Zustandsmaschine und stellen sicher, dass wir unser Menü auf Menü setzen und dann auf Play klicken. Ich schalte das Audio tatsächlich stumm weil ich darüber reden kann, damit ich mit uns sprechen kann. Ich gehe zu meinem Musikmanager und ich gehe weiter und drücke stumm auf die Musik und bin schon gleich mit dem Player. Ich gehe einfach hierher und klicke auf Stumm. Und das Gleiche gilt für die Umwelt. Also habe ich früher keine. Wenn du das nicht tust , ist das in Ordnung. Ich bin nur so, dass ich darüber reden kann und nicht wieder von dem sehr kühlen Subtrakt zerschmettert werde . Wenn ich dann auf Play klicke, ist das ziemlich nah an dem, was ich will. Wir können sehen, dass alles auf einmal zeigt. Wenn ich sterbe, zeigt sich nur das Menü und dann zeigt sich das. Aber offensichtlich ist das Menü nicht sehr nützlich, wenn dieser Mitarbeiter hier anklickt. Es macht eigentlich nichts, was nicht ideal ist. Also werde ich diese Codelogik ein wenig ändern. Anstatt zu sagen, habe eine Verzögerung und antworte dann automatisch, habe eine Verzögerung und antworte dann automatisch, nenne ich diese Antwort aus dem Menü ungültig und zeige Ihnen, wie das funktioniert, wenn ich das kommentiere raus, damit alles was es tut wartet und dann passiert nichts. Natürlich ist dies eine Art von Verwendung dieses Codes, aber wir werden ihn später verwenden, also löschen Sie ihn nicht. Dann gehe ich hier rüber zu meinem Spiel-Ding und öffne die Taste, klicke und klicke hier. Und ich ziehe meinen Spieler ein. Lasst mich gehen. Keine Funktion. Ich gehe hier runter zum State Manager und klicke auf „Antworten“. Und was das eigentlich tun wird, ist ziemlich cool auszusehen. Wir werden sehen, dass offensichtlich alles genau da ist, wenn wir anfangen , und genau so wollten wir. Aber wenn wir sterben, antworten wir nicht. Und wenn wir dann darauf klicken wollen, antworten wir. Und das ist eigentlich ziemlich nah dran wie unser Menüsystem funktioniert, was wieder wirklich, wirklich cool ist . Jetzt gibt es ein paar Probleme. Zunächst wollte ich sicherstellen, dass diese beiden deaktiviert sind, wenn ich anfange , weil ich so nicht gehen wollte. Das zweite, was ich sicherstellen möchte, ist, dass ich sicherstellen möchte der Spieler zu Beginn des Spiels nicht wirklich in einem bewegten Zustand befindet . Ich bleibe im State Manager und setze meinen Zustand in den Leerlauf. Ich beginne es spielt keine Rolle, was du hierher stellst , denn wir prüfen nur, ob es weiterläuft. Du könntest also sogar tot sein, das spielt keine Rolle. Und das andere, was ich tun werde, ist, dass ich meine Schwerkraft offensichtlich in meinem Schritt auf 0 setze . Wir beginnen damit, in der Luft suspendiert zu werden, was dem Schreibtischtag ohne Alleleffekte sehr ähnlich ist. Gehen wir zurück zu Unity. Und wir können sehen, wie das hier aussieht. Wenn ich anfange, bin ich gesperrt und sobald ich auf Play klicke, spawne ich, was wirklich cool ist. Wenn ich sterbe, werde ich das wieder haben und auftauchen und alles funktioniert einwandfrei, was wirklich, wirklich cool ist. Jetzt machen sich die wenigen Änderungen nicht mehr. Zuallererst möchte ich es so machen, dass Sie zum Anfang zurückkehren und antworten, noch bevor Sie alle anderen Effekte haben. Also müssen wir tatsächlich zu dieser Co-Routine zurückkehren. Wir werden diese Antwort hier wieder ungültig machen. Aber anstatt es zu einem Boyd zu machen , werden wir uns in zwei verwandeln. Also gehe ich an die Öffentlichkeit ungültig. Ich nenne das einen Punkt. Schon wieder. Ich vermisse es, mit all der anderen Logik fertig außer die Position einzustellen und das so ziemlich hier rüber zu setzen, wir werden das ändern. Und jetzt wird es reichen, wenn wir sterben, gehen wir zum Anfang zurück, aber wir werden nichts anderes einstellen. Dann ändern wir stattdessen unseren Knopf , um diese ungültig zu nennen. Gehe hier rüber zu meinem Button, UI, runter zum Play-Button. Und ich werde das in das Aktienspiel des State Managers ändern . Das ist ziemlich cool. Wenn ich jetzt mein Spiel spiele, kann ich klicken und das Spiel starten. Ich könnte sterben. Und dann gibt es eine Verzögerung und ich gehe zurück. Aber ich muss es auch noch nicht zeigen. Gehen wir also zurück zu unserem Code. Wir werden diese Menülogik ändern. Anstatt das Menü zu ändern, sobald wir sterben, werde ich es tatsächlich einstellen, wenn wir antworten, was hübsch, ziemlich cool ist. Jetzt wirst du sehen, wie das im Spiel funktioniert. Zurück zu meinem Spiel. Klicken Sie hier drüben. Wir können sehen, dass wir mit dem Menüklick Play beginnen. Wir können mit hoher Geschwindigkeit spielen, offensichtlich gerettet wie vor einiger Zeit. Und wir antworten, als wir zurückkommen, was wirklich, wirklich cool ist. Das letzte, was wir ändern müssen, müssen wir sicherstellen, dass diese Schaltflächen auch tatsächlich im Web sind. Das wird auch ganz einfach sein. Wir gehen einfach wieder in unser Manuskript ein. Und wir werden eine neue Stimme machen und wir nennen es Publikum ändern, öffentlich nichtig. Und wir werden das Change Audio nennen. Der eine wird gewechselt Audio. Der andere wird kalt sein. Wechseln Sie die Musik. Das wird im Grunde sagen , ob wir die Musik ändern wollen. Wir werden das nicht zu Floats machen , die öffentliche brillante Musik. Und 48. Dann wird alles hier drüben tun, dass wir sie einstellen, sie ändern, um Musik zu lernen, ist dass wir sie einstellen, sie ändern, um gleich Musik und nicht Musik. Das heißt im Grunde nur, wenn es stimmt, macht es falsch, es ist falsch, macht es wahr. Offensichtlich wollen wir das da drüben stellen. Ich werde das Gleiche hier drüben für Audio gleich nicht Auditor setzen . Schließlich müssen wir einen Zugang zu unseren Systemen haben , die die Musikmagie tatsächlich spielen können. Ich mache einfach weiter und erstelle einen öffentlichen Musikmanager. Nennen Sie das Musik verwalten. Dann gehe ich Musik verwalten Punkt und dann werden wir die gewünschte Audioquelle finden. Wenn wir also hierher gehen, können wir sehen, dass es tatsächlich so schrecklich genannt wurde wie Musik springen. Wenn ich eigentlich für Audio bin, werde ich als Guy als Jump the Mutant einstellen , um das zu sein, was auch immer Audio ist. Algo, Dr. Newton ist gleich Audio. Und ich kopiere genau diesen Code und lege ihn hier hin, außer dieses Mal als Sprung. Dann mache ich da drüben sehr Ähnliches. Ich gehe hier runter und dann einen Setmusic Dot, wenn Musik gleich und ändere ihn dann in Musik dort drüben. Diese mindestens fünf Codezeilen werden uns tatsächlich ein sehr cooles System geben das zwischen gedämpftem und nicht gedämpftem Audio wechseln kann . Wir werden wieder hier rübergehen. Sie müssen zuerst ein bisschen zuweisen. Also lasst uns gehen und stellen sicher, dass ich Musikmanager bin , der dort verlinkt ist. Und geh zu unserem Sound-Ding und stelle sicher, dass es ein Onclick-Event gibt. Ziehen Sie die Benutzeroberfläche, klicken Sie auf kein Funktionsklick-Menü und wählen Sie dann das hier drüben mit der Aufschrift Audio ändern aus. Gehen Sie hierher und machen Sie genau das Gleiche mit Musik, ziehen Sie Ihr UI-Menü und wechseln Sie diesmal die Musik. Jetzt bevor ich spiele, werde ich sicherstellen , dass ich all die Dinge, die ich früher gedämpft habe, tatsächlich aufgehoben all die Dinge, die ich früher gedämpft habe, tatsächlich aufgehoben habe, damit ich es dir zeigen kann, weil ich nicht mit unserem Spiel spielen muss ein bisschen. Also lasst uns weitermachen und alles stummschalten. Und ich zeige dir genau, wie das funktioniert. Wir können sehen, dass wir das Audio mit Leichtigkeit stumm schalten und ungeklickt weitermachen können . Wir machen einfach dasselbe mit unseren Sounds. Wenn ich hierher gehe, sehe ich, dass mein Ton tatsächlich gedämpft wurde. Wenn ich deklicke, hat es das nicht getan. Also kann ich nur mit Sound und Musik spielen. Sehr, sehr cool. Dies ist offensichtlich die Grundlagen unseres Menüsystems. Ich denke, wir haben einige ziemlich große Sprünge in unserem Spiel gemacht , und es ist das letzte große, große Ding, das wir in der nächsten Episode hinzufügen müssen wir Monetarisierung machen können, und dann ist es gerade jetzt repariert Ballspiel und wir sind tatsächlich bereit, es auf Handy zu stellen. So toller Job für alle. Ich hoffe dir gefällt das Absolute und wir sehen uns im nächsten. 20. Monetarisieren unseres Spiels: Hey da, und willkommen zurück zur Einheit. Jetzt ist dies das verlorene Hauptmerkmal. Wir werden noch einmal zwei hinzufügen, dies ist der letzte Schritt. Was ich also über die völlig neue Funktion sprechen werde wir hinzufügen, und das ist Monetarisierung. Danach bin ich das Handyspiel ziemlich fertig. Wir müssen es nur offensichtlich auf Mobilgeräte stellen und bauen. Und wir können sehen, dass alles einwandfrei funktioniert, was wirklich, wirklich großartige Mutanten sind, Sie haben auf Ihrer Entwicklungsreise für mobile Spiele einen wirklich langen Weg zurückgelegt. So tolle Arbeit, die du erstaunlich geleistet hast. Jetzt verwenden Handyspiele immer Anzeigen, um Geld zu verdienen. Das ist ein bisschen übertrieben, aber praktisch jedes einzelne mobile Spiel verwendet Anzeigen irgendeiner Art, weil es eine wirklich großartige Möglichkeit ist , Ihre Spiele zu monetarisieren. Und das Hinzufügen ist nicht super einfach, aber dank Unity's Add Package ist es nicht so schwer, wie Sie vielleicht denken . Jetzt werden wir diesen Prozess Schritt für Schritt durchlaufen. Befolgen Sie unbedingt alles, was ich tue, denn kleine Änderungen können zu seltsamen Kleinigkeiten führen , die Sie tun müssen. also einfach sicher, dass Sie alles genau befolgen. Stoppen Sie, gehen Sie zu Skripten und Sie möchten dieses Ad Manager-Skript importieren. Wenn Sie nun zu den Ressourcen dieses Videos gehen, werden Sie feststellen, dass es dort ein Ad-Manager-Skript gibt. Und Sie können das tatsächlich herunterladen und das gibt Ihnen das Ad-Manager-Skript. Der Grund, warum ich es nicht in Kursressourcen aufgenommen habe, ist , dass es Ihnen Fehler geben wird, sobald Sie es herunterladen. Es wird sagen, dass Werbung nicht existiert. Das ist vollkommen in Ordnung. liegt nur daran, dass wir noch keine Anzeigen für unser Spiel aktiviert haben, sobald Sie diese installiert haben und wahrscheinlich Ihre zwei Stunden dort haben, gehen Sie zu Fenster, wählen Sie Allgemein aus und wählen Sie Dienste aus. Sobald du das getan hast, solltest du dieses Ding sehen. Laden dauert eine Weile und dann erhalten Sie diese Servicelisten. Alle von ihnen sollten vorerst weg sein. Gehen Sie also zu Anzeigen und Sie werden möglicherweise nicht sofort zu diesem Bildschirm weitergeleitet. Der Grund, warum ich dazu gebracht wurde ist, dass ich offensichtlich bereits bei Unity angemeldet bin , weil ich Unity schon einmal benutzt habe. Aber wenn dies die erste UTI, Portugal, war , haben Sie dieses ganze Handyspiel erstellt, Sie werden möglicherweise nicht signiert, daher werden Sie aufgefordert, Ihr einheitliches Konto zu unterzeichnen. Jetzt gehe ich davon aus, dass Sie ein Unity-Konto haben , weil Sie Unity Hub installiert haben und ich glaube, dass Sie ein Unity-Konto haben müssen, um eines zu erstellen. Aber wenn Sie es nicht getan haben, erstellen Sie einfach einen, es wird einen wirklich einfachen Prozess geben. Sie können es offensichtlich auf unity.com machen und einfach ein Konto erstellen. Sobald Sie Ihr Unity-Konto oder Ihren Unity Hub oder Ihr Konto erstellt haben , was immer Sie brauchen, fahren Sie einfach fort und Sie werden aufgefordert , ein Videospiel zu erstellen. Sie müssen sich also einfach für eine Organisation entscheiden. Du fragst dich vielleicht, was das ist. Wenn Sie hier zum Dashboard gehen, klicken Sie hier. Es bringt Sie zu Ihrem Unity-Dashboard. Und hier wird es tatsächlich sein, wo man alle möglichen Dinge kontrollieren kann. Offensichtlich habe ich mich noch nicht angemeldet, aber wenn ich es zuweisen würde, wird es mich dann auf eine Seite bringen, auf der ich Organisationen und ähnliches erstellen kann . Machen Sie also eine Organisation, wenn Sie es noch nicht getan haben, und dann müssen Sie neu starten, um den Dienst neu zu laden, und die Organisation wird als eines der Dropdown-Menü da sein Optionen, wenn Sie das auswählen müssen, um Ihr Spiel auszuwählen. Wenn Sie auf keines dieser Probleme gestoßen sind, machen Sie sich keine Sorgen. Ich sage es nur für den Fall, dass es irgendjemand tut. Und schließlich müssen Sie sagen, ob Sie Personen unter 13 Jahren oder älter ansprechen werden, und das ist so, dass Sie Coppa-konform sind? Gehen Sie weiter und klicken Sie auf Ja, nur für ein gutes Maß. Offensichtlich wissen wir nicht genug über das Urheberrecht, um diese Annahme noch vollständig zu treffen. Wenn Sie vorhaben, ein Handyspiel zu veröffentlichen, empfehle ich Ihnen, dies zu recherchieren , da dies ein sehr wichtiges Gesetz ist, das Sie beim Erstellen von Handyspielen befolgen müssen . Offensichtlich das Online-Datenschutzgesetz für Kinder . Aber wenn nicht, wenn Sie nur versuchen, diesen Kurs zu beenden und später dagegen, klicken Sie einfach auf Ja oder Nein. Es spielt keine Rolle, es ist momentan nicht veröffentlicht oder spielen. Und dann wirst du zu diesem Bildschirm weitergeleitet. zunächst Klicken Sie zunächst auf Anzeigen und das Laden wird eine Weile dauern und es wird einfrieren. Vielleicht wird es Ihre aufgelösten Pakete laden, C-Sharp-Skripte kompilieren und nach einer Weile sollte es alles aktivieren. ADS ist also eingeschaltet. Da bist du ja. Jetzt können wir sehen, dass wir Anzeigen haben, heißt es aktuelle Version 3.7.5. Jetzt ist dies tatsächlich automatisch auf Unity installiert. Ich bin mir nicht ganz sicher, warum meine automatisch installiert wurde, aber ein früheres Mal hat es getan. Das war es nicht, also bin ich mir nicht ganz sicher, wie es funktioniert. Ich zeige dir, wie du es installiert, falls du es nicht getan hast. Aber wenn er immer zur Konvertierung installiert hat und eine spätere Version verfügbar ist, stellen Sie sicher, dass Sie die empfohlene Version herunterladen, nicht unbedingt die neueste Version, da ich die neueste Version gefunden habe Version gibt mir manchmal Probleme. Wenn ich also mein Spiel für Anzeigen vorbereiten möchte, muss ich dieses Paket hier herunterladen. Wie ich schon sagte, ich hab's schon. Aber geh hier rüber zum Window Package Manager wenn du es nicht tust, es ist genau da. Und dann finde diese Werbung eins. Und wenn Sie es nicht installiert haben, klicken Sie offensichtlich hoch oben auf Installieren, damit ich es nicht entfernen werde. Und du wirst auch sehen, dass meine Pfeile verschwunden sind, was bedeutet, dass meine Anzeigen einwandfrei funktionieren. Das Letzte, was ich tun möchte, ist hier auf Anzeigen zu klicken und den Testmodus zu aktivieren weil ich sicherstellen möchte, dass ich keine echten Anzeigen verwende, wenn Sie Ihr Spiel oder Ihr Spiel testen, die eine Sache, die Sie dürfen keine echten Anzeigen verwenden, Sie müssen Testanzeigen verwenden, was genau das ist, was ich mache. Dann mach ich weiter und eröffne den Anzeigenmanager. Und wir können sehen, dass alle diese Bereiche tatsächlich verschwinden sollten , sobald sie aktualisiert werden, wenn dies nicht Manchmal hat Unity Probleme damit, wie zum Beispiel könnte es nicht verschwinden. Wenn ich es schließe und neu starte, gehen sie vielleicht weg. Sie benutzen diese kleinen seltsamen vielleicht nicht. Und hoffentlich haben sie das gepatcht, wenn Sie Unity verwenden. Du kannst jetzt sehen, dass meine Pfeile verschwunden zu sein scheinen. Ok, das ist jetzt passiert. Ich gehe hier hin und ich gehe eigentlich oft zu AD-Mieter. Nun ist es wichtig zu bedenken, dass diese Pfeile nicht irgendetwas zurückzuführen sind, was Sie falsch machen. Das ist Einheit und sie haben diese wirklich nervige Panne. Also ertrage einfach mit mir hier. Wenn es dir passiert, tu einfach was ich mache, schalte entweder aus und wieder ein. Wir werden sehen, ob das funktioniert. Wir können von mir sehen, dass es tatsächlich funktioniert hat. Jetzt hat es also funktioniert, nur weil ich es aus- und eingeschaltet habe. Du siehst offensichtlich, dass ich nichts falsch gemacht habe. Es ist nichts falsch mit dem Drehbuch. Nur ein Problem, wenn das für Sie nicht funktioniert, können Sie auch versuchen, das Paket zu deinstallieren und neu zu installieren, indem hier zum Package Manager gehen, dann dorthin gehen und es entfernen und installieren. Also ja. Hoffentlich solltest du jetzt an einem Punkt sein, an dem dein Spiel das Skript hat und keine Fehler mehr hat , wenn du das getan hast, großartig. Das Letzte, was wir tun werden, ist, dass wir jedes Mal, wenn wir sterben, eine Anzeige schalten werden. Und das ist eigentlich wirklich einfach zu machen. Bevor ich das ändere, wurde mir gerade klar, dass mein Klassenname nicht mit meinem Dateinamen übereinstimmt, was ein Bereich ist, über den wir früher gesprochen haben. Also lasst uns weitermachen und das reparieren. Sonst wird uns das in Zukunft Bereiche geben. Stellen Sie sicher, dass dies das Gleiche ist, beide haben diesen Kurs hochgeladen, Sie sollten aktualisiert werden, also machen Sie sich keine Sorgen, aber wenn nicht, stellen Sie einfach sicher, dass Sie das haben und genau das ist es , was ich für jedes einzelne Skript gehe um Manager zu bleiben, und wir werden einen neuen öffentlichen Werbemanager erstellen. Wir nennen es „Add“. Wenn wir dann auf all dem Zeug sterben, werden wir unsere Antwort als ungültig bezeichnen. Und sobald wir darauf antworten, dass diese Antwort im Coroutine ungültig ist, werden Sie Punkte hinzufügen, Klammern hinzufügen. Dies bedeutet im Grunde, dass wir jedes Mal, wenn wir sterben, eine kurze Anzeige sehen werden. Mal sehen, ob das unser eigentliches Handyspiel war. Das wäre ein bisschen nervig und ich denke nicht, dass es fair ist , dass alle Benutzer jedes Mal einen sehen. Stattdessen erstellen wir eine ganzzahlige Variable. Wir gehen an die Öffentlichkeit und nennen es Gewicht hinzufügen. Anstatt Show Ad zu sagen, werden wir sagen, dass Gewicht hinzufügen gleich Gewicht plus eins ist. Und das ist im Grunde eine Art zu sagen: Okay, um eins erhöht. Wir könnten dies auch schreiben, da Add-weight plus gleich eins ist. Das bedeutet genau das Gleiche. Und dann werden wir sagen, dass Add-Gewicht größer oder gleich drei ist. Dann möchte ich adäquat zurücksetzen, also ist es 0. Und ich möchte meine Anzeige zeigen. Das würde nicht bedeuten, dass wir jedes Mal, wenn wir sterben, App-basiert erhöhen werden. Also werden wir jedem dritten Spiel einem Iren etwas netter zeigen. Wenn wir Unity öffnen, werden wir dies verknüpfen und testen , ob es funktioniert. Google hier zum Spieler, findet dort unseren State Manager. Stellen Sie sicher, dass Sie zurückklicken, um es zu überprüfen, aber wir haben unsere Anzeigen nicht wirklich in unser Spiel aufgenommen. Wir müssen auch ein neues Objekt erstellen. Lassen Sie uns ein Objekt erstellen, rufen Sie den Anzeigenmanager an. Musikmanager, einfach zentriert indem Sie Ihren Vorteil dorthin ziehen und dann den Audioplayer gehen und sicherstellen , dass Sie es so auf Ihr Statuskript ziehen. Wenn alles funktionieren sollte, sollten wir in der Lage sein , das zusätzliche Gewicht hier zu verfolgen. Wenn wir weitermachen und Play drücken, können wir sehen, dass wir das vorerst stumm schalten. Und dann dort drüben, wenn ich weitermache und Play treffe, sterbe ich. Ich könnte hinzufügen Gewicht ist jetzt gut eins. Geh weiter und stirb wieder. Mein Aggregat ist gleich zwei. Und wenn ich es ein drittes Mal mache, sollte ich tatsächlich zeigen, dass wir los geht's, perfekt. Dies ist die Unitäten, die uns sagen, dass unsere Anzeigen funktionieren. Wenn wir dieses Spiel jetzt erstellen und schalten würden, hätten wir tatsächlich funktionierende Anzeigen, was wirklich, wirklich großartige Arbeit ist , was bedeutet dass die endgültige Ergänzung unseres Spiels tatsächlich abgeschlossen ist. Dies ist unser fertiges Handyspiel. Es ist unglaublich beeindruckend, wie viel wir über eine so kurze Zeitspanne tun konnten und es ist großartig, großartige Arbeit. Das ist unglaublich. Und du hast es in diesem Kurs erstaunlich gemacht, gut gemacht für alle. Und nachdem Sie das abschließende Video abgeschlossen haben, haben Sie Ihr allererstes Handyspiel in Unity und C sharp erstellt . So unglaublicher Job. 21. Fertigstellen: Hey da und willkommen zum letzten Mal wieder bei Unity. Jetzt verdienen Sie eine Runde Applaus, weil Sie ein unglaubliches Handyspiel erstellt haben. Und wenn es Ihr erstes Handyspiel oder eines Ihrer ersten Bewegungen unserer Spiele ist, haben Sie großartige Arbeit geleistet, großartige Arbeit. Wir sind fast fertig mit einem Handyspiel. Und es gibt ein paar Dinge, die sich ändern müssen , bevor wir es bauen. Und dann zeige ich dir, wie man es baut und auf einem Emulator testet. Oder wenn Sie ein Android-Handy oder ein Android-Handy haben, Cube Root von IRS, können Sie auf einem ihrer Telefone testen. Ich habe ein iOS-Telefon, aber ich zeige, wie man mit einem Emulator baut. Aber bevor wir darauf eingehen, muss ich tatsächlich eine Sache ändern, die wir ihnen geschrieben haben, um in den Kurs zu kommen. Wenn Sie Ihr Bewegungsskript öffnen, erinnern Sie sich daran, dass wir Tastaturen verwendet haben. Und der Grund, warum wir Tastenkombinationen für unsere Bewegung oder Tastaturtasten verwendeten, war dass wir und alle Computer testen wollten. Jetzt werden wir das ändern, weil wir es bauen wollen. Löschen Sie dies und geben Sie Input Dot Touch Count größer als 0 ein. Und das wird jeden einzelnen Frame überprüfen , den Sie gedrückt gehalten haben. Wenn ich erde, wenn du Sprünge hast, kannst du den Job halten und fortsetzen, was wirklich cool ist. Jetzt werden wir das offensichtlich nicht testen können, weil wir nicht springen können. Wir können unseren Monitor nicht berühren , weil wir an einem Computer sind. Und offensichtlich arbeiten unsere UI-Elemente tatsächlich automatisch mit Unity. Dann gehe hier nach oben, klicke auf Build-Einstellungen und vergewissere dich, dass deine Plattform korrekt ist. Ich baue für APKs. überprüfe ich nicht. Und es gibt ein paar Einstellungen hier drüben. Du kannst alle möglichen Dinge einstellen. Sie können Ihre Auflösung so einstellen, wie Sie Landschaft, rechts oder links, alle möglichen Dinge haben möchten. verlasse ich jetzt. Ich werde tatsächlich sicherstellen, dass ich nur im Querformat gehen kann , weil ich nicht möchte, dass das Spiel im Portrait ist. Das Splash-Bild, das Sie hinzufügen können, wenn Sie möchten. Das ist genau wie ein Bild am Anfang. Andere Einstellungen, die ich jetzt hinterlassen werde , gibt es ein paar Veröffentlichungseinstellungen, wir aber tatsächlich verlassen können. Wir müssen nur hierher gehen, wir müssen auf Build klicken und wir müssen fortfahren. Hier wird mein Projekt auf meinem Computer gespeichert. Ich werde weitermachen und sparen und es wird aufhören zu bauen. Das ist ein ziemlich langwieriger Prozess. Also gib es eine Minute. Sobald es mit dem Aufbau fertig ist, wird dein Spiel exportiert. Wenn Sie beim Versuch, Ihr Spiel zu erstellen, auf Fehler gestoßen sind, hat Unity manchmal Fehler, die möglicherweise nicht Ihre Schuld sind, vielleicht mit dem von Ihnen installierten Modul oder ähnlichem sind, hat Unity manchmal Fehler, die möglicherweise nicht Ihre Schuld sind, vielleicht mit dem von Ihnen installierten Modul , tippe sie einfach direkt in Google ein. Und ich verspreche Ihnen, dass es höchstwahrscheinlich jemanden geben wird , der genau das gleiche Problem hatte, das Sie haben, und es behoben hat, es sei denn unzählige Male und die meiste Zeit hat es funktioniert. Probieren Sie das einfach aus , um alle Probleme zu beheben , auf die ich nicht gestoßen bin. Sobald das fertig ist, Sie bereit, Ihr Handyspiel zu testen. Ich beide Androids, ich teste auf dem Android-Emulator ohne Spieler. Sie können natürlich ein Android - oder iOS-Telefon verwenden , wenn Sie dies nicht getan haben, und wenn Sie für IRS stimmen, können Sie eine Mac-Erweiterung auf ein MacBook herunterladen , um mobile Spiele von dort aus zu installieren und zu testen. Jetzt, bevor wir testen, müssen Sie ein paar Dinge beachten. Zuallererst müssen Sie, je nachdem, welche Plattform Sie verwenden, wenn Sie Ihr Spiel so testen möchten, wie ich es bin, sicherstellen, dass Sie Ihre Spiel-ID auf dieselbe gesetzt haben , die Sie erhalten, als die ich bin um dir zu zeigen, wie es jetzt geht, alle Anzeigen funktionierten nicht. Wenn Sie also Ihr Spiel vor dem Gewinn abgelegt haben, gehen Sie vorzugsweise hier zu Diensten, klicken Sie auf Anzeigen und stellen Sie sicher, dass Sie die Plattform festgelegt haben, entweder Android oder iOS, diese ID, Stellen Sie sicher, dass Sie es hier auf die Saitenspiel-ID im Add Magic gesetzt haben , öffnen Sie den Anzeigenmanager und stellen Sie sicher, dass Sie es so einstellen , dass Ihre Zeichenfolge diese Zahlenfolge ist. Sobald Sie das getan haben, sollte die Anzeige in Ihrem Spiel einwandfrei funktionieren. Das zweite, was Sie bei Auflösungen beachten sollten, jetzt funktionieren Sie möglicherweise perfekt für Ihr Gerät, aber es gibt möglicherweise ein paar Dinge , die etwas außerhalb Ihrer Auflösung liegen. Wenn dies der Fall ist, ändern Sie einfach Ihre Bildschirmauflösung im Unity Editor und bewegen Sie einige Dinge. Als ich diesen Spielgegenstand getestet bewegt ich einige Dinge nach rechts, aber insgesamt hat alles perfekt funktioniert und meine Auflösung war ziemlich gut. Geh weiter und ziehe das in den NOX-Spieler. Du siehst, dass es mein Spiel für mich installieren wird. Lerne auf. Und es heißt Install Complete. Ich kann dann mein Spiel aufladen. Bände waren hier etwas. Wir können sehen, dass es gut funktioniert, das ist großartig. Wenn ich weiter gehe und Play drücke, kann ich genauso springen wie ich es war. Und ich kann mich niederhalten, reingesprungen und ich springe weiter, was wirklich, wirklich cool ist , sterben. Hat diese Tiefe, mit der ich angefangen habe. Ich kann die Musik zählen, wenn ich den Ton ausschalten und weitermachen wollte . Ich spreche immer und mache weiter. Und wenn ich dreimal sterbe, zeige ich in einer Sekunde, ich werde einen Einheitstest Act sehen , der wirklich, wirklich cool ist. Ich kann weitermachen und das überspringen, sobald das erledigt ist, und wir können sehen, dass ich wieder bei meinem Spiel bin, was wirklich, wirklich cool ist. Das bringt uns zum Ende dieses Kurses. Du hast dein allererstes Handyspiel mit Unity und C-Sharp erstellt . Du hast tolle Arbeit geleistet und dir einen Schlag auf den Rücken gegeben und es bis zum Ende des Kurses geschafft, du hast unschätzbare Fähigkeiten der Einheit und C-Sharp gelernt und hoffentlich hast du es erworben genug Wissen, um jetzt Ihre eigenen Handyspiele zu erstellen Ihre eigenen Handyspiele oder sogar das, was wir gemacht haben, zu verbessern. Ich bin für einen bekannt. Wir können es an einem Icon verwenden, damit Sie einfach in Ihre Spieleinstellungen gehen können, Dateierstellungseinstellungen, zu den Spielereinstellungen gehen. Und hier drüben kannst du ein neues Icon auswählen , das du nicht warst. Offensichtlich gibt es verschiedene, adaptive Legacy-Round-Symbole, Sie dort auswählen können. Aber offensichtlich sieht der Unity-Editor jetzt hoffentlich viel vertrauter aus. Und die Welt der Spieleentwicklung ist jetzt Ihre Auster, insbesondere die Entwicklung von mobilen Spielen. Toller Job für alle. Ich möchte mich sehr bei Ihnen bedanken, dass Sie meinen Kurs absolviert haben. Es war mir eine Freude, Ihnen die Entwicklung von mobilen Spielen beizubringen. Und hoffentlich hattest du viel Spaß und hast viel gelernt. Sie haben natürlich die Erlaubnis, eine der Ressourcen in diesem Kurs und alles, was wir entwickelt haben, zu nutzen , um in Ihr eigenes mobiles Spiel zu verwandeln. Wenn Sie dies verbessern und als eigenes Handyspiel veröffentlicht werden möchten , können Sie genau das tun. So toller Job für alle. Es war eine erstaunliche Erfahrung und ich hoffe, es war auch für dich. Nochmals vielen Dank für die Anmeldung.