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.