Transkripte
1. Einführung: Das Erstellen eines Weltraum-Shooters ist eine klassische Methode, um in die
Erstellung von Videospielen
eingeführt zu werden. In diesem Kurs
werden wir uns einige
verschiedene Mechaniken ansehen,
einschließlich eines scrollenden
Hintergrunds. Klassiker für Spiele wie dieses, mit verschiedenen Tonabnehmern,
die wir aktivieren können, werden
wir unsere
eigenen kleinen Explosionen
mit dem Partikelsystem erstellen . Wir werden
ein Multi-Shot-System entwickeln, um mitzumachen und zu
lernen, wie man heute einen
Weltraum-Shooter macht.
2. Wo kann ich Godot herunterladen: In Ordnung, willkommen alle.
Und wenn du noch nicht die Engine
verfügst, um unser Spiel heute hier zu
erstellen, über
die Engine
verfügst, um unser Spiel heute hier zu
erstellen, kannst du auf
Godot Engine.org gehen und direkt
von der Website abholen,
indem du den
Download-Tab hier auf der oben. Sie benötigen nur die
Standardversion , um diesen Kurs zu befolgen. Die Mono-Version
unterstützt C-Sharp. Wir werden jedoch kein
C-Sharp verwenden, obwohl Sie es abholen können. Sie müssen es nicht benutzen. Würde die
Standardversion nicht verwenden, ganz gut. Diese Engine ist unter
Linux, Mac und Windows sowie direkt im
Webbrowser
verfügbar. Wenn du es weißt, wie hast du geknallt? Wir können sehen, wir können hier einfach ein bisschen
nach unten scrollen und Sie haben dort Ihre
Anweisungen. Beim Aufheben des. Sie können dies auch direkt
aus dem GitHub-Repository erstellen . Und wie Sie dort sehen können, gibt es auch eine Seite, auf der
Sie es abrufen können, sowie die Steam-Seite
, auf der Sie es abrufen können. Wo auch immer Sie sich entscheiden,
es zu kaufen, liegt ganz bei Ihnen. So oder so. Stellen Sie einfach
sicher, dass Sie es abholen. Und wir sehen uns in der nächsten , wo wir anfangen können.
3. Projekt-Setup: In Ordnung, sobald Sie den Motor zum
ersten Mal
geöffnet haben , werden
Sie auf diesen Bildschirm stoßen. Natürlich werden Sie in
lokalen Projekten nichts
haben, es sei denn, Sie haben hier
schon einmal Dinge
getan. Aber wir werden hier auf die Schaltfläche Neues Projekt klicken. Sie können Ihrem Projekt
einen Namen
geben und überall stöbern, wo immer
Sie es möchten. Und wenn Sie das tun, können
Sie einfach auf die Schaltfläche Ordner
erstellen klicken. Und ein neues Verzeichnis
wird erstellt. Zum Beispiel mein Demo-Spiel. Wenn ich auf Ordner erstellen klicke, wird
es gehandelt. Sie können entweder GL ES 3 oder 2 verwenden. Es sollte
in diesem speziellen Projekt keinen Unterschied machen . Und wenn Sie sich
das in Zukunft ansehen, müssen
Sie hier
vulkanische Optionen wählen. Nichts von dem, was sie
wirklich machen wird , macht einen Unterschied darin
, welches wir hier auswählen. Aus diesem Grund belasse ich es einfach auf OpenGL-Drei-Punkt. Oh, ich verstehe. Kein Grund, das zu ändern. Und ich werde einfach schon auf „Abbrechen“
klicken. Lass hier ein leeres erstellen. Damit wir das öffnen können. Okay, jetzt, wo wir ein Projekt geöffnet
haben, wir
jetzt, wo
wir
unser Projekt geöffnet haben können wir
jetzt, wo
wir
unser Projekt geöffnet haben, weitermachen und wir
können hier oben zur
Projekt-Registerkarte gehen und unser Projekt einrichten. Was wir also
tun werden, ist, dass wir
weitermachen und innerhalb der Config, innerhalb der Anwendung, wählen
wir die Verwendung von Custom Dare aus. Und auf diese Weise können
wir unsere
Logs einen Ordner mit unserem Spielnamen verschieben
, der etwas
professioneller aussieht. Wenn ein Benutzer aus irgendeinem Grund auf
die Protokolle zugreifen muss Sie
ihm einen benutzerdefinierten Namen geben möchten, können
Sie dies hier tun. Ich werde mir nicht die Mühe machen. Ich kann
es einfach als meinen Projektnamen belassen. Wenn wir jetzt nach unten scrollen, können
wir nach
dem Abschnitt
Display suchen und in das Fenster gehen. Für diesen Hintergrund
, den ich hier habe
, werden wir ihn
als T2 und T4 um 400 verwenden. Darauf werde
ich unser Fenster stellen. Jetzt passen wir die
tatsächliche Größe später an. Aber im Moment
setzen wir unser Fenster
ein, 224 mal 400. Wir stellen es ein, stellen sicher, dass
es auf unserem Handgerät ist, oder stellen es auf Hochformat und
Infrastruktur ein. Wir können es auf 2D setzen und
den Aspekt, der beibehalten werden soll. Und jetzt
ist unser Projekt startklar und wir können zum nächsten Video springen und anfangen,
die Dinge
tatsächlich zu erledigen.
4. Scrolling: Okay, als
Erstes richten wir richten unseren Scroll-Hintergrund
für unseren Weltraum-Shooter ein. Da unser Spieler
keine tatsächliche Bewegung ausführen wird , so weit
wie das Herumlaufen, wie Sie es in
einem Plattformer sehen würden. Bei einem Weltraum-Shooter bewegt sich
der Hintergrund tatsächlich und der Spieler bleibt stationär und bewegt sich
auf dem sichtbaren Bildschirm. Dazu nimmst
du
die Texturen, die ich in diesem Kurs
aufgenommen habe. Und Sie können sie in Ihr Projekt einbeziehen. Zur Zeit habe ich hier nur
einen Sprites-Ordner. Und ich habe meinen
Hintergrund, Brendan. Und ich habe hier einen Ordner namens
scenes, in dem ich all meine individuellen
Szenen, die wir hier erstellen,
aufbewahren werde. Die erste, die wir
erstellen werden, wird World heißen. Das würde die 2D-Szene
hier am oberen oder Wurzelknoten treffen . Und ich werde weitermachen
und meine Welt umbenennen. Und dann kannst du zur
Szene gehen oder hier oben und speichern. Oder Sie drücken
Control C oder sorry, Control S oder Control Shift
S, um Ihre Szene zu speichern .
Ich werde diese schließen weil ich hier
eine leere erstellt habe. Und los geht's. Du solltest
es so aussehen lassen. So sollte unser
Projekt aussehen. Und Sie können diesen
schwachen blauen Umriss hier sehen. Das ist im Grunde unser Canvas. Das wird in unserem Fenster gerendert. Also ist alles innerhalb
dieses blauen Rechtecks
sichtbar. Alles außerhalb davon wird es nicht tun. Also werde ich weitermachen und mein Hintergrund-Punkt-PNG einbringen
. Jetzt können wir es einfach
hineinziehen und wir können es einfach so
einwerfen. In unserem Fall ist
es völlig in Ordnung, dass
wir es einfach hineinziehen, da es als Sprite funktionieren wird. In einigen Fällen
möchten Sie vielleicht den Plus-Button hier
oben drücken und alles hinzufügen ,
wonach Sie suchen möchten. In diesem Fall war es ein Kratzen. Und dann können Sie
das Bild einfach direkt in den
Texturschlitz hier rechts ziehen . Jetzt werde ich
sicherstellen, dass es sich hier um Setup-Eigenschaften
handelt . Ich schiebe meins
nach links, eins nach unten. Auf diese Weise
füllt es meinen gesamten Bildschirm aus. Und jetzt, wenn ich diesen
Play-Button hier oben drücke, die Play-Szene-Taste auf ist
die Play-Szene-Taste auf der
Windows-Verknüpfung
F. Wie Sie sehen können, werde
ich das drücken
und ich sollte jetzt
mein eigenes kleines Fenster haben mein eigenes kleines Fenster und das sehen Hintergrund
nahm die ganze Sache auf. Nun habe ich gesagt, dass wir diese Fenstergröße
später
anpassen werden , da
dies
je nach Monitor wiederum je nach Monitor riesig oder extrem klein aussehen
kann. Wir gehen, ich habe mein Fenster hier
oben auf dem Bildschirm gebracht. Also was du
hier drüben in unserer kleinen roten Box siehst, tut mir leid, es ist keine
kleine rote Kastenansicht. Was sie hier ist, das ist jetzt genau das, was wir in unseren Spielen
sehen. Das geht auf die
rechte Seite. Wie Sie sehen, kann
dies
je nach Auflösung Ihres
Monitors sehr klein oder extrem groß sein oder extrem groß sein. Das werde ich nicht wissen. Aber wenn wir
unsere Fenstergröße ändern, können
Sie
die Werte dort anpassen. Aber im Moment können wir sehen, dass es unser ganzes Fenster
bedeckt. Und es sieht gut aus. Es bewegt sich einfach nicht. Was wir also tun werden,
ist, dass wir unsere Bewegung dafür
schaffen müssen . Und alles was es tun wird
ist einfach runter zu gehen. Also werden wir ein Skript
erstellen. Jetzt können Sie
hier mit
der rechten Maustaste auf unseren Hintergrund klicken und auswählen,
wo unsere Aufgabe genau
dort ist, angehängtes Skript. Oder wenn es ausgewählt ist, können
Sie einfach den angehängten Script-Button
hier oben drücken
, so wie
ich es normalerweise mache. In jedem Fall werden Sie hier mit diesem Menü
erzogen. Wir werden die
GD-Skriptsprache verwenden. Wie Sie standardmäßig sehen, haben wir Visual Script, Kiddies
Script und Native. Und wenn Sie das Mono versus haben, hätten
Sie auch eine
C-Sharp-Option. Aber für diesen Kurs verwenden
wir wieder nur
GD-Skript, das ausgewählt wurde.
Es erbt von einem Sprite, weil das der Typ
ist unser Hintergrund
ist, die Vorlage. Wir können es einfach auf Standard belassen. Wir benötigen kein
eingebautes Skript. Und unseren Weg in unsere
Szenen wollen wir nicht. Wir wollen die
Dinge organisieren. Wir werden also einen
neuen Ordner namens scripts erstellen. Und hier kleben wir
unser
Hintergrundskript fest und klicken auf Erstellen. In Ordnung, wir haben
unsere Variablen hier. Und wir
erstellen eine für die Bildlaufgeschwindigkeit. Jetzt verwenden wir Doppelpunkt gleich und können das auf eine Zahl setzen. Ich setze das jetzt auf zehn und wir werden sehen,
wie gut das funktioniert. Wir werden die
Ready-Funktion
, die wir hier sehen, nicht benötigen . Und wenn Sie sehen, wie
die Notiz hier
aussieht, wird diese aufgerufen, sobald die Note zum ersten Mal in die
Szene kommt. Das wollen wir nicht tun. Das wird etwas bewirken.
Nur ein einmaliges Mal. Wir werden tatsächlich die Prozessfunktion
verwenden. Das kann also
kontinuierlich passieren , wenn beide
Zeilen hier ausgewählt sind. Ich drücke einfach Control
K, um diese auszukommentieren. Und wir können die
pass-Funktion hier entfernen. Und wir können uns
selbst Punktposition nennen. Ich hab's. Weil du das Auf und Ab
sein wirst. Und darauf können wir setzen. Jetzt bin ich immer
verwirrt darüber, ob es
positiv ist, ob es hoch oder runter oder
minus hoch und runter ist, oder? Mal sehen, lass uns
plus gleich machen und wir werden
sehen, wie das funktioniert. Ich setze das plus
entspricht unserer Bildlaufgeschwindigkeit. In Ordnung, wir
testen unsere Szene. Und das geht runter für, das geht super schnell. Das erste, was ich
tun werde, ist Multiplizieren oder Scrollen Geschwindigkeit hier mal Delta. Und dies wird dazu beitragen, dass unser Spiel
auch Frame-unabhängig ist. Unabhängig davon, wie viele
Frames unser Spieler hat, welche sollten wir finden wenn es sich um ein wirklich
altmodisches Spiel handelt? Und die Grafik ist hier nicht
allzu anspruchsvoll. Aber so oder so machen wir das, sollte
dazu führen, dass es
in einer schönen, glatten Menge scrollt. Ungeachtet. Wenn wir
einen Blick darauf werfen, kann sich dies, wie wir sehen, auch viel
langsamer bewegen, weshalb ich
diese Option anpassen werde , bevor ich meinen Bildschirm
berühre. Wie schnell du willst, dass
es sich bewegt, liegt ganz bei dir. Es liegt ganz bei
dir und deinen Vorlieben. Ich glaube, ich möchte
meine etwas langsamer machen. Versuchen wir es mit neun oder
etwas extremer. Versuchen wir es zu
schneiden und halbieren. Wir sehen mich hier um fünf. Okay, ich glaube, ich
glaube ich mag fünf. Also denke ich, dass
ich das mitmachen werde. Und jetzt brauchen
wir unser Image. Du respektierst tatsächlich. Siehst du, wenn es ganz
runter geht, ist es weg. Was wir also
tun müssen, ist, dass wir, nachdem wir unsere
Position festgelegt haben, tun können. Und wenn Sie hier nachsehen, könnten
wir überprüfen, ob self
dot session dot y. Wir könnten überprüfen, ob es
größer als eine festgelegte Zahl ist. In diesem Fall wäre die
Zahl 400. Sag größer
oder gleich 400. Wenn wir dies hier jedoch zur Kenntnis nehmen, schließen die
Notizen dies,
um den Fehler zu beheben. Wenn wir dies zur Kenntnis nehmen, haben wir festgestellt, dass sich
unsere Position tatsächlich in
der Mitte unseres Bildes befindet. Wenn das also 400 überschritten
wird
, werden wir
immer noch ein Halbteilbild sehen. Wir müssen also die Hälfte davon
in oder die Hälfte unseres
Bildes hinzufügen . In diesem Fall werden es
also 600 sein. Und alles, was wir tun werden,
ist
die Position von y wieder auf die aktuelle Position
zu setzen , dass Sie auf den
Hintergrund klicken
können und das direkt
im Inspektor sehen können. Aber da ich weiß, dass das
in der Mitte , sollten das 200 sein. Und wenn ich reinkomme und einen
Blick auf transform werfe, liegt
mein y definitiv bei 200. Um zu überprüfen
, ob das funktioniert, ändere
ich
meine Süße auf 15. Wenn wir einen Blick darauf werfen, scrollt ein bisschen zu langsam
nach unten, verdoppeln
wir das
auf 30 zum Testen. Und wir können sehen, dass es sich nach unten bewegt und sobald es den
vollständigen unteren Bildschirmrand erreicht
hat, sollte es
wieder oben sein. Und
scrolle einfach weiter nach unten. Los geht's. Los geht's. Das Problem, das wir hier
haben, ist offensichtlich, dass wir das Bild
sehen können oder das Fehlen
eines Bildes dahinter. Und wir konnten offensichtlich
sehen, dass dieses Bild endet. Das ist also mit
Sicherheit ein Problem. Wir müssen also
einige dieser Optionen optimieren. Und was wir tun werden ist, dass
wir das auf setzen, wir werden
eine neue Variable namens Lass uns das auf reset setzen. Wie haben wir es genannt? Zurücksetzen? Nennen wir es Reset Scroll. Ich sage minus ist
gleich, setze es auf 0. Beachten Sie jetzt, dass ich hier
export var verwende. Und wenn Sie
dies in Zukunft beobachten, verwenden Sie
möglicherweise Version 4.01
der Änderungen, die Sie hier vornehmen
müssen,
dies tatsächlich vor dem Export an Zeichen setzen . Aber wenn Sie Version drei verwenden, werden
Sie das nicht brauchen. Was ist das? Was das tun wird, ist ein
nasser Hintergrund ausgewählt. Sie können auf
der rechten Seite sehen, wir können die
Nummer davon ändern. Nun zu unseren Einzelheiten. Wir brauchen 600 für
diesen speziellen. Also können wir dies setzen, unsere Position y wenn sie
größer oder gleich ist. Scroll zurücksetzen. Auf diese Weise können
wir seit seiner
x-Koordinate dasselbe Skript für
ein anderes verwenden , das
völlig unterschiedliche Zahlen haben kann. So können wir eine andere für die
Exportleiste machen, starten Sie den Bildlauf. Und damit können wir
die Startposition festlegen, die für uns hier 200 ist. Und füllen Sie dies aus und
ersetzen Sie es in unseren Code. In Ordnung, los geht's. Wenn ja, haben Sie einen Fehler, der über einen Knoten
auftaucht? Gehen wir weiter und drücken die
Stopptaste oben und öffnen sie wieder,
oder spielen die Szene erneut ab. Und du solltest sehen, dass
es
immer noch einwandfrei funktioniert . Welches ist großartig. Denn jetzt können wir hier
ganz andere Zahlen
mit einer zweiten hinzufügen . Also werde ich weitermachen und
meinen Hintergrund auswählen und Strg D drücken, um ihn zu duplizieren. Und ich schiebe meinen zweiten
ganz nach oben. Ich sorge nur dafür, dass das
perfekt eingestellt ist , damit wir
nichts dazwischen sehen. Und jetzt können wir einfach unsere Zahlen hier optimieren
. Unsere Startposition
sollte also minus 200 sein. Und unsere Reset-Scroll, wir sollten dort ein Minus haben. Wäre das möglicherweise positive
200. Aber wenn wir das jetzt ausführen, sollten
wir sehen, dass es
wie ein zusammenhängendes Bild aussieht. Und wenn es zurückgesetzt wird
, werden
wir es nicht einmal bemerken, weil alles perfekt
ausgerichtet sein wird. Es wird also immer
wie eine konstante Schriftrolle aussehen. Da haben wir's. Wir haben jetzt unseren
Scroll-Hintergrund. Nochmals, geh einfach da rein und schwächere Geschwindigkeit, was auch immer
du möchtest. Und wenn Sie
sich fragen, warum wir unsere Geschwindigkeit
nicht exportieren, einfach weil wir
den Geschwindigkeitswert für unsere beiden
Hintergründe nicht ändern müssen . Wir können das einfach
als dieselbe Nummer belassen. Also können wir hier runter kommen und es jetzt auf fünf ändern. Oder wenn Sie und
oder 20 verwenden möchten, was auch immer Sie für Ihr Spiel verwenden
möchten. Du siehst mich reinkommen und
alles funktioniert einwandfrei. Wir haben jetzt einen scrollenden
Hintergrund für unseren Weltraum-Shooter.
5. Window: Ordnung, in diesem Video sollte
es nur einen Knochen brauchen , der ziemlich kurz sein muss. Wir werden jetzt nur
unsere Fenstergröße anpassen , damit wir das
jetzt aus dem Weg
räumen können , anstatt später zurückzukommen
und es zu besprechen. Was wir also tun werden,
ist,
das in ein globales Skript zu integrieren. Dies kann nun auch als Auto
Load oder Singleton
bezeichnet werden . Alles hängt von der
Umgebung ab,
in der Sie sich befinden, und von wem
Sie sprechen. Aber sie werden im Allgemeinen alle
als dasselbe angesehen. Wir sind einfach, es kommt
wirklich darauf an, wie der Singleton in einem Designmuster sein
wird. Ein globales ist etwas
, auf das viel Bezug genommen wird. Und hier werden sie Autokredite
genannt. Aber was ich tun werde
ist, dass ich hier in mein Biosystem
herunterkomme . Wählen Sie Scripts aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie Und da es sich um
ein globales Drehbuch handelt, nenne
ich meins einfach global. Klicken Sie auf Erstellen. Ich komme hier hoch zu
den Projekt- und
Projekteinstellungen. Gehen Sie in die Registerkarte Auto Load,
wecken Sie den Dateipfad auf oder öffnen Sie ihn. Wählen wir unser globales Skript aus. Klicken Sie auf die Schaltfläche Hinzufügen, und jetzt können Sie das
Skript sehen, das geladen wird. Es ist aktiviert,
was bedeutet, dass es aktiv ist. Und den Namen, den wir hier sehen, können
Sie hier reinkommen und ihn ändern, wenn Sie möchten. Ich werde mein Wort
global
als uneinig belassen und dieses Wort, dieser Name ist, wie wir später
auf dieses Skript zugreifen werden. Wenn wir jemals auf
irgendetwas in diesem Bereich zugreifen mussten, ob es sich um Variablen
handelt, sind andere Funktionen. Was wir also tun werden, ist dass
wir hier einfach
die Ready-Funktion verwenden. Und wir können weitermachen und den
OS-Punktfenster-Bildschirm auf eine Fenstergröße einstellen . Unsere Fenstergröße
entspricht unserer OS-Punktfenstergröße. Und wir können das auf
unseren Multiplikator setzen. Wenn Sie möchten, können Sie hier
hochkommen und
eine Variable für den Größenmultiplikator erstellen . Und der Grund, warum wir
das mit einem Doppelpunkt setzen , ist gleich. Wenn Sie sich fragen,
anstatt nur ein Gleichheitszeichen zu verwenden, wie Sie hier sehen,
was auch gültig ist. Aber wenn Sie hier nur das Gleiche verwenden, wird
es auf zwei gesetzt. Wenn wir jedoch mit
dem Doppelpunkt hier gleich sind, wird es auch auf die
enge Zahl gesetzt , dass zwei eine Ganzzahl ist. Es wäre also dasselbe, als
ob wir so vorgehen würden. Nur dort würden sie
das tun , indem sie eine
Lektion mit einem int schreiben, es ist nicht schlimm, aber manchmal hat man vielleicht etwas wirklich langes
wie ein Wörterbuch. Und das
verkürzt das Ganze wirklich, verkürzt die ganze Sache, um nur zwei
Charaktere hier anzufangen. Wir setzen es auf zwei und deklarieren den
Typ als was auch immer two ist. Wenn wir das ausführen, sehen
wir jetzt, dass sich
unser Fenster öffnet. Und jetzt muss ich die
Größe hier ändern. Aber ich sehe jetzt, dass es sich öffnet. Unser Fenster ist doppelt so groß, erkennen ist, was je nach
Bildschirm viel einfacher zu was los ist und für Sie
viel besser spielbar ist. Aber jetzt kannst du reinkommen
und er ändert einfach die Größe des Multiplikators,
was auch immer du willst. Also, wenn du es
kleiner machen willst, du Doug 0.75. Wenn du willst, wenn
du auf dem Bildschirm bist, ist
es vielleicht 720 P Bildschirm. Oder wenn Sie sich auf einem
Fourier-Bildschirm befinden, können
Sie diesen Multiplikator
auf einen vielleicht vierfachen
Multiplikator erhöhen , um
etwas viel Größeres zu erhalten. Und wir behalten auch diese, die Auflösung bei und sehen
genau, was hier drin ist und bewegen uns nicht über unseren
Tellerrand hinaus. Denken Sie daran, dass
wir aufgrund unserer Einstellung hier den Modus „
Dehnen“ auf 2D setzen und unseren Aspekt
so
einstellen, dass er beibehalten wird. In Ordnung. Jetzt, wo wir das immer am
Laufen haben, unsere Fenster geschlossen und wir gehen zu einigen
interessanteren Dingen über.
6. Player: Okay, lass uns loslegen und
das Setup unseres Spielers übernehmen. Das erste, was
wir tun müssen, ist eine brandneue Szene zu
erstellen. Sie können das also tun,
indem Sie hier oben auf den Plus-Button klicken. Und anstatt
einen normalen Knoten für D zu erstellen , wie
wir es für die Welt getan haben, ,
da dies ein Spieler sein wird
, wollen
wir,
da dies ein Spieler sein wird
, ein
kinematischer Körper 2D sein, damit wir den
anderen Knoten hier treffen können. Und wir könnten einfach
Kinematik eingeben und sie dort teilen. Kinematischer Körper TD. Fahren Sie fort und wählen Sie das aus. Und ich ging weiter und benannte
meinen Player um und speicherte ihn. Sobald Sie das getan haben, sollte es wie folgt
aussehen. Höre das Wort Mutter's
gelbes Dreieck. Wir werden
das in einem Moment lösen. Sagen wir uns einfach
, dass wir keine haben, wir haben unseren
Kollisionsbereich noch nicht eingerichtet. Da ein Spieler also nicht weiß,
wie man Physik anwendet. Das erste, was ich
möchte, dass Sie tun, ist, wenn unser Player verschwommen ist und die Vorräte auch wieder
Ihrem Hintergrund entsprechen. Also bringe ich es her. Sie können sehen, dass
meins nicht verschwommen ist. Ich habe meine Filter
ausgeschaltet, aber wenn
ja, können Sie sie hier
unten im Dateisystem auswählen . Gehen Sie hier hoch zur
Registerkarte Import oben links. Und Sie werden den Filter hier bemerken, überprüfen und
einschalten, ihn ausschalten und importieren. Andernfalls blutet es, wenn
es eingeschaltet ist , so verschwommen. Was für einige Spiele in Ordnung sein
könnte. Aber für Pixelkunst ist
das schrecklich. Und Sie werden den Unterschied
hier wieder sehen, wenn ich
es ausschalte und erneut auf die Schaltfläche zum
erneuten Importieren klicke. Es macht einen großen
Unterschied in der Pixelkunst. Stellen Sie also sicher
, dass Sie diese oder
jede Textur, die wir in diesem Projekt
verwenden, deaktiviert haben. Also werde ich das einfach hier
rauslöschen, da wir das nicht
wirklich so verwenden werden. Und das war's. Ich möchte mir keine Sorgen machen müssen, es an der richtigen Stelle zu
platzieren. Was ich jetzt tun werde,
ist meinen Spieler auszuwählen. Ich drücke diesen
Plus-Knopf und hole das Sprite. Und jetzt wird es
genau hier in der Mitte verschlossen sein , wo es sein sollte. Ich schnappe mir
mein Sprite-Sheet und ziehe es direkt in den
Texturschlitz meines Bildschirms. Jetzt gibt es viele Möglichkeiten,
eine Animation zu erstellen. Und in diesem Fall habe ich für jede Zeile eine Trennung. Wir können also in der
ersten Zeile sehen, dass wir unsere Leerlauf-Animation haben in der wir einfach
so sind, als würden wir gerade fliegen. Und dann unsere nächsten
beiden Linien dort, nächsten beiden Reihen bogen nach
links und rechts ab. Damit
wir das in
einem normalen Sprite
für eine Tabelle verwenden können. Wir werden hier auf diesen
Animations-Tab gehen. Und wir werden acht Frames
setzen, was horizontal auf zwei ist weil wir zwei Spalten haben. Und dann haben
wir vertikale Rahmen drei Reihen. Also habe ich die drei gesagt. Und jetzt haben wir unseren ersten und Sie können
hier mit
dem Gehirnknopf zwischen ihnen
wechseln , wie Sie sehen. Und so werden
wir im Grunde genommen mit der
Erstellung einer
Animationsebene arbeiten . Später. Im Moment haben wir noch
unser gelbes Dreieck hier. Also lasst uns weitermachen und erneut unseren Spieler
auswählen. Das Plus, bring ein
Kollisionspolygon, sorry, ich Kollisionsform. Eine Grundform
reicht uns hier gut. Und wir können einfach ein Rechteck benutzen. Sie können
dies so anpassen , wie Sie
möchten, an Ihren Spieler. Ich werde weitermachen
und
meine Notizen einfach ein bisschen erweitern . Und ich lasse das Trinkgeld
von der Spitze ganz gut. Ordnung. Das Letzte, was
wir hier verwenden werden, ist, wo wir es brauchen, wir werden es brauchen.
Also lass uns weitermachen. Wir werden unserem Player hier noch etwas
hinzufügen. Und das wird der
Animationsplayer sein. Was wird,
wo wir am Ende Animationen erstellen und sie in bestimmten Fällen abspielen , in
denen wir sie benötigen. In Ordnung, das reicht also für die Spielererstellung und
das Setup des Spielers hier. Als nächstes werden wir loslegen
und die
Bewegungen einrichten.
7. Spielerbewegung: Ordnung, lassen Sie uns
weitermachen und unseren Spieler dazu
bringen, sich zu bewegen. Denn wenn wir diese Szene
hier spielen würden , ist es ziemlich langweilig. Du sitzt einfach da oben. Und wenn wir in
unsere Weltszene gehen und hier auf dieses
Kettensymbol treffen, sehen
wir, dass wir Zugang zu
unseren anderen Szenen haben und wir werden unsere Spielerszene
schnappen. Wir gehen einfach weiter und gehen in die Position, in der Sie Ihren Spieler haben
möchten. Ich werde
meins genau dort hinstellen. Und noch einmal, wenn wir
es öffnen und einen Blick darauf werfen, wenn Sie sehen, ist es
nicht sehr aufregend. Es bewegt sich, aber unser Spieler, es sitzt
einfach als stationäres Bild da. Also können wir weitermachen und das in Ordnung bringen und
das in Gang bringen. Wir werden in unseren Spieler gehen. In unserer Spielerszene.
Wir klicken auf die Schaltfläche
„Script hinzufügen“
und fügen ein Player-Skript hinzu. Denken Sie jetzt daran, dies in
Ihren Scripts-Ordner
zu legen , um die Dinge sauber
und übersichtlich zu halten . Und mach weiter und erstelle es.
Und das haben wir. Also brauchen wir hier ein
paar Variablen. Eines davon Es
wird unsere Geschwindigkeit sein, und das ist die wichtigste. Wir werden Var-Geschwindigkeit
brauchen. Und wir können dies auf Doppelpunkt setzen, der einem Vektor
entspricht, kauen. Und Sie können entweder
die Klammern öffnen und 0 Komma 0
setzen. Oder Sie könnten Vektor zwei
Punkte machen und dann
ist das Wort 0 in Großbuchstaben. Beides ist genau
dasselbe und führt zum gleichen Ergebnis. Die Lesefunktion hier werden
wir nicht brauchen. Und lasst uns weitermachen und
eine weitere Variable für unsere Geschwindigkeit erstellen . Und ich mache
weiter und setze meinen auf 100,
und wir werden sehen, wie das aussieht. Als Nächstes. Wir haben unsere
Prozessfunktion. Wir können das
wieder auskommentieren, indem wir einfach Control K auswählen
und verwenden . Und innerhalb von hier werden wir unsere Funktionen hier
haben. Und die erste, die wir
brauchen, ist eine bewegliche Folie,
eine bewegliche Unterstreichung und eine
Unterstreichungsfolie. Und wir müssen
mindestens ein Argument einbringen,
damit das funktioniert. Und dieses Argument
wird einfach unsere Geschwindigkeit sein. Jetzt mit dem und dem Problem werden
wir einen Fehler sehen. Wenn wir das jetzt starten
und Sie hier unten einen
RT-Bugger sehen. Wir haben zwei Probleme, die auftauchen. Wenn wir
nun diese Probleme anklicken und in
die Registerkarte Fehler gehen, können
wir sehen, dass Delta im Funktionsprozess noch nie
verwendet wurde. Wir können also einfach einen Unterstrich an
den Beginn von Delta
setzen. Und das wird den
Teilnehmer auffordern, dies zu ignorieren. Ignoriere die Tatsache, dass
wir das nicht benutzen. Und unsere zweite besagt
, dass ein Wert zurückgegeben
wird, der niemals verwendet wird und wir ihn
niemals verwenden müssen. Was wir hier also tun können ist, dass wir tatsächlich
einen Kommentar abgeben können. Und dieser Kommentar ist
nur zum Überklicken da. Sexspot, den wir brauchen, ist zusätzlich. Also werden wir einen
Kommentar verwenden, den ich Warnung,
Bindestrich, Ignorieren, Doppelpunkt, Rückgabe,
Unterstrich,
verworfener Unterstrich genannt habe Bindestrich, Ignorieren, Doppelpunkt, Rückgabe,
Unterstrich, . Und das wird
den verworfenen Wert
der nächsten Zeile ignorieren . Es ist im Wesentlichen auf Zeile neun
gestellt. Es wird ignoriert
, dass der Wert von zehn
oder zweitem Fehler hier vom Verschieben der Folie, die
zurückgegeben wird, verworfen wird. Und wenn wir wollten,
könnten wir dasselbe auch
für Delta tun . Also könnten wir das
mit machen, wenn wir möchten. Wir könnten über
die Prozessfunktion hinausgehen und
warnende Bindestriche,
Ignorieren, Doppelpunkt, ungenutztes Argument verwenden Ignorieren, Doppelpunkt, ungenutztes Argument und diesen
Unterstrich vor Delta loswerden. Und wir sollten sehen, dass
beide völlig ignoriert werden. Und es wird nur für diese beiden Leitungen
sein. Dies ist nur eine sehr
vorübergehende Sache , die erstellt wurde oder die
uns die Antwort sagt und den folgenden Fehler ignoriert
, der diesem Kommentar vorausgeht. Sie können das also tun,
haben Sie die so oder so. Aber das, das sind zwei verschiedene Arten Dinge für dich
, wie du es angehen
willst. Für die Bewegung selbst werden
wir nun eine Funktion
namens Bewegung erstellen . Und wir werden
Bewegung über bewegter Folie nennen. Wir werden hier weitermachen und überprüfen ob unser Knopf gedrückt ist. Also sagen wir, ob Eingabe. Und jetzt verwenden wir es. Punkt ist Unterstrich,
Unterstrich Brust. Und den Scancode können
wir hier eintragen wenn Sie die Nummer kennen, können
Sie ihn eingeben, aber wahrscheinlich tun Sie das nicht.
Also
geben wir einfach den Schlüsselunterstrich
d in Großbuchstaben ein. Und wir können einen Doppelpunkt setzen. Und dann machen
wir in der nächsten Zeile einen Geschwindigkeitspunkt x. Also wollten wir nur auf
den x-Wert der Geschwindigkeit zugreifen. Die erste Zahl und
die D-Taste sind also normalerweise mit der
Bewegung nach rechts
verbunden. Was wir
hier also tun werden, ist, dass wir
das hier
auf der X-Achse nach rechts stellen müssen , und wir gehen nach rechts. Es wird eine Zahl erhöhen. Das wird also
eine positive Zahl sein. Womit ist das gleich? Geschwindigkeit? Wenn wir das jetzt ausführen
und die D-Taste drücken, und sie,
bewegen wir uns nach rechts und wir bewegen uns einfach weiter. Wenn Sie
eine Schaltfläche in Form
des Namens einer Aktion erstellen möchten. Wenn Sie also nicht
möchten,
drücken Sie weiter und setzen Sie es so
in die Taste. Wir können tatsächlich zwei Projekte
starten,
Projekteinstellungen, die als Eingabe- und Eingabe-Mapper bezeichnet werden. Auf diese Weise können wir
extrem einfach
Steuerelemente für unser Spiel erstellen . Oder die Action hier, ich biege
einfach ab, richtig? Hinzufügen. Und jetzt kann ich
diesen Plus-Knopf drücken. Und ich könnte einen Schlüssel machen. Und jeden Schlüssel, den ich hier reinlege, stecke
ich ihn hier in die D-Taste. Ich kann gut zuschlagen, aber
ich kann auch reinkommen. Und wenn ich wollte,
könnte ich die
Befehlstaste gehen und wir könnten den
Rechtspfeil machen, wenn ich wollte. Wenn ich also sowohl WASD
als auch Pfeiltasten
unterstützen möchte , kann ich das
auf jeden Fall tun. Und ich muss nur den
einen Befehl geben. Wir machen das.
Und wie wir das benutzen würden, denn anstatt
seine Taste gedrückt zu
halten, werden wir Action-Brust tun
. Und du wirst sehen, wie deine Action
auftaucht und Rechnungen hier drin sind. Wir können also wählen, rechts abzubiegen. Und wenn wir das überprüfen sollten
, brauchen wir den Doppelpunkt
am Ende. Da haben wir's. Wenn wir das jetzt ausführen und
dasselbe drücken, hatten
wir unsere D-Taste, die wir der Aktion „Rechts
abbiegen“ zugewiesen hatten. Wir gehen
weiter nach rechts. Und natürlich bewegen wir uns in die Welt und schauen
uns das an. Da haben wir's. Also möchte ich, dass
du vornimmst und versuchst, dass du jetzt in der Lage bist, nach links
abzubiegen. Und als zusätzliche Herausforderung möchte
ich, dass Sie sehen, ob Sie herausfinden
können, wie Sie sich dazu bringen können, sich nicht mehr zu bewegen ,
wenn Sie keine
dieser Tasten drücken? Richtig? Nehmen Sie sich einen Moment Zeit,
halten Sie das Video an und geben Sie eine Chance und einen Moment. Sie können
es fortsetzen. Und wir schauen
uns das an und ich zeige Ihnen, wie
ich das gemacht habe. In Ordnung, willkommen zurück. Also los geht's
mit dem ersten, was wir
tun werden , ist etwas anderes zu sagen. Wenn wir also nicht die rechte Taste
drücken, wird
unser Geschwindigkeitspunkt x gleich 0 sein, was
uns davon abhalten muss, uns zu bewegen. Siehst du, wenn wir jetzt
die D-Taste drücken, bewegen wir uns nach rechts? Und wenn ich aufhörte,
haben wir aufgehört uns zu bewegen. Okay, also wenn unsere
Knöpfe nicht
gedrückt werden , haben wir aufgehört uns zu bewegen. Großartig. Jetzt könnten Sie versuchen,
dass Sie vielleicht
hereingekommen sind und gesagt haben, wenn die Eingabe
gedrückt ist, biegen Sie links ab. Was im Moment
nicht existiert. Ich muss in einer Sekunde hier
erstellt werden. Dann würden Sie auf den
Geschwindigkeitspunkt x zugreifen. Und wenn Sie sich daran erinnern, dass das, was ich
gesagt habe, nach rechts geht, werden
wir an Wert gewinnen. Wenn wir also nach links gehen, werden
wir
an Wert verlieren. Es wird also
eine negative Geschwindigkeit sein. Lassen Sie mich jetzt
diesen Button ganz schnell erstellen. Biegen Sie links ab. Und ich habe das auf meine Schmerzen eingestellt. Da haben wir's. Jetzt sehen
Sie vielleicht, ob wir D drücken, passiert nichts mehr. Wir können nicht rechts abbiegen. Aber wenn wir a benutzen, können
wir sicherlich links abbiegen und wir haben angehalten, aber
wir können nicht nach rechts gehen. Jetzt müssen wir nur noch
tun, um das zu beheben , indem wir es auf einen LFO setzen, auch Else-if genannt. Also, wenn wir E, L, I,
F auf R machen , links
statt normal, wenn diese beiden Buchstaben alles in diesem Code
reparieren und alles im Jetzt so
funktioniert, wie es sollte. Weil wir es sind, wir
überprüfen, ob
einer dieser Bugs oder drücken
was ich suche. All diese unterschiedlichen
Anforderungen. Obwohl ich zustimme
, dass es bei zwei F ein bisschen französisch ist, funktioniert das hier nicht
wirklich. Und dieser Aspekt, aber wenn Sie sowieso Bewegungen
ausführen möchten, möchten
Sie normalerweise nur eine
Richtung drücken. Wenn wir das jetzt ausführen
und es uns ansehen, können
wir nach rechts, links gehen und jedes Mal aufhören. Okay, als Nächstes können wir uns ansehen, wie wir unsere Ebene animieren. Und wir müssen auch
versuchen, unseren Spieler
daran zu hindern, auf diese
Weise vom Bildschirm zu gehen. Und es gibt mehrere
Möglichkeiten, wie wir das auch tun
können. In Ordnung. Wir sehen
uns im nächsten.
8. Animation für Spieler: In Ordnung, also lasst uns weitermachen und unseren Spieler
animieren. In diesem. Wir müssen dafür
einige Animationen erstellen. Gehen wir also
zu unserem Spielerteam. Ich werde hier oben von A bis D
drücken, damit ich mir
ansehen kann , was los ist. Und wir können unseren
Animationsplayer auswählen. Das ist es, was unsere Animationen
und unser Sprite hier oben
enthält . Wie alles, was darin steckt. Wir müssen es nur auslösen, damit es aussieht, als wäre es
ein animierendes Bild. So können wir in unseren
Animationsplayer gehen und die Animation von dem, was hier
unten ist,
klicken. Wählen Sie Neu aus. Wir nennen das „
Leerlauf“. Für diese Animation. Ich werde
es nur 0,3 Sekunden lang machen. Ich stelle es auf eine Schleife hier
unten rechts ein. Auch hier sind wir immer noch nicht mit Ketten
angekommen. Die Bogenlänge beträgt 0,3. Wir drücken hier die
Looping-Taste, um sicherzustellen, dass sie eingeschaltet ist. Und was wir tun werden, ist,
dass wir jetzt unser Sprite auswählen. Wir können uns hier unseren Rahmen
ansehen. Und wir stellen fest,
dass wir diese Schlüssel haben , die jetzt
im Inspektor auftauchen. Dies
ermöglicht es uns, ein Schlüsselbild
innerhalb unserer Animation
für alles, was wir hier haben, zu erstellen . Und was wir
reimen werden, sind unsere Frames hier. Wenn ich also diese Taste drücke, brauchen
wir keinen Reset-Track, aber wenn du das
eingeschaltet lassen willst, tut es keinem weh. Und ich
verwende Bezier-Kurven. Und auch in diesem Fall wird es
mit der Tabelle keine Rolle spielen, aber
ich werde weitermachen und auf Erstellen klicken. Sie sehen also, wir haben hier unseren
niedrigen Zeitrahmen. Stellen Sie einfach sicher, dass
Ihr kleiner Marker hier ganz am Anfang steht. Und wir können weitermachen und diesen Keyframe 0
erstellen. Und dann 0.2, erstelle
ich
den Keyframe, um ihn in Frame eins zu ändern. Wenn ich das nur während Loops
wiedergebe, können
wir sehen
, dass unsere Flamme hier
aktiviert wird und
ein kleines Flackern hat. Und wir können das
für sie tun und links und rechts abbiegen. Natürlich
werden wir Frame
01 nicht verwenden und wir werden
den nächsten Satz Ringe verwenden . Ich möchte, dass Sie versuchen,
die
Animationen „Links abbiegen“ und „rechts abbiegen“ für sich selbst zu erstellen . Und pausiere dieses Video,
probiere es aus. Kommen Sie zurück, und ich mache weiter
und wenn Sie irgendwelche Probleme hatten, klären wir
hoffentlich
einige Dinge für Sie. In Ordnung, willkommen
zurück. Also gehen wir in die Animation und
erstellen eine neue. Wir biegen links ab. Und mal sehen,
welche wir haben , die wir tatsächlich zuerst links
abgebogen haben. Also komme ich hier runter, ändere meine Länge ist 0,3. Schalte das Looping ein, gehe
zum Anfang
meines Tracks mit Frame auf zwei eingestellt, ich erstelle einen Keyframe. Es schafft. Ich werde
zu SharePoint wechseln, um den nächsten Frame zu erstellen
, der Frame drei ist. Großartig, ein weiterer wichtiger Punkt. Und ich drücke Play, um das zu wiederholen. Es scheint, als wäre mein erster
Frame durcheinander geraten. Also werde ich hier einfach
zum Anfang zurückkehren. bisschen saugen zum Kauen und drücken Sie erneut
die Keyframe-Taste. Und los geht's. Wenn ich auf „Spielen“ klicke, sieht
alles gut aus. Ich werde
dasselbe tun, um rechts abzubiegen. Erstellen Sie neue Animationen. Biegen Sie rechts ab. Stellen Sie dies auf 0,3 Loop ein und eingeschaltet
geht es zum Anfang, hoch zu Frame vier. Und ich werde das einfach noch einmal einrahmen
, nur um sicher zu gehen. Springe auf 0, um zu
Frame fünf zu gelangen. Drücken Sie die Taste. Das war schon auf
fünf, also muss ich
sechs unterrichten und die Taste drücken. Da haben wir's. Lass uns das nochmal
versuchen. Meine Zahlen sind wieder seltsam, also ändere ich
das wieder auf vier. Springt auf 25. Los geht's. Aus irgendeinem Grund
halten wir die Animation ab. Der erste Frame dort
scheint immer ein bisschen komisch zu sein. In manchen Situationen. Wir werden weitermachen
und das spielen und los
geht's, zufällige Paarung. Jetzt brauchen wir das also, um
tatsächlich in unserem Skript
zu funktionieren , wenn
wir umziehen. Dafür werden
wir also eine neue Funktion erstellen. Animieren oder animieren Sie lieber, halten Sie es
einfach langsam
oder klein. Und wir werden
diese Animationsfunktion hier
oben in unserem Prozess aufrufen , genau wie bei Bewegung. Und wir müssen nur
überprüfen, ob unsere Geschwindigkeit auf unserer X-Achse größer oder kleiner als 0
ist, denn wenn sie 0 ist, bewegen
wir uns nicht. Wenn es kleiner ist, gehen
wir nach links. Wenn es größer ist, gehen
wir richtig. Wir können also weitermachen
und überprüfen, ob Geschwindigkeit x größer als 0 ist. Ja, okay. Wenn
das also größer als 0 ist, werden
wir weitermachen und das Dollarzeichen
verwenden, um frühzeitig auf
jedes Grundstück zuzugreifen oder um unseren Knoten zu erhalten. Aber
ich werde das ein bisschen sauberer
machen. Schau dir das an. Also gehe ich einfach zurück
zu meinen Variablen hier. Ich werde bereit sein, var, sagen wir eine M-Ebene, Excel und setze das gleich
Dollarzeichen-Animationsplayer. Nun wieder, wenn du in 4 bist, glaube
ich, dass du mit einem schon hier bist, brauchst
du das At-Zeichen. Mal sehen. Ich schätze wir sind in drei. Das wird uns
nur einen Fehler bereiten. Jetzt können wir
zu unserer Animate-Funktion zurückkehren. Wir könnten einfach Spieler ein- und
eintippen. Und es wird hier auf diesen
Animations-Player-Knoten verweisen. Und wir haben ihm gesagt, er soll es bekommen. Und wir könnten Dot Play machen. Und wir biegen
rechts ab, wenn x größer ist. Wenn wir also weitermachen und das versuchen, können
wir sehen, dass das jetzt animiert wird. Erst jetzt bleiben
wir natürlich stecken. gleiche Situation, die wir mit unserer Bewegung
hatten ist, dass unsere Animation
nach rechts abbiegt und wir dann dort rechts
festsitzen. Wir wechseln nicht zurück
zu unserer kleinen
untätigen Situation hier. Wenn Sie möchten,
nehmen Sie sich hier
einen Moment Zeit und sehen Sie, ob Sie
herausfinden können, dass hier
einen Moment Zeit und sehen Sie, ob Sie
herausfinden können wir links abbiegen und uns wieder
normal machen können, wenn wir keine der
beiden Tasten drücken. In Ordnung, willkommen
zurück. Lassen Sie uns weitermachen und diese Situation angehen. Wir werden es genauso machen wie
zuvor mit LLF. Wir werden
unseren Geschwindigkeitspunkt x bekommen. Wir werden prüfen,
ob er niedriger als ist, ob unser X kleiner als 0 ist,
was bedeutet, dass wir uns nach links
bewegen. Und wir werden weitermachen
und den Animationsplayer,
also den Anime-Player, einstellen . Biegen Sie links ab. Jetzt müssen wir die andere Situation in
dem Fall herausfinden, dass wir keine
dieser Tasten drücken. Und genau wie zuvor können
wir sonst noch gebrauchen. Und im Spieler Dot Way Idle. Wenn wir uns das jetzt
ansehen, los geht's.
Wir biegen sowohl
nach links als auch nach rechts und kehren zur Normalität zurück und drücken keinen von
beiden. Wir können uns das
in
unserer Welt ansehen und wie wir
selbst einen bewegenden Spieler haben. Und das ist alles, was wir für
Animationen für einen Spieler benötigen. Wenn du also weitermachen und
Bewegung hinzufügen willst , um dich
vorwärts und rückwärts zu bewegen, wird
das auf der Y-Achse sein. Wenn Sie das also so einrichten möchten, dass sich
vorwärts und rückwärts bewegen können, können
Sie das auf jeden Fall tun. Und ich denke, wir können
weitermachen und Sie können
hinzufügen, das nur für den
spezifischen Anwendungsfall hinzufügen. Denken
Sie jetzt daran, wenn Sie nach rechts abbiegen , werden
wir
unsere Geschwindigkeit auf 0 setzen, genau wie wir es auch
tun werden. Was würdest du für das y tun, um zu sehen, ob wir
Geschwindigkeitspunkt y gleich 0 machen. Und natürlich werde ich
sie auch auf Alice setzen. Und wir werden das Gleiche tun,
wenn wir nur so
etwas wie vorwärts machen könnten. Jetzt
beeinflussen wir natürlich nur noch unsere Geschwindigkeit. Warum nicht? Wir sind der Meinung, dass Geschwindigkeit,
ob das
positiv oder negativ
ist, darüber entscheidet, ob
Sie auf- oder
absteigen oder wann Sie das tun. Wir
bewegen uns nicht nach links oder rechts. Jetzt. Ich habe mein Tasten-Setup nicht, aber das ist im Wesentlichen das, was du tun wirst und du wirst das Gleiche natürlich nur für
rückwärts tun, ist sicherzustellen, dass du
deine Geschwindigkeit richtig eingestellt hast, ob das positiv
oder negativ für das Y ist Sie können
also vorwärts
und rückwärts gehen, wenn Sie diese Funktionalität
in Ihr Spiel integrieren möchten .
9. Diagonale Bewegung: Ordnung, in diesem Video zeige
ich Ihnen nur schnell, wie
Sie eine 8-Wege-Bewegung erzeugen
können. Wenn Sie sich also auf
einer Diagonalen bewegen möchten ,
werden Sie gesehen. Wenn wir hier einen Blick darauf werfen,
können wir uns nach links oder rechts bewegen. Extrem schnell. Oh, das liegt daran, dass
ich mich geändert habe. Los geht's. Sie werden also sehen, dass Sie sich hier nach links oder rechts bewegen
können, oder Sie können sich auf und ab bewegen. Wenn du dich nicht wirklich bewegst. Gleichzeitig sehen
wir, ob ich nach oben gehe und drücke nach rechts.
Lass es jetzt durchgehen. Ich bewege mich immer noch in
dem seltsamen Winkel , den wir dort haben. Also werde
ich nur all unsere Nullen hier entfernen . Unsere Buttons werden also
nur
den einen Zugriff ändern , das zusätzliche Y. Wir nehmen
hier
unseren else Block , der alles auf 0 setzt. Wir können das komplett entfernen, unsere Ellipse oder
else if-Anweisungen in
nur eine if-Anweisung
ändern . Und am Anfang der Bewegung können
wir weitermachen und die Geschwindigkeit
gleich Vektor zwei Punkt 0 setzen. Und das ist alles, was wir tun müssen, um
eine korrekte diagonale Bewegung zu haben. Das funktioniert einwandfrei und wir haben
keine seltsamen Probleme. Wenn Sie also
eine 8-Wege-Bewegung haben möchten
, können Sie das
auf diese Weise tun. Auch das ist der Grund, warum wir unsere Nullen
verschieben. Also wenn du dich hier erinnerst, würde
ich nicht zurückkehren, oder? Wir setzen auch die Geschwindigkeit y auf 0. Und als wir auf und ab gingen, setzten wir die Geschwindigkeit x auf 0. Nun, was das ist, indem wir diese
entfernen und Geschwindigkeit gleich Vektor
zwei Punkte hier
oben in unserer Bewegung
setzen . Wir können weitermachen und eine
gute
8-Wege-Bewegung in unserem Spiel haben . Wenn das also etwas ist, das
Sie da drin haben möchten, können Sie das
auf diese Weise hinzufügen. Wenn Sie jetzt bemerken, dass es bei Ratten
eine Sache gibt, bewegen Sie sich auf einer Diagonale tatsächlich schneller
als wenn Sie sich nach links oder rechts bewegen. Also alles was ich dort tun werde
ist, dass wir die Geschwindigkeit
gleich Geschwindigkeit Punkt
normalisiert mal Geschwindigkeit einstellen können . sollten wir versuchen. Jetzt sehen Sie, dass wir
eine konstante Geschwindigkeit beibehalten , unabhängig
davon, ob wir gerade, seitwärts oder schräg fahren. Richtig? Das reicht also für dieses Video. Deshalb wirf
das Ende sehr schnell. Ich weiß also, dass einige von Ihnen
wahrscheinlich eine 8-Wege-Bewegung wollen werden. Fragt dich in gewisser Weise, wie
dein Spiel ein wenig zu modernisieren und nicht so weit
in der Vergangenheit stecken zu bleiben, wo wir nur
die zwei getrennten Richtungen hatten und wir die eine oder andere hinzufügen. So fügt man Bewegung
hinzu. Und im nächsten
Schritt schauen wir uns an, wie wir verhindern
können,
dass der Spieler unseren Bildschirm verlässt.
10. Game: In Ordnung, willkommen. In diesem Video werden wir uns ansehen, wie wir verhindern können dass
der Benutzer den Bildschirm verlässt. Wie Sie sehen, gehen wir von links nach rechts. Wir
gehen komplett über den Bildschirm hinaus, was wir für unseren Spieler nicht
wollen, genauso wie beim Vor- und
Rückwärtsgehen wird der Bildschirm vollständig
verlassen. Um dies zu erreichen, haben
wir zwei Methoden, dies
zu tun. Wir können uns für die Methode der
unsichtbaren Barriere entscheiden, oder wir können
die Position des Spielers in
Bezug auf Sie überprüfen , natürlich die Größe
unseres Projekts hier. Wenn wir also zur Barrieremethode übergehen wollen, können
wir hier auf der Welt einen statischen Körper
schaffen. Erstellen Sie eine Kollisionsform. Weisen Sie diese Form zu,
haben Sie ein Rechteck. Wenn ich nur diesen statischen Körper ergreife, sperre
ich
die Kollisionsform hier
ein, damit ich ihn nicht festhalten kann. Also schnappte ich mir den statischen Körper
und schiebe ihn einfach hier runter. Ich kann das jetzt abschließen. Und wenn ich das Gefühl so erweitere, ist es das. Das ist alles was
wir tun müssten. Und
das können wir natürlich auf alle vier Seiten anwenden. Und wir könnten den Benutzer daran
hindern , den Bildschirm
zu verlassen. Also können wir natürlich ganz unten
gehen weil wir dort unten keine
Barriere haben. Aber das ist eine Möglichkeit
, diese Einschränkung festzulegen. jetzt hier
auf die rechte Seite zu gehen, werden
wir die zweite Methode
verwenden , die wir dafür verwenden könnten. Wenn wir rechts abbiegen, werden
wir nach einer zweiten Bedingung
suchen. Und positioniere Punkt x nicht
größer als ungefähr warum 92. Und wie ich das bekommen habe,
ist unser Zeuge von 24 und ich ziehe nur unser Sprite
ab. Wenn wir jetzt nach rechts gehen, sehen
Sie, dass wir dort diese
Barriere haben, die ins Spiel gebracht
wird oder
nicht. Lassen Sie uns in diese Richtung drehen. Und auf der linken
Seite können
Sie natürlich sehen, dass wir immer noch
unsere Turn-Animation am Laufen haben. Wir können einfach nicht
weiter nach links gehen. Es gibt also zwei völlig
unterschiedliche Methoden. Es liegt ganz bei Ihnen. welcher Methode
möchtest du das machen? Zwei bis 08. Du gehst. Wir haben also genau das Gleiche, wir stehen direkt vor
der Ecke. Jetzt. Sie können es mit einer Methode sehen. Wir spielen immer noch unsere
Animation ab und versuchen uns umzudrehen. Und mit dem anderen
kommen wir einfach zum Stillstand und bewegen uns überhaupt
nicht. Also drehen wir uns nicht um. Welche Methode Sie wählen möchten, liegt also ganz bei Ihnen. Denken Sie daran, dass
Sie, wenn Sie die Barrieren beseitigen möchten, auf vier Barrieren
um alle vier Seiten setzen müssen . Wenn Sie die volle Bewegung haben, ein vorwärts, zurück links Android. Und das gleiche gilt für
deinen Code hier. Wenn Sie
hier die Coderoute gehen und Ihre Überprüfungen durchführen
möchten, überprüfen Sie auch, ob sie
auf X zu Ihrer Linken positioniert ist . Ich habe deine
Position Punkt y nicht
für deinen Vorwärts- und Rückwärtsgang überprüft . Und natürlich wird vorwärts 0 hier oben auf
dem Bildschirm sein. Also würde 0
ungefähr so aussehen. Und
wenn wir außer 400,
dem unteren
Bildschirmrand, dann hätten
wir natürlich dem unteren
Bildschirmrand, so
etwas. Sie müssen also auch Ihre
eigenen Berechnungen durchführen. Also würde ich sagen mach
16 für die Spitze, mach 384 für die Unterseite. Und dann natürlich die
linke Seite hier drüben, wir können nur 16 und Features machen. Wie ich das bekommen habe, der
Ursprung unseres Spielers. Denken Sie daran, wenn wir uns unsere Spielerszene
in der Mitte
ansehen und
das Sprite 32 mal 32 ist. Also habe ich nur die Hälfte davon genommen, was 16 sein werden. So habe ich diese Zahlen
bekommen. Welche Methode Sie verwenden , um Ihren Spieler zu blockieren,
liegt also ganz bei Ihnen. Der Vorteil der
unsichtbaren Barrieren
bedeutet natürlich, dass Sie
sie
jederzeit und visuell anpassen können ,
ohne ein Problem zu haben. Natürlich. Der andere, der Vorteil des anderen
ist,
dass wir nicht diesen festgefahrenen Animationslook haben , während wir versuchen, bis
zum Ende zu gehen, egal in welche Richtung. In diesem Fall liegt unser Auftreten
ganz bei Ihnen. Persönlich werde ich hier die Code-Methode
anwenden. Ich überprüfe meine Position
in meiner Scheckschere. Aber wenn Sie
die unsichtbare Barriere verwenden
oder sich mit
dem statischen Körper nähern möchten , ist
das völlig in Ordnung.
11. Shooting: Ordnung, im heutigen Video werden
wir
darüber nachdenken, wie man
einen Schießmechaniker
oder unseren Spieler erstellt . Und ob Sie eine
Abstoßung auf Projektile abschießen. Wie auch immer Sie es schaffen möchten,
das liegt an Ihnen. Aber ich werde, glaube ich,
zwei Projektile verwenden oder zumindest
um Schießpunkte hier drin zu schießen. Wenn Sie also eine verwenden möchten, müssen
Sie sich bei einer bewerben. Wenn Sie mehrere verwenden möchten, werden
Sie sehen, wie wir
es auf mehrere Standorte anwenden können. Ich habe auch mehrere
Projektile hier. Wir haben drei verschiedene Versionen mit und ohne schwarze
Umrandung. Es liegt an Ihnen, welche Versionen
Sie dafür verwenden möchten. Und wenn Sie sehen möchten, wie sie mit verschiedenen Farben
aussehen, würde er
hier im
Sichtbarkeitsbereich
des Inspektors nicht auf die Registerkarte Sichtbarkeit gehen . Wenn sie ausgewählt sind, können wir auf modulieren zugreifen und die Farben hier
ändern. Wenn Sie also eine
bestimmte Farbe im Sinn haben, können
Sie diese sicherlich in
die gewünschte Farbe ändern . Und das sollte Ihnen eine Vorstellung
davon geben ,
wie all diese in den
verschiedenen Farbtönen aussehen . Also für mich selbst denke ich, dass ich weitermachen und
wieder auf Alt projizieren
werde , also ohne den schwarzen Umriss. Das können also meine
Standardaufnahmen sein. Also mache ich weiter und jetzt, wo ich weiß, welchen
ich verwenden möchte, werde
ich all
diese Punkte
los und wir können unser Projektil
erstellen, jemanden
sehen, der eine neue Szene erstellt. Wir werden weitermachen
und unser Projektil erstellen. Und ich werde das als
kinematischen Körper 2D festlegen kinematischen Körper 2D damit wir unsere
Physik darauf anwenden können. Ich füge ein Sprite hinzu. Für unsere Laser-Lieblinge,
unser Projektil. Ich bringe den, den
ich verwenden möchte, in
den Textur-Slot
hier auf meinem Bildschirm. Wir können dieses
kleine Dreieck loswerden, indem unsere Kollisionsform
hinzufügen. Und in meinem Fall kann ich, da ich diese verwende,
eine Kreisform verwenden
und diese verkleinern. Wenn Sie jetzt
eine andere Form verwenden, wenn Sie die
Laser-Boy-Standardaufnahme , können
Sie das Rechteck verwenden. Wenn Sie die anderen
verwenden, können
Sie natürlich auch eine
Kugel oder ein Rechteck oder einen Kreis
oder ein Rechteck verwenden ,
je nachdem, welchen Weg
Sie einschlagen möchten, können
Sie das Ganze abdecken oder Deckung ist das eine Ende davon. Und ich rette das,
dieses Projektil. Speichern Sie es, fügen Sie das
in meine Szenen ein. Spar dir das. Jetzt wo wir
das haben. Um ein Projektil abzuschießen, benötigen
wir
eine Schussfunktion. Also gehe ich zu meiner Eingabe-Map
und erstelle eine Shoot-Action. Und ich setze das
auf groß meine Leertaste. Okay, jetzt müssen wir
unser projiziertes Out tatsächlich bewegen, oder? Es ist nicht gut, wenn wir es schießen
und es geht nirgendwohin, es
nützt uns an diesem Punkt nicht. Also lass uns weitermachen und
wir können ein Skript hinzufügen. Stellen Sie sicher, dass Sie es
an der richtigen Stelle platzieren , damit die Dinge sauber und sauber bleiben. Skripte projizieren normale Punkt-GD
nach unten. Und genau wie unser Spieler, und wir werden eine Geschwindigkeit
brauchen. Und ich kann als
leerer Vektor zwei anfangen. Wir brauchen
auch eine Geschwindigkeit. Und lassen Sie uns mit, ich sage vorerst 100, wir werden später sehen, wie
sich das ändert. Wir brauchen
die Ready-Funktion nicht. Eigentlich können wir
die Ready-Funktion verwenden. Das ist also ein Hindernis dafür. Behalte das hier und lass uns die Bewegung und Folie
hinzufügen. Du kannst move auch im Unterricht verwenden, aber ich neige dazu, immer move inside zu
verwenden. Ich
musste mich nie bewegen und Clyde und in dieser Situation es sowieso
keinen Unterschied machen. Der Collider Slides ist
so ziemlich das, was passiert,
wenn zwei, wenn die beiden Körper ineinander
laufen. Mit den
dort eingestellten beweglichen Folien und der Funktion „Bereit“ können
wir die Geschwindigkeit nehmen
und wir können die
y-Eigenschaft davon erfassen,
und wir möchten, dass können
wir die Geschwindigkeit nehmen und wir können die
y-Eigenschaft davon erfassen, sie steigt. Also werden wir
es auf eine negative Geschwindigkeit einstellen. Wenn das funktioniert, sollte es hier
komplett von
unserem Bildschirm verschwinden , wenn wir
es versuchen, und wir sehen es nicht. Also ist es entweder weg
oder zu klein. So oder so können
wir uns das ansehen. Und Sie können in unserem Debugger sehen, dass
wir dort 22 Probleme haben. Es sind die gleichen Dinge
, die wir in unserem Player hatten. Gerade jetzt
sind zu unserem Projektil zwei Kommentare zurück in. Ich möchte auch wissen, ob du diese loswerden
willst. Wenn Sie nicht auftauchen
und diese Kommentare nicht konsistent
verwenden möchten , können
Sie sie entweder ignorieren, was ich persönlich nicht
unbedingt empfehlen würde, oder Sie können sich darauf konzentrieren, ich
glaube, es ist in der Rajah. Ja. Und suche einfach die Warnung. Und unter GD-Skript
finden Sie das ungenutzte
Argument genau hier. So wie Sie eine für die Rücksendung
finden sollten, hat das Rückgabewert-Gericht
es auch hier bekommen. Sie können also einfach
beide ausschalten wenn Sie diese Kommentare nicht auf alternative
Weise dort drin
platzieren möchten . Wir haben jetzt
unseren Spieler angegriffen. Und ich werde eine Position hinzufügen
, die hier
etwas schwer zu erkennen ist. Da ist es. Und Sie können dies auf die Stelle
einstellen , an der Ihre
Projektile spawnen sollen. Also in meinem Fall setze
ich
einfach meinen ich setze meinen Ray,
genau dort. Das ist in Ordnung. Natürlich. Sie können es so nah
wie möglich herausholen. Ich nenne diese Position des
linken Geschosses links. das falsch geschrieben. Da haben wir's. Und ich dupliziere
das einfach und füge ein zweites hinzu. Auf der rechten Seite. Ich mache die richtige
Alpha-Projekt-Position. Und diejenigen, die meine zwei Punkte sein werden , von denen ich schießen werde. jetzt in unseren Player gehen, können
wir eine Variable erstellen
, die unseren normalen Schuss hat. Wir können das auf einen Preload setzen. Und das erfordert ein Argument unseres Projektils,
das wir erstellt haben. Wenn wir uns Szenen ansehen, unser Projektil normal. Geht geradeaus. Sie können den
Pfad kopieren oder hineinziehen. So wie. Und was
das tun wird ist, wenn unser Spieler in die Szene
gebracht
wird, wird er auch das normale
Projektil laden ,
wenn wir es brauchen. Anstatt es
vor Ort zu laden, wird es schon haben. Okay, also lass uns weitermachen und wir können eine
Funktion für das Schießen erstellen. Und was wir hier reintun werden, ist, dass wir eine Instanz
unserer normalen Aufnahme
erstellen müssen . Und dann müssen wir es in die Welt
bringen. Also sagen wir Neue temporäre
Variable erstellen. Wurde in der
Stanford-Schussinstanz angeschossen. Und das
entspricht unserer normalen Schussvariablen, die wir gerade Top-Punkt-Instanz
erstellt haben. Jetzt müssen wir nur
noch die Position festlegen. Und dann
müssen wir die Geschwindigkeit nicht einstellen. Wir
haben bereits gesagt, dass wir nur die Position festlegen um alleine
oder eher alleine hochzuschießen. Um dies zu vereinfachen, erstellen
wir oben eine weitere On-Ready-Leiste. Für unsere Linke. Wir nennen es linke
Schuhposition. Und würde auch eine für die
rechte Seite erstellen. Position. Los geht's. Sam würde herkommen
und wir werden schockiert. Und machen Sie Punktposition, um auf
die Eigenschaft position zuzugreifen . Und wir setzen das gleich, wir sagen unsere linke
Schuhposition. Position. Wir wollen, dass das nur passiert, wenn wir unser Projektil
abschießen. Also werde ich einfach
diese beiden Zeilen hervorheben und
die Tabulatortaste drücken , um sie zu verschieben. Und ich werde in
einer if-Anweisung
hervorstechen , die besagt ob Eingabe eine Aktion ist, drücken Sie
einfach oder Sie können mit gerade
freigegeben gehen, es liegt an Ihnen. Ich werde einfach
drücken und wir machen es. Das passiert also einmal und es passiert
nicht kontinuierlich,
solange wir es unten haben. Das ist der Unterschied zwischen
einem Absturz und Action. Drücken Sie. Die gedrückte Aktion
bedeutet, dass wir die Taste
gedrückt halten und gedrückt halten können, während
die Taste gedrückt ist. Das wird konsequent
passieren. Einfach drücken bedeutet, dass es das eine Mal passieren wird
. Wenn wir die Taste
herunterdrücken, passiert das einmal. Und dann war's das. Stellen Sie sicher , dass Sie das Shooting
innerhalb unseres Prozesses anrufen. Und wenn wir das jetzt ausführen, sollten
wir in der Lage sein, unseren Schießknopf zu
drücken. Oh, mein Fehler, ich habe
eine wichtige Sache vergessen. Wir haben seine Position festgelegt,
aber wir haben sie nie wirklich
in die Szene aufgenommen. Beachten
Sie hier also , dass wir es nicht
zum Player hinzufügen möchten. Wenn wir es dem Spieler hinzufügen, bewegt
es sich. Wenn wir ihren
Spieler nach links und rechts bewegen. Dann bewegt sich unser Projektil in der Luft, was
nicht viel Sinn ergeben wird. Da wir nicht
wie ein Laser für unsere Normalität erstellen, müssen
wir dies
als Kind zu seinen Eltern hinzufügen, damit wir
es der Welt hinzufügen können. In unserer Schriftstelle werden
wir also
noch wissen , was die Welt sein wird. Und wenn Sie sich fragen, woher ich das weiß, wenn Sie hier
nachschauen, sehen
Sie, dass wir diese
wie eine Baumfunktion haben. Wir haben diese Linie
aus dem Spieler und dann geht sie hoch und das erste, was
sie hier trifft, ihre Welt. Also das ist Eltern holen. Und bei diesen ist
es genauso, dass diese Positionen hier
die Eltern unseres Spielers sind. Aber auf unser Skript wird vom Player aus
zugegriffen. Also werden wir den Spieler von einem weglaufen lassen, der die Welt ist. Wir bekommen Elternpunkt, fügen Kind hinzu. Und es wird in diesem Schuss vorübergehen. Und jetzt
sollten wir es sehen können. Ordnung, also eine kleine Änderung ihrer Notiz, dass
anstelle von Position, obwohl hier
im Inspektor positioniert steht,
und wenn wir den Mauszeiger darüber
bewegen, heißt es Position. Was wir eigentlich verwenden
wollen, wollen es auf die Position des globalen Unterstrichs
der
linken Schuhposition setzen . Und dann platzieren Sie
es tatsächlich dort, wo wir es haben wollen. Also, wenn wir jetzt
in unsere Welt gehen und das
spielen, siehst du,
wenn wir drehen, geht
es dahin und es drängt uns
nur zurück, nur
weil es ein bisschen vage ist, ein
bisschen zu testen, um es zu versuchen und finde heraus, warum
wir die Skala
unseres Projektils auf eins zurücksetzen . Und wir werden wieder
normal sein. Also gehst du. Jetzt haben wir unser
Projektil am Laufen, offensichtlich haben wir nur eines am Laufen und das drängt uns
immer noch zurück. Nur ein bisschen. Etwas merkwürdig. Also werde ich weitermachen
und
meine beiden Positionen ergreifen und
sie ein wenig nach oben drücken. Man könnte ihm sagen, dass er den Spieler
komplett ignorieren soll, was wir uns zu einem zukünftigen
Zeitpunkt ansehen können. Aber jetzt gehen wir ein bisschen
vorwärts und
Sie können sehen, dass wir schießen. Es funktioniert nicht perfekt. Um das noch einmal zu besprechen, unsere Schieß - oder Schussfunktion
durchzugehen, überprüfen
wir, ob unsere
Schießaktion nur durch Drücken erfolgt. Das passiert also nur einmal, wenn
Sie die Taste gedrückt drücken. Dann erstellen wir eine neue
Variable, die eine Instanz unseres Shots enthält. Was ist eine normale
Shot-Dot-Instanz? Und dann haben wir die
Position dafür festgelegt. Wenn also diese Instanz, die shot-Instanz, die Eigenschaft
position davon erhalten. Wir setzen das auf die gleiche Position wie
unsere linke Schuhposition, was eine Position zu
D ist , die wir
unserem Spieler zugewiesen haben. Und wir setzen das auf die
linke Schuhposition, ducken die globale Unterstrich-Position. Und dann werden wir nichts sehen
, wenn wir es nicht
tatsächlich in den Namen aufnehmen. Und wir wollen es
zu den Eltern unserer Spieler hinzufügen, was unsere Welt ist. Beachten Sie, dass sie diesen Knoten
bekommen, seine Eltern holen und dann ein
Kind hinzufügen und unsere Shot-Instanz hinzufügen
wollen bekommen, seine Eltern holen und dann ein
Kind hinzufügen . Als Kind davon. Wir kommen
hier rein und da wir zwei Positionen haben, erstelle
ich einfach eine zweite. Also habe ich eine Chance vor Ort. Jetzt setzen wir den zweiten
auf unsere andere Position, was unser richtiger Schuss ist. Und stellen Sie sicher, dass wir auf
Aufnahme in Nummer zwei zugreifen. Und dann müssen wir
sicherstellen, dass wir diese auch in
unsere Szene aufnehmen. Also werden wir Elternschaft
und Kind reinschießen lassen. Und wenn wir das spielen, sollten
wir jetzt unsere beiden
Projektile gleichzeitig
abschießen. Wie Sie sehen können, können wir, wenn wir den Button erweitern
würden, viele dieser Zellen bekommen. Ob Sie
möchten, dass dies in
Ihrem Spiel beabsichtigt ist oder nicht, liegt
ganz bei Ihnen. Wenn Sie dem eine
Art Abkühlung hinzufügen möchten,
können Sie diese auch leicht hinzufügen, indem Sie
einfach überprüfen, ob
der Spieler schießen kann. Und wenn nicht, dann
erlauben wir ihnen nicht zu schießen. Da haben wir's. Wir können jetzt einige Projektile nicht
abschießen. Und wieder können Sie
dies in jeder gewünschten Farbe und Ihrem Projektil
sichtbar machen , indem
Sie einfach
die Modularität ändern ,
wo immer Sie möchten. Wenn wir es also auf den Bildschirm ändern und hier reinkommen
und Bücher drehen, müssen
wir
hier rein und schießen. Wir haben jetzt ein grünes Projektil. So kannst du das machen,
was immer du willst. Sie können ihnen zwei verschiedene
Farben geben, wenn Sie möchten. Das liegt ganz bei
dir und was du tun willst. Aber so können wir
unserem kleinen Weltraum-Shooter
einen Schießmechaniker hinzufügen .
12. Stromaufnahmen erstellen: In Ordnung, Willkommen. In diesem
Video werden wir uns mit Erstellung unserer Power-Ups
befassen und diese
in die Welt bringen. Und der Grund, warum
wir
das zuerst angehen werden, bevor wir zum Feind
kommen, ist einfach, dass die
Feinde effektiv
dasselbe System
verwenden werden , das wir mit Power-Ups ohne Verwechseln Sie es mit einer
KI oder Verhaltenshernie, dass das erste, was wir mit der Macht tun
müssen, natürlich ist, unsere Kraft zu erzeugen. Erstellen wir eine neue Szene. Wir wählen Andere aus
und machen daraus einen kinematischen Körper. Ich benenne es um in „Our up“. Es wird natürlich ein Sprite brauchen, weil wir zeigen
müssen, was die Bilder sind. Wir werden
einen Animationsplayer haben. Was können wir sonst noch tun? Wir können es so einstellen,
wir brauchen ein Gebiet. Und dieses Gebiet wird
seine eigene Kollision haben. Jetzt weiß ich, dass wir dieses gelbe
Dreieck beim Powerup haben, aber wir müssen uns
darüber keine Sorgen machen, weil wir das nicht brauchen, um
eine Kollisionsform zu haben. Was wir brauchen, ist, dass der Bereich eine Kollisionsform
hat,
die Sie erkennen können unser Spieler ihn betritt
oder mit ihm interagiert. Und für die Kollisionsform setze
ich
sie einfach auf ein Rechteck. Okay, für unser Sprite können
wir weitermachen und unsere Tabelle
einziehen. Sprites, Power up, bring es
in AUC an , wir haben
Gesundheitsschilde, Geschwindigkeit, Tier t. Jetzt können wir das
natürlich acht Frames einstellen und es geht über. Wir haben sechs Quer und wir haben vier vertikale. Und jetzt können wir einfach
den Animation-Player verwenden , um unsere Frames zu erstellen. Und wenn Sie nur
eine dieser Farben zeigen möchten, können Sie das sicherlich nicht. Andernfalls
animieren wir es so, dass es zwischen all diesen Farben wechselt und wie ein kleiner
Regenbogenblitz klingt. Es liegt an dir, wie
du das angehen willst. Aber das ist alles, was wir
tun müssen, um unsere Macht aufzubauen. Speichern Sie die Szene. Und dann werden
wir im nächsten Video weitermachen und uns mit
der Erstellung der Animationen befassen . Und ich schätze,
wir richten unseren Code ein. Da die Mehrheit von ihr in diesem Moment nur die Animation sein
wird.
13. Animating Ups: Okay, lass uns loslegen und unsere Power-Ups animieren. Gehen wir weiter und wählen
den Animationsplayer aus. Ich werde „Neu“
aus meiner Animation auswählen. Ich wähle Gesundheit aus. Und jetzt,
da es 1 Sekunde lang ist, werde
ich das auf eine Schleife setzen. Ich setze
meinen Snap auf 0,15. Jetzt können Sie
dies immer auf das einstellen, was Sie wollen. Wie die VR-App Sie fragt, ob sich
Dinge für Sie bewegen sollen. Für mich
verwende ich 0.15 und ich werde Frame 0 für meinen ersten
Frame hier verwenden. Klicken Sie auf Erstellen. Ich werde bis
zu 0,15 0s Frame eins besetzen. Wie Sie sehen,
wird es vorrücken, den Rahmen auf dem Snap
gebucht, sowie den Rahmen und
meine Nummer hier, damit ich
einfach weiter Tasten drücken kann . Und jetzt haben wir
unser Gesundheits-Setup. Wenn ich also das spiele, haben
wir diese
Gesundheit mit einem kleinen Regenbogenblitz im Text. Wenn Sie dies nicht möchten, können
Sie es einfach als
ein Bild für die
gesamte Animation festlegen . Aber das liegt an dir. Ich persönlich mag den Regenbogen, die Regenbogen-RGB-Umschaltung. Das passiert. Aber wenn du das nicht willst
oder nicht willst, musst
du das natürlich nicht haben. Und wir werden weitermachen und dasselbe für
unsere anderen Animationen
erstellen .
Ich werde damit aufhören. Gehen Sie in die Animation neu, und wir haben Schilde. Es. Okay? Und unser Frame
wird auf sechs beginnen, wieder hier bei 0. Stecken Sie diesen Schlüssel. Devin wird unsere 0,15 sein. Stellt sicher, dass es in einer Schleife läuft. Und es wird das
wieder setzen, 67891011. Und wenn wir das spielen,
haben wir unsere Schildanimationen. Fantastisch. Also müssen wir hier nur noch
zwei weitere erstellen. Das wird unsere Geschwindigkeit sein, ist 0,15. Schleife es, gehe zurück zu
0, cetera, Animation. Rahmen 12. Steigen Sie für 13 auf. Da haben wir's. Wir können es zur Überprüfung
abspielen. Es. Sieht toll aus. Und unser letzter ist
ein Multi-Snap, 0.15. Wie die Animation. Geh zurück zum Anfang. Gestartet mit Animation 18. Lösche das letzte Bild
ganz schnell und spiel es ab. Los geht's. Dazu haben wir eine nette
Animation. Und einfach so haben
wir alle unsere Animationen
für unsere Power-Ups erstellt. Nun natürlich, wenn Sie mehr
zu diesem Sprite-Sheet hinzufügen und auf jeden
Fall Ihre eigenen Animationen erstellen . Benutze mehr, mache mehr Power-Ups. Ich werde einfach
weitermachen und mir das sparen. Und wir können in
unser Powerup-Skript gehen. Was wir jetzt tun
werden,
um das in Zukunft zum Laufen zu bringen ,
ist, eine neue Funktion
namens
create power up zu erstellen. Und dafür bedarf es
eines Arguments. Dieses Argument
werden wir als knapp bezeichnen. Und
das können wir als Schnur auffangen. Jetzt müssen wir
diese Doppelpunkt-Zeichenfolge nicht hier einfügen. Du könntest es einfach eng haben. Wir sollten uns jedoch daran
gewöhnen, da dies
bei größeren Projekten einer leichten
Leistungssteigerung führen
wird. Wirf
hier all unsere
verschiedenen Variablen , Variablen,
Argumente, Parameter. Daran
sollten wir uns gewöhnen. Was wir hier beim
Erstellen von Power-Ups tun werden ,
ist, dass wir unsere Variable von tight
setzen. Also werden wir einen, unseren Typ
haben. Wir werden festlegen, dass unser Typ gleich zu eng
ist. Auf diese Weise. Diese spezifische Kraft wird wissen, welche Art von Kraft
es ist, was sich als
nützlich erweisen wird , wenn wir später
unsere Kräfte aufnehmen und mit
ihr interagieren. Und die einzige andere
Sache, die wir tun werden ist unsere Animation einzustellen. Du wirst den
Animationsplayer holen. Wir nennen es „Play“. Und wir werden
einfach kurz vorbeikommen. Und das ist alles, was wir tun
müssen, damit Animationen hier funktionieren. Wann immer wir also weitergeben, was auch immer unser Typ ist
, wird das funktionieren. Zum Beispiel, nur zu
Demonstrationszwecken, werden
wir weitermachen und
Power Up erstellen und wir werden es nennen. Wir geben es weiter und sagen Gesundheit. Und wenn wir diese Szene testen, können
wir sehen, dass sie animiert und unser
Gesundheits-Power-up da oben ist. Und wenn wir dies in, sagen
wir mal Geschwindigkeit,
ändern , versuchen Sie es erneut. Wir haben unser
Speed-Power-up da oben in der Ecke und das ist animierend. Also
funktioniert alles wie beabsichtigt. Soweit die
Animation reingehen soll. Im nächsten Video geben wir
unserer Kraft
etwas Bewegung und schaffen
einen Spotter, etwas Bewegung und schaffen damit sie zufällig
in unserer Welt erscheint.
14. Schalte Spawner ein: In diesem Video
werden wir
die Bewegung
unserer Power of Habit
erstellen die Bewegung
unserer Power of Habit die vom oberen Bildschirmrand
auf
den Spieler zukommt. Um das zu tun, werden wir hier ein paar unserer
Standarddinge
brauchen. Die erste ist die Geschwindigkeit, die unserem Power-Up
hinzugefügt wurde. Bisher
entspricht der Geschwindigkeits-Doppelpunkt dem Vektor zwei Punkt 0. Wir brauchen
auch eine Geschwindigkeit. Wir können das auf setzen,
ich werde
200 für diesen Prozess verwenden , wir müssen unsere Bewegung passieren und mit Geschwindigkeit als
erstes Argument
gleiten. Und für unsere Bereitschaft können
wir sagen, Geschwindigkeit Punkt x Punkt y, weil wir uns
vertikal bewegen, ist gleich Geschwindigkeit. Jetzt verwenden wir ein Positiv
, weil wir runterkommen. Wenn wir negativ sind,
würde es
steigen, wenn ich die nicht rückwärts bekommen habe. Wir werden es in einer Sekunde
sehen und unsere Szene testen. Und da geht es los und
bewegt sich auf unserem Bildschirm nach unten. Also habe ich die in
der richtigen Ausrichtung. Okay, jetzt
haben wir die am Laufen. Ich werde weitermachen und meine beiden Kommentare
noch einmal von meinem Spieler
holen . Und ich werde sie hier an
meine Power Apps weitergeben. Vermeiden Sie jegliche Verwirrung. Wir gehen. Und jetzt haben wir
Bewegung zum Power-Up, und wir haben unsere
Kraft zu animieren. Wir müssen es tatsächlich
in die Welt gebracht haben. Dafür erstelle ich
eine neue Szene wähle andere für meinen Knoten aus. Und ich werde einfach den Basisknoten
verwenden , den Sie ganz
oben finden. Und das wird von Spawner sein. Ich werde weitermachen und es in Spawner
umbenennen. Dieser Spotter wird einen Timer
haben. Die Zeit
, auf die Sie es einstellen möchten , liegt
ganz bei Ihnen. Zu diesem Zweck. Ich stelle es
einfach auf drei Sekunden ein und schalte Autostart in meiner Szene ein. Spider.js KANN ein neues
Skript hinzufügen, mein Spawner. Stellen Sie sicher, dass es sich
im richtigen Ordner befindet. Und jetzt können wir tatsächlich
die Bonding-Anwendung
unserer Power-Ups erstellen . Wir wollen nicht, dass Power-Ups
überall auf der Karte platziert
erscheinen, oder? Wir wollen nicht
alle unsere Power-Ups von Hand platzieren. Und
du gehst vielleicht viertausend Pixel über unserer eigentlichen
Szene oder so etwas. Wir wollen es tatsächlich in die Welt
spawnen. Wir wollen, dass sie randomisiert werden. Es ist also anders, welche
Kräfte jedes Mal bekommen. Es ist niemals dasselbe.
Es ist tatsächlich das zu tun. Wir werden
ein paar Variablen erstellen. Wir werden eine erstellen
, die unsere Power-Up-Liste enthält. Sag Power-Ups Liste. Das wird ein Array sein, speziell
ein Pool-String-Array, das wird
nur Gesundheit bewahren. Schilde. Unsere Geschwindigkeit und Multi die exakt
gleichen Namen und Schreibweisen der Animationen
, die wir zuvor verwendet haben. Wir müssen uns überhaupt keine Gedanken über
die Prozessfunktion oder die Bereitschaftsfunktion machen. Die einzige Funktion, um die wir uns
jetzt Sorgen machen
müssen , ist unser Timer. Und wenn unser Ding mal L. Also werde ich den Timer
auswählen, den Knoten-Tab hier oben. Doppelklicken Sie auf Timeout,
um sicherzustellen, dass der Spawner ausgewählt
ist, und klicken Sie auf
die Schaltfläche Verbinden Jetzt hätten wir
das durch Code verbinden können. Das stimmt, aber das ist auch
der einfachste Weg. Wenn Sie noch nicht damit vertraut sind, einen
Teil dieses Codes beim Timeout auszuführen. Und das erste, was wir tun
müssen, ist randomize anrufen. Und es wird den Seed
randomisieren und verhindern, dass wir jedes Mal
das gleiche Ergebnis erzielen. Denn wenn wir das nicht tun, bleibt
unser Samen derselbe. Und zum Beispiel
könnten wir Schildgeschwindigkeit,
Multi-Gesundheitsschild-Geschwindigkeit,
Multi-Gesundheitsschild-Geschwindigkeit usw. erhalten Multi-Gesundheitsschild-Geschwindigkeit, , und das ist nicht sehr zufällig. Es ist auch nicht sehr aufregend. Also werden wir es jedes
Mal
randomisieren , wenn der Timer abgelaufen ist. Und wir werden eine Variable
brauchen , die unsere Macht obszön hält. Sag r ist gleich Reload. Und wir werden unsere
Macht obszön reinziehen. Jetzt, wo wir das
direkt nach dem Zufallsverfahren haben, können
wir eine Instanz
von Arsin-Balkenleistung erzeugen. Entspricht unserer Up-Dot-Instanz. Jetzt, wo wir eine
Instanz unserer Szene haben, können
wir die Position
festlegen, an
der sie sich erstrecken soll. Wenn wir jetzt über die Spitze gehen, wollen
wir, dass es hier oben irgendwo
zufällig ist, oben zufällig. Wenn wir uns jetzt unser
Projekt ansehen und Sie sich erinnern, kommen
Sie zu unserem Display. Unsere Breite beträgt nur 224. Damit
müssen wir also arbeiten. Wir werden also sagen, dass
var position underscore x gleich Randy ist, was eine zufällige Ganzzahl ist. Und wenn wir ein
Prozentzeichen
gefolgt von einer Zahl wie Sieben
setzen, erhalten wir eine
Zufallszahl zwischen 06. Wenn wir also 224
machen, erhalten wir eine
Zufallszahl zwischen 0223. können wir jetzt jederzeit ändern. Zum Beispiel könnten wir
etwas zwischen 02:01 tun, aber dann können wir auch weitere 23 hinzufügen
. Das gibt uns jetzt
eine Zahl zwischen 23224. Und der Grund ist, dass wir unsere Nummer
kriegen. Nehmen wir zum Beispiel an, wir erhalten 0, sie werden ausgewählt. Wir werden dann 23
hinzufügen. Die niedrigste Zahl, die
wir bekommen können, ist also 23. Und die höchste
Zahl, die wir bekommen
können ist, dass 200 ganz oben auf
unserer Liste
steht, 200 plus 23. Sie möchten jedoch
entscheiden, wo Ihre Spawns
funktionieren. Für die aktuelle Zeit. Ich mache einfach
weiter und benutze bis 24. Jetzt, wo wir eine Position haben, müssen
wir unser zufälliges
Power-Up bekommen, das erstellt wird. Also werden wir das auf die gleiche Weise bearbeiten
. Wir werden sagen, dass var
hour gleich Randy ist. Und wir werden eine weitere Zahl
mit dem Prozentsatz
weitergeben . Nur. Dieses Mal verwenden wir
die Größe unserer Power Apps-Liste. Die Größe wird
uns
nun mitteilen , wie
lang unser Array ist und
wie viele Artikel sich hier befinden. Also 1234, was bedeutet, dass wir eine
Zahl zwischen 03 bekommen, was für uns funktioniert denn wenn wir über einen Index
sprechen, haben
wir 0123, oder? Wir haben bei 0 angefangen. Die Größe
gibt uns also die perfekte Zahl. Und wenn wir hier noch
andere Dinge hinzufügen würden,
wie zum Beispiel, ich weiß nicht, lass uns mit der
Explosion gehen, oder? Dann. Wir müssen
unseren Code überhaupt nicht ändern. Wir können uns einfach ändern
oder einfach einen neuen Artikel zu
unserer Power-App-Liste
hinzufügen. Gehe zu unserer Power-up-Szene
und erstelle neue Animationen, und wir werden gut sein. Wir müssen
unseren Code überhaupt nicht anfassen. Jetzt, wo wir die Position haben, wollen
wir, dass sie sie spawnt. Und die Kraft oder die Kraft, die wir im Spiel
zeigen und zeigen wollen müsste
diese beiden Dinge
tatsächlich festlegen und in unsere Szene aufnehmen, um gesehen zu werden. Um das zu tun, können wir
unsere Macht richtig machen oder ein Beispiel
unserer Macht hier hochbringen . Wir werden die Position festlegen. Wir wollen die x-Eigenschaft davon. Deshalb wollen wir das
unserer Position ausstellen. Unterstreiche x, was auch immer
diese Zufallszahl ist. Wenn wir uns hier
unser Power-up-Skript ansehen, denken Sie daran,
dass wir eine Funktion namens
create power up erstellt , und einen Typ übergeben haben. Dieser Typ wird die
Energie sein, die wir weitergeben. Der Power-Typ wird hier also einer von diesen
sein
, der auch den gleichen
Namen wie unsere Animationen hat. Wir werden also auch
eine Animation abspielen , die auf dem
basiert, was wir übergeben. Damit wir an die Macht gehen können. In unserem Beispiel hier werden
wir Create Power
nennen. Und das erfordert ein Argument. Und dieses Argument
wird unsere Macht sein. Und das sollten
keine Großbuchstaben B in Kleinbuchstaben sein. Wir gehen, okay. Jetzt haben wir also unsere
Position festgelegt. Wir haben den Power-Typ eingestellt und unsere Animation
sollte abgespielt werden. Jetzt müssen wir das nur noch
in unsere Szene aufnehmen. Und da sich unser Spawner
nicht bewegt oder so, haben wir ihn einfach direkt
zu unserem Spawner hinzugefügt. Wir sagen Add Childpower. Und wenn wir
jetzt unsere Szene
unseres Spawners hier spielen und einen Blick darauf werfen würden. Oh, mein Fehler. Es ist Creep-Power Up,
keine Kriechkraft. Okay, speichern wir das einfach und testen
die Szene noch einmal. Jedes Mal, wenn diese Zeit
abgelaufen ist, sollten wir sehen. Alles klar, als du
hier klein warst, habe ich vergessen, wie es uns eine Zahl
gibt. Wir müssen immer noch darauf
zugreifen, was das ist. Also müssen wir in unsere, unsere,
unsere x-Liste gehen . Und den Index,
den wir als unsere Macht weitergeben werden. Mein Fehler da. Ich bin ein bisschen
vor mir selbst gesprungen. Wenn wir jetzt weitermachen und es testen, sollten
wir jetzt sehen, wie
unsere Kräfte in einer Animation erscheinen. Das sind Schilde. Und wir warten
wieder auf den Timer, ihre Geschwindigkeit. Es ist eine andere Geschwindigkeit. Und wir sehen, dass es
völlig zufällig ist. Jedes Mal, wenn wir
drei Köpfe hintereinander haben, ist
das eine Menge Geschwindigkeit für unseren Charakter. Es gibt
noch einen Schild. Geschwindigkeit, viel,
viel in der Mitte, es gibt eine
Multishot-Geschwindigkeit. stehen wir der Gesundheit nicht
zu viel im Weg Moment stehen wir der Gesundheit nicht
zu viel im Weg
. Es gibt ein Schiff, aber wir bekommen
viele Schilde, was nett sein könnte. Es gibt einen Schweden. Das ist eine weitere Geschwindigkeit, mit
der wir viel reden können. Können wir hier eine Gesundheit bekommen, Zwangsvollstreckung?
Was bekommen wir ein x? Wir haben ein Multi. Okay, anscheinend werden
wir
hier
keine Gesundheit für unsere Power-Ups bekommen , was bedauerlich ist,
aber es ist zufällig. Es wird erscheinen, glauben
Sie mir, an diesem Punkt liegt alles an
orange. Jetzt müssen wir nur noch in
unsere Welt und unser kleines
Kettensymbol hier oben gehen und einfach unseren Spawner in
die Szene aufnehmen. Und los geht's. Wir haben jetzt Power-Ups
, die in unserem Spiel erscheinen. Sie machen gerade
nichts, aber sie erscheinen. Und wir können
unseren Timer immer so anpassen , wie wir das in Zukunft wollen
. Wir
haben eine Gesundheit für uns selbst. Nun, ein Problem, das
wir hier haben werden. Ein Problem hier ist unser Power-Up. Manchmal wollen wir nicht, dass es
immer auftaucht, hochfährt. Wir wollen nicht, dass es
zum Beispiel alle 20 Sekunden oder
alle zwei Sekunden eingeschaltet ist. Wollte manchmal
bekommen wir kein Power-Up und
manchmal schon. Also für so etwas, wenn du diese
zufällige Chance haben willst, nur um deinem Spiel etwas mehr
Zufälligkeit zu verleihen. Dann können wir hier
eine weitere Variable
namens let's go erstellen .
Nennen wir es eine Chance. Und wir setzen es wieder auf
eine zufällige Ganzzahl. Und wir können
eine Zahl als Prozentsatz von zwei weitergeben. Und jetzt heißt
das 0 oder eins. Wir können also 0 sagen, es gibt nichts
aus und das tut es auch. Dafür können wir also den Zufall erreichen. Ich sage 0. Dies wird vorübergehen und
niemand wird tatsächlich die Kraft
dessen erzeugen, was wir brauchen, um dies in
einem weiteren zu nutzen. Los geht's. Da haben wir's. Jetzt haben
wir also nicht immer ein Power-Up. Um diese
Wassup-Miete unter der 0 zu zeigen, werde
ich sagen, dass es keinen Strom gibt. Lass uns weitermachen und in
unsere Welt laufen und wir können
uns das ansehen. Sie sehen, wir müssen
diese Zeit hochfahren und wenn wir uns früher oder
später
unsere Ausgabe ansehen , sollten wir eine 0 erreichen. Da haben wir's. Keine Energie. Schon wieder kein Strom. Drei Fälle ohne Kräfte hintereinander. Sie können also schon sehen,
obwohl wir einen kurzen Timer haben, da es hier eine Chance von 5050 ist, reduzieren
wir
das Potenzial wirklich. Aber gleichzeitig können
Sie sehen, dass wir auch viele Kräfte
bekommen. Wenn Sie das also ändern
wollen in,
ich sage, eine Chance von 10%, dann können wir hier reinkommen
und wir können zehn sagen, oder? Wir können dies auf zehn Zahlen setzen, also 0 bis neun. Und alles was wir tun müssen
ist, dass wir herkommen können. Sie können dies
auf eine beliebige Zahl
setzen . Es ist egal. Also setzen wir es auf 0. Zum Beispiel. Wir könnten
die anderen einfach
als Platzhalter weitergeben und sagen, keine Macht. So
lang unser Timer auch ist, denke
ich, dass es 1 Sekunde ist. Ich
glaube nicht, dass es das ändern würde. Wir haben nur eine Chance
von 10%, dass ein Power-Up spawnt. Wie auch immer Sie das tun möchten, was wollen Sie
mit der 5050-Route machen? Oder wenn Sie mit einer solchen
prozentualen Chance gehen möchten. Das sind also 10%. Wenn wir dies in
eine Fünf ändern und ausführen, haben
wir jetzt eine Chance von
eins zu fünf. Fünfte würde also eine 20% ige Chance haben, dass unser
Power-Up spawnt. Was ziemlich anständig ist, Sie können
dies jederzeit ändern, wenn Ihre Levels steigen. Wenn du Levels hast oder du kannst es
einfach zu einem unendlichen
Scroller machen und vielleicht die Zahl
anpassen. Sie können also die fünf dort ändern , um möglicherweise die Überstunden zu erhöhen. Aber ich bin mir
sicher, dass dieses Video
zu diesem
Zeitpunkt ziemlich lang wird , aber so
erstellen wir Power-Ups. So können
wir die 5050-Chance nutzen ob es sich um
Spawns handelt oder nicht. Auf diese Weise können wir
eine prozentuale Wahrscheinlichkeit ein Power-Up spawnt. Und denk dran, du kannst
reingehen und
den Timer unseres Spawners ändern . Hier. Sie können den Timer auswählen und wir haben keine
drei Sekunden. Sie können dies jedoch so lange anpassen, lange Sie möchten, dass
sich Ihr Gerät zwischen
potenziellen Power-Ups befindet. Damit hoffe ich, dass Sie eine ziemlich gute Idee
haben. Wie erstellt man ein Power-up? Wie erkennt man sie in der Welt? Das hebe ich mir nochmal auf. So weißt du jetzt, wie
man Power-Ups erstellt, sie zu deiner Liste
hinzufügt, die Animationen für ihn
erstellt
und sie in deiner
Welt spawnt, damit wir sie verwenden können. Audits für die
Power Apps
sollen jetzt tatsächlich in der Lage sein, mit
ihnen
zu interagieren und sie entsprechend
handeln zu lassen ,
je nachdem, was sie sind.
15. Energieaktivierung: In Ordnung, lass uns weitermachen
und unsere Power-Ups erstellen und sie funktionsfähig machen. Dass sie tatsächlich Dinge tun
und mit dem
Spieler interagieren können , würde es nicht verstehen. Okay, also lasst uns
in unsere Power-up-Szene gehen. Und wir können unseren Bereich 2D auswählen. Und wir
werden tatsächlich
ein Signal des eingegebenen Körpers weitergeben . Könnte das direkt an
unsere Macht hier oben weitergeben. Und jetzt
wollen wir als Erstes
sicherstellen, dass dies der Spieler ist. Also werde ich überprüfen, ob Spieler und Körper
und Körper Punktnamen sind. Und ich kann das noch mal überprüfen. Ja, ich habe hier
meinen kinematischen Körper namens
Spieler mit einem großen P. Also sollte das funktionieren. Sorry,
wenn Spieler in und Body Dot Name wann
hier runter kommen und wir können was auch immer entsprechend
passiert ist haben. Jetzt wollen wir natürlich, dass dies von der Art der Leistung abhängt. Aber jetzt können wir
loslegen und drucken. Und wir können sagen, dass Energie gewonnen wurde. Und wenn wir das jetzt spielen würden, wenn wir in unsere Macht geraten, wenn einer von ihnen erscheint, sollten
wir sehen, dass das auf der Konsole
ausgedruckt ist. Bumm, da haben wir's. Leistung erhalten. Die eigentliche Frage lautet also, was
sollen diese mit jeder Kraft anfangen? Nun, wir können hier Geschwindigkeit
als Beispiel verwenden. Aber ich möchte, dass du versuchst
herauszufinden, wie wir
das Speed-Power-Up erreichen können , um
die Geschwindigkeit unseres Spielers zu erhöhen. Okay, also mach weiter, pausiere das Video und
nimm dir einen Moment Zeit, um
das zu tun . In Ordnung, willkommen zurück. Ich werde, ich werde es durchmachen, und was ich tun werde,
ist,
eine mathematische Aussage
zu verwenden und meine Leistungsaufnahme anzupassen. Also maximale Leistung eng. Und ich werde sagen, wenn
der Typ der Geschwindigkeit entspricht, werde
ich auf
den Körper zugreifen , der unser Spieler ist. Denk dran, ich
werde den Geschwindigkeitswert bekommen, die Körperpunktgeschwindigkeit, und ich
setze sie auf 200. Was auch immer unsere Geschwindigkeit ist,
wir werden sie vervielfachen. Und um Fehler vorerst zu vermeiden, nennen
wir ihn einfach
den Platzhalter und kommen vorbei. Mal sehen, wie
das jetzt passiert. Natürlich müssen
wir warten, bis ein Speed-Power-up erscheint. Wenn wir Glück haben,
kriegen wir sofort einen. Sie können sehen, wie langsam
wir uns hier bewegen. Und das sollte sich
verdoppeln, sobald wir ein Speed-Power-up bekommen, das heißt Gesundheit, nichts passiert. Das ist in Ordnung. Gleiche gilt für shield, da dies unter unseren Platzhalter
fällt
, der im Moment nichts bewirkt. Das ist mehr Gesundheit. Ihre Geschwindigkeit. Wir haben es geschafft und Sie können sehen, dass
wir viel schneller sind. Bereit? Natürlich Schild, das werden
wir vermissen. Wenn wir eine andere Geschwindigkeit erreichen sollte sich
das vervielfachen. Ich verstehe also, dass es uns nicht einmal vervielfachen
wird weil wir
es schwer auf 100 gesetzt haben. Wir vermehren
die Süßigkeit überhaupt nicht. Das ist also alles in Ordnung und gut, aber wir müssen auch unsere Geschwindigkeit irgendwann wieder auf
den Normalwert zu reduzieren. Was wir also
tun werden,
ist zunächst
eine neue Variable
namens Geschwindigkeitsmultiplikator zu erstellen . Und wir werden das auf zwei
setzen. Auf diese Weise können wir dies in Zukunft
mit Leichtigkeit vervielfachen. Also werden wir das zwei mal gleich setzen
,
was bedeutet, dass wir
die Geschwindigkeit gleich der
Geschwindigkeit mal setzen , was auch immer wir hier
auf der rechten Seite setzen, was in diesem Fall unser Geschwindigkeitsmultiplikator
sein wird. Wir sagen also, Geschwindigkeit ist
gleich Geschwindigkeit mal Multiplikator, sozusagen Tom Steel. Und das wird uns
das gleiche Ergebnis geben nur ein bisschen
modularer
ist, denn das würde hier
auftauchen und wir
können es einfach
an das anpassen , was wir wollen. Im Moment. Ich lasse es einfach
um zwei Mal stehen. In Ordnung? Jetzt brauchen wir also einen Weg, damit
die Geschwindigkeit nachlässt. Für meinen Spieler will
ich also, dass ich meine Geschwindigkeit will. Ich möchte, dass alle meine Power-Ups von Dauer sind. Ich würde sagen zehn Sekunden. Also
erstelle ich einen Timer auf meinem Player und nenne
ihn unseren App-Timer. Ich setze die
Wartezeit dafür auf zehn Sekunden, weil ich
so lange meinen
Power-Up-Slash haben möchte. Ich verbinde das
Timeout-Signal mit meinem Player. Und jetzt, wenn das
Timeout eintritt, werden
wir das
je nach aktivem Power-Up tun . Also werden wir eine neue Variable
namens Wirkleistung
erstellen . Und das wird nur eine Zeichenfolge sein. Und wir werden sagen „Wirkleistung
anpassen“. Also, wenn unser Timer mal l. Am Ende
unserer zehn Sekunden werden
wir das sein, was
unsere aktive Kraft ist. In diesem Fall arbeiten wir
mit Geschwindigkeit als Beispiel. Wir werden also sagen,
wenn unser Timer abgelaufen ist, werden
wir unsere
Geschwindigkeit wieder normalisieren. Also nehmen wir unsere
Geschwindigkeitsvariable und setzen sie auf 100 zurück. Und wenn wir
noch etwas anderes haben, werden wir vorerst einfach bestehen. In Ordnung, wenn wir
das jetzt ausführen würden, werden
Sie feststellen, dass es hier ein Problem
gibt. Wenn wir jetzt weitermachen
und auf
diesen Schild warten und weißt du was? Ich werde weitermachen und hier unten
drucken, nur um sicherzugehen, dass wir
nicht falsch zählen. Normale Geschwindigkeit. Lass uns das
nochmal versuchen. Nepali. Okay. Komm her mit der
Geschwindigkeit, jederzeit aufzutauchen. Anscheinend wird das
wirklich Pech und
keine Power-Ups bekommen , während wir
versuchen, sie hier zu testen. Als super bedauerlich. Aber es kann
natürlich passieren, weil
alles zufällig ist. Es sieht also so aus, als ob
wir eine ziemlich trockene Jahreszeit in unseren Power-Ups haben. Ihre Geschwindigkeit haben wir verstanden. Okay. Sie können sehen, dass wir
rasen. Wenn wir uns die Ausgabe ansehen, können
wir sehen, dass sich die Geschwindigkeiten jeder
zweiten Stunde wieder normalisiert
haben. Aber das tut es nicht. Und
warum nicht? Weil wir den Timer nie wirklich
starten. Und das
wird natürlich ein Problem sein. Wir können unsere Sprache am Ende der Zeit nicht wieder
normal machen wenn wir den Timer nie starten. Was wir also beim Hochfahren wieder tun müssen ist, wenn es um Geschwindigkeit geht. Wir müssen nicht nur
den Multiplikator ändern oder den süßen Wert
verfolgen. Aber wir müssen auch body dot get node
machen. Lass uns einen Blick darauf werfen.
Wie haben wir es genannt? Wir nennen es einen Power-Up-Timer. Also werden wir
hier eine Saite namens Power Tyrone
haben . Stellen Sie sicher, dass es genau
gleich geschrieben ist , da
sonst ein Fehler auftritt. Also Power-up-Timer und
wir sagen Punkt Start. Also
starten wir den Timer. Und jetzt, wenn wir es abspielen, erhöht sich
nicht nur die Verschlusszeit, sondern auch der Timer startet. Und wenn der Timer endet oder die Geschwindigkeit
wieder normal wird. Aber wenn Sie
darüber nachdenken, fehlt uns immer noch eine entscheidende Sache, warum unser Timer dies nicht wieder normalisiert. Kannst du dir überlegen,
was das ist? Das ist direkt in
unserem Player. Wir stützen uns auf die
Wirkleistung, aber wir legen nie fest, was
diese Wirkleistung ist. In unserem
Power-up-Skript müssen
wir das also auch
festlegen. Also körper-Punkt-Wirkkraft. Klar, das habe ich richtig geschrieben. Aktiver Unterstrich. Wir können das gleich Geschwindigkeit setzen. Oder wenn wir es nicht dort platzieren
wollen. Wir können es auch hier einrichten, wenn wir wissen, dass wir es nicht einrichten wollen. Wenn wir die Power App erstellen, wollen wir sie
nur machen,
würden sie nicht abholen. Also müssen wir es
hier unten in unserem Spiel machen. In Ordnung? Wenn wir es also jetzt versuchen, sollte die Geschwindigkeit steigen. Wie zuvor sollte
der Machtakt festgelegt werden. Wir wissen also, was zu tun ist
, wenn der Timer abgelaufen ist. Und wir sollten
beim Timer anfangen ,
damit er ausgehen kann. Nichts passiert. Und wir warten einfach
auf die Geschwindigkeit. Ich hatte einen Tippfehler in meinem Namen. Hier ist das Problem. Ich habe ein Kapital I und meinen Timer. Ich muss das in Ordnung bringen. Da haben wir's. Ich bin Aaron wegen eines Tippfehlers
raus. Deshalb ist es wichtig
, dass Sie die
Dinge genau so buchstabieren , wie Sie es zuvor hatten. Denn wenn wir Strings
vergleichen, Groß- und Kleinbuchstaben sind Groß- und Kleinbuchstaben zwei sehr
unterschiedliche Zeichen. Also lasst uns weitermachen
und noch einmal warten bis
ein weiteres
Geschwindigkeits-Power-up erscheint. diesem Grund
testen wir den Code immer während wir gehen. Das wollen wir nicht. Eine Menge Dinge rein und
dann testen und 30 verschiedene Fehler von all diesen verschiedenen
Orten erscheinen. Wir möchten sicherstellen, dass
wir den Fehler erkennen, wenn er auftritt, damit wir ihn sofort
beheben können. Also warten wir einfach darauf, dass dieses
Geschwindigkeits-Power-up erscheint. Es ist eine andere Gesundheit.
Bumm, bumm, bumm, bumm. Schiessen. Das funktioniert immer noch. Wir bekommen einen Bildschirm, der Schild ist. Es gibt eine Geschwindigkeit. Da haben wir's. Sie
können viel schneller sehen, wo
die Zeit abläuft. Mal sehen, dass das
Ausdrucken wieder normal wird. Und wir sind wieder langsamer. Jetzt haben wir ein
Geschwindigkeits-Power-up, das so
funktioniert,
wie es beabsichtigt ist , und
uns wieder normal macht. Das Letzte
, was wir tun müssen, ist die
Anpassung der
Dinge an das Gedächtnis, denn im Moment haben wir ein Speicherleck in unserem Spiel. Und das liegt daran, dass
unsere Power Apps nie verschwunden sind, obwohl
sie außerhalb des Bildschirms sind. Es gibt immer noch
in unserer Welt. Was wir also tun wollen ist, dass wir unsere
gedruckte Erklärung dort loswerden können. Und wenn wir mit dem Spieler
interagieren, wollen
wir uns selbst befreien. Denken Sie daran, dass self optional ist, also können Sie einfach q für jedes Kind
eingeben, genau wie wir es bei diesem Kind tun. Persönlich
tippe ich lieber selbst, aber Sie müssen sich nicht
frei anstellen , wenn der Player das Power-Up
berührt. Aber wir wollen dabei auch
einen Blick darauf werfen ob unsere Position als verschwindet. Wir wollen also sagen
, ob das alles Hauptstädte sind. Also sagen wir, wenn self dot session
dot y größer ist als, und wenn wir uns an 400 long erinnern. Nehmen wir an, wenn es
größer als 400 ist, aber wir müssen die zusätzliche Zeit berücksichtigen weil der Punkt in der Mitte
des Verses
sein wird , oder? Also sagen wir für 20. Wenn unsere Position also größer als 420
ist, werden wir unsere Macht erneut anweisen, sich selbst
zu löschen. Und wenn wir das nicht hätten, könnten
Sie es
im Remote-Tab sehen
, den ich Ihnen
hier in einer Sekunde zeigen werde. Wir werden weitermachen und
Sie werden die
Fernbedienung hier auf der
linken Seite sehen ,
laut Hit, dass dies unser Spiel
ist, während es läuft. Wenn wir also unseren Spawner öffnen, sehen
Sie, dass die Power Apps kommen. Und Sie werden sehen,
dass sie sich selbst löschen, sobald
sie den Bildschirm verlassen . Vorher haben
sie das nicht gemacht. Wenn du möchtest, kannst
du gehen und diese
kommentieren. Und da hast du's. Du hast gesehen, wie das Power-up verschwunden ist. Und wenn Sie möchten, können
Sie zurückgehen, das
kommentieren und
sich das Bild
ansehen , das verschwunden ist. Wenn ich spreche, taucht es auf. Wir sollten
darauf stoßen und sehen, wie dieser Tausch verschwindet. Und wir könnten
diesen R-Code tatsächlich leicht optimieren. Aber stellen wir einfach
sicher, dass das funktioniert. In Ordnung, da ist also
unsere Geschwindigkeit. Wir haben einen Geschwindigkeitsschub. Ein Power-up ist verschwunden. Der Timer sollte alle
sekundären Rückgänge zum Normalzustand ausgehen . Es sieht also immer noch als würde es
einwandfrei funktionieren. Also, womit ich gesprochen
habe und wir könnten unseren Code auch
referenzieren oder wieder normalisieren, oder eher ein bisschen mehr optimieren da wir nicht jeden selbst Punkt Q
schreiben wollen, für jede einzelne Potenz,
weil wir möchte das trotzdem jedes Mal machen. Was wir also tun werden, ist, dass wir tatsächlich runter
und außerhalb unserer
Spielaussage kommen , solange die
Spielerinteraktion besteht, also sind wir immer noch innerhalb
der if-Anweisung. Wir werden es befreien. Was Sie jetzt
tun können, ist, dass Sie jetzt hier reingehen und
mehr Power Up erstellen können , damit Sie unseren Platzhalter dort
ersetzen können. Wir können also zum Beispiel
Gesundheit sagen. Und jetzt kommst du
her und erstellst eine Gesundheitsvariable für deinen
Spieler, wenn du möchtest, wenn du
vorspringen willst und das jetzt tun willst. Und du könntest einen
zur Gesundheit deines Spielers hinzufügen. Wir können uns das Multi ansehen und Sie können es aktivieren und so
haben, dass Sie, wenn Sie jetzt auf
einem
Shooting sind, zum Beispiel zwei schießen können . Oder vielleicht änderst du das
Projektil komplett. Wann hast du das Multi bekommen, was auch immer du willst, es liegt
ganz bei dir, aber du kannst jetzt für
jede Kraft, die du aufnehmen würdest, verschiedene Effekte
erzeugen . Und wir sehen uns
im nächsten.
16. Schilde: Okay, also lasst uns
weitermachen und
die Schildstärke in
unseren Spielern erhöhen die Schildstärke in , damit wir nicht getroffen werden
können. Wir werden also eine
visuelle Darstellung davon haben. Ich werde mich darum kümmern und
verschwinden, sobald wir
den beschädigten
Teil dieses Kurses erreicht haben. Also werde ich weitermachen und verhindern , dass die Vorschau oder das
Testspiel läuft. Und du solltest in
deinen Sprites sehen, dass wir hier eine weitere Tabelle für unsere Schilde
haben, und wir wissen, wie das funktioniert. Jetzt können wir weitermachen
und ein Sprite an
einem Animationsplayer
dazu erstellen . Wir können weitermachen. Td gesehen, alles
was wir brauchen ist ein Sprites. Dafür brauchen wir keine
Animation. Also können wir uns hier direkt für ein
Sprite für unsere Wurzel entscheiden. Nenn es Schilde. Wir brauchen
einen Animationsplayer. Natürlich müssen
unsere Schatten animiert werden. Du kannst sie
dyadisch lassen, wenn du willst, aber ich bin kein schlechter. Was brauchen wir? Wir brauchen Schilde,
da ist unsere Textur. Bringen Sie das in Animationen mit. Wir haben horizontale Rahmen, drei vertikale. Und
da ist unser Schild. Wir können weitermachen und einige
Animationen für diese Szene festlegen. Wir können unsere Animation erstellen. Animation wusste es. Das endet damit.
Wie hoch ist seine 0,75? Also 0.9, ich kann das verlassen, was uns sagen
würde, wir sollen eine Schleife machen und
wir werden sehen, wie das aussieht. Okay, das
sieht also ein bisschen aus. Es sieht okay aus. Für manche Menschen kann es
etwas langsam
oder schnell sein,
es liegt ganz bei Ihnen. Das erste, was mir
aufgefallen ist, ist, dass meins
verschwommen ist , das
ganz schnell wieder zu importieren. Und schalte meinen Filter aus. Sehr wichtig, los geht's. Und spiel das. Jetzt gehen wir. Mal sehen. Ich
will das nicht beschleunigen. Was passiert, wenn
wir das beschleunigen? Ich gehe einfach. Jetzt
ändern wir dies stattdessen auf 0.1. Und alles bewegt
sich in Führung oder Funktion. Schnapp es da unten. Drittens, die sehen, wie das aussieht. Ich denke das sieht besser aus. Ich passe meine
Länge hier auf 0,6 an. Okay, ich denke,
das sind die Zahlen, zu denen ich passen
möchte. Ich werde mit
0,05 auf meinen Snap gehen. Ihre Gesamtlänge von 0,3. Ich glaube, ich bin mit
dieser Geschwindigkeit an meinem Schild zufrieden. Du möchtest vielleicht, dass du langsamer
zu meinen Beobachtern bist. Aber ich denke, das ist es, was
ich tun möchte, um das zu retten. Und jetzt, wo wir diesen Krater
haben, werde
ich die Animation
beenden. Und die Animation hier. Wenn wir unsere aktuelle Animation
so einstellen,
dass Schilde aktiv sind, sollte sie automatisch
abgespielt werden , wenn
sie in der Szene ist. Und wir
brauchen einen
Erkennungsbereich oder wenn unsere
Schilde später getroffen werden. Also werde ich einen Bereich für D
erstellen. Und das braucht eine
Kollisionsform. Für die Form gebe ich ihr
einfach einen Kreis, so etwas. Und wir können uns
das mit unserem Spieler ansehen, um
sicherzustellen , dass es unseren Spieler und
Blocker-Spieler davor schützt, getroffen zu werden. Mal sehen, lass uns, lass uns unseren Player
öffnen. Und jetzt fügen wir
unseren Schild hinzu. Schau es dir an, damit wir unseren fertigen,
herausstehenden Spieler ein wenig sehen können. Was ich also tun werde, ist
, meine Schilde hier zu vergrößern. Ich werde
hier runter kommen, um mich zu verwandeln und ich werde meinen Maßstab
vergrößern. Das könnte
auch ein bisschen sein, vielleicht 1,25. Lassen Sie mich einen Blick darauf werfen, dass
definitiv alles
gesperrt wird , all unsere anderen Hits hier. Speichere dir das und sieh dir das jetzt im Spiel
an. Was wir jetzt haben, nicht animierend wie ich erwartet hatte,
funktioniert, also ist das in Ordnung. Wir können es einfach so einstellen
, dass es automatisch im
Shield-Skript selbst
animiert wird. Wir gehen in unser Feld. Es ist ein Drehbuch an der
richtigen Stelle. Skripte-Schild. Großartig. Ich bin bereit. Hat der Animationsplayer Schilde
mit Punktwiedergabe aktiv? Und das war's. Los geht's. Jetzt
wissen wir, was es ist, wie es wäre,
Schilde um unseren Spieler zu haben. Jetzt
wollen wir das natürlich nicht die ganze Zeit. Wir wollen das alles
in B, wenn wir unseren Schild
abholen , sind wir da oben. Also können wir jetzt
in unseren Player gehen. Wir können unsere
Schilde laden, sagen wir var, shield, Szene entspricht Nachladen, und wir bringen unseren Schild
in die Luft, wie er ist. Das
bringen wir rein. Und um das zu erkennen, können
wir Schilde
auf wahr setzen. Bar abgeschirmt, stimmt. Und das
wollen wir natürlich auch besetzen, was wir trennen sollen. Dies wird ein boolescher Wert sein. Jetzt können wir hier
runter kommen und
ein Funktionsschild erstellen , aktivieren. Und wir brauchen
ein Instanzfeld n entspricht shield seen instance. Und jetzt müssen wir
das nur noch unseren Spielern hinzufügen . Selbstzweifel. Und der Kinderschutz sollte alles
sein, was wir hier tun müssen. Gehen wir also zu
unserem Power Apps Script über. Und wenn wir Schilde treffen,
wenn das aufgegriffen wird, nennen
wir es
Body Shield Activate. Wir werden
Ihre Rechtschreibung auf dieser Ebene noch einmal überprüfen. Und um sicher zu gehen, kopiere
ich die Funktion und
füge sie einfach dort ein. Okay? Es ist richtig. Und wir könnten
es aus unserer Ebene löschen. Jetzt kann ich weitermachen
und testen und wenn wir ein Show-Power-Up aufnehmen, sollte
der Schild auf uns erscheinen. Und das wird natürlich
sein, RNG , wann das
tatsächlich auftaucht. In Ordnung, also haben wir uns
einen Schild und los geht's. Zwei Sitze aktivieren
alles in Ordnung. Jetzt müssen wir nur noch
den Schild so einrichten, dass er verschwindet. wir wiederum in Angriff nehmen können
, wenn wir in
den beschädigten Teil kommen oder der Spieler Schaden erleidet. In Ordnung, also wenn Sie bisher
mitverfolgt haben, Sie nicht alleine
weggelenkt. Sie sollten jetzt ein
Schild-Power-Up haben, das funktioniert. Und wir schienen gerade einen Bug
zu haben weil wir
einen zweiten Schild aufgenommen haben und
jetzt haben wir drei. Wir können also
eher unsere beiden anpassen, aber das können wir beheben. Wir können überprüfen, ob der
Körper punktabschirmt. Stell sicher, dass ich das richtig verstanden habe. Ja, abgeschirmt. Wir werden standardmäßig
auf „false“ setzen, nicht auf „true“. Sag, ob der Körper punktgeschützt ist. Also werden wir sagen,
wenn shielded wahr ist, also wenn unser Player abgeschirmt ist, werden
wir nichts tun. Wir wollen also das Gegenteil davon. Also könnten wir
hier am Anfang ein Ausrufezeichen setzen und sagen,
wenn nicht der Körper punktabschirmt, was uns falsch machen würde. Oder wir können das
Wort eingeben, wenn es nicht körperreich, nicht abgeschirmt
ist, je nachdem, wie es für Sie bequemer ist. Ich tippe das Wort ein, nicht nur um es auf einen Blick
klarer zu machen. Wenn nicht, Körper nicht abgeschirmt. Also wenn unsere abgeschirmte
Variable hier
falsch ist , dann machen wir das. Sonst werden wir nichts davon
tun. Wenn wir es jetzt laufen lassen und auf mehrere Schilde
stoßen, sollte
es nur für den
ihr Schild funktionieren, den wir bekommen. Wir müssen uns noch auf
eine Sache einlassen. Wir müssen hier in
unsere Schilde kommen. Wir müssen uns daran erinnern
, dass „Körper wurde abgeschirmt“ wahr wird. In Ordnung. Nun zu unseren Tests können Sie sehen, dass unsere Schilde
nicht einen Schild
stapeln werden , und das sind alle Shows
, die wir bekommen sollten. Und los geht's. Also haben wir
unsere Schilde funktionieren und wir einen kleinen Fehler behoben, der
aufgetaucht ist. In Ordnung. Also
gehe ich einfach zurück zu meinem Spotter und entferne das, da wir das nicht mehr testen müssen
und das einfach wieder darauf einstellen, keine Macht
zu sagen. Damit haben wir jetzt ein
voll funktionsfähiges Schild-Power-Up. Nun, soweit es darum geht,
ins Spiel zu kommen und benutzt zu werden.
17. Multi Shot: Ordnung, in diesem Video werden
wir uns Hinzufügen einer Mehrfachaufnahme ansehen. Anstatt also von jeder Seite auf
eine zu schießen, werden
wir schießen, um Alice von jeder Seite zu
schützen. Und sie werden in einem kleinen Winkel
herauskommen. In Ordnung? Das erste, was wir tun
müssen, ist, uns mit unserem Layer-Skript zu befassen. Und wir werden hier eine Variable
erstellen. Für den Multishot. Standardmäßig auf falsch. Wir können hier in einen Kampf- oder
Schießort gehen. Das in, und wir
werden sagen, ob
Multi-Shot oder wenn nicht Multi-Shot. Und tu das. Und dann können wir
im Grunde eine Kopie davon machen. Und da unten kommen, aber dann wird der Code wiederholt. Aber wir brauchen sowieso das zusätzliche Wir. Hören Sie also jemanden sagen „anders-wenn, anders-wenn“
, „Mehrfachschuss“ sagen soll. Und wir werden vier davon
brauchen, in unserem Fall drei oder so,
jetzt haben wir vier Laichen, aber sie werden
sich an diesem Punkt überschneiden. Wir werden weiter,
mal sehen, diese Kinder hinzufügen. Hier sind
Dreierszenen und Forstwirtschaft. Meistens ist das meiste von dem,
was wir getan haben nur ein Kopieren und Einfügen dessen,
was wir oben hatten. Was wir hier aber auch ändern
müssen, ist die Geschwindigkeitseigenschaft. Also müssen wir
das x davon ändern. Also werden wir die Geschwindigkeit des
Schusspunkts x ändern. Wir können das auf setzen, mal sehen. Zuerst wollte man nach links
und 34 nach rechts gehen. Also
wollten wir nur negative 50 sagen. Und wir können
dies für Verbrechen in der Umgebung
noch dreimal kopieren . 34. 34 werden also positiv
sein, 512 werden negativ 50 sein. Und wir machen weiter und führen das durch. Das
wird sich eigentlich nie ändern und wir müssen zu einer Macht gehen. Wenn Multi bekommt,
wird es seinen Körper machen. Multishot, richtig? Kopiere die Mehrfachaufnahme, stimmt. Okay, Sie können jetzt
sehen, mit unserer Mehrfachaufnahme, wir diese
Kreuzaktion am Laufen haben. Jetzt können
Sie Ihre Zahlen
hier natürlich nach Belieben anpassen. Und wir müssen uns nur entscheiden, wann diesen Multishot ausschalten sollen. Sie sehen, wir schießen auch
nicht mehr. Wir schießen Projektile. Und wenn ich das ganz schnell neu starte, sehen
Sie,
dass wir wieder
bei Shooting Two sein werden. Im Moment müssen Sie nur noch entscheiden, wie oder wann
dies ausgeschaltet wird. Und dann
komm her zu unserem Spieler und der aktiven Leistungsgeschwindigkeit. Also denke ich, dass ich auch diesen Abschnitt
wiederholen
oder unsere Kräfte deaktivieren werde . Aber das können wir uns
für ein anderes Mal aufheben. Aber im Moment können wir sehen, dass sich
das einschaltet, es funktioniert. Und mal sehen, wie
wir Multi-Shot aktivieren können, wer Funktion war,
kommt hier nicht runter, um Multi-Shot
wirklich zu ermöglichen. Dadurch wird Multi-Shot wahr. Was wir dann
von hier aus
tun können, ist , wir können einen Ertrag verwenden. Jetzt wird
das
in 4 anders funktionieren , etwas anders. Diese Klammern brauchst du nicht. Vielleicht musst
du einen Blick darauf werfen und sehen, was
der Unterschied für das x ist. Da bin
ich mir nicht hundertprozentig sicher. Aber wir haben yield
und dann
wollen wir tree dot create timer bekommen. Hier drin ist, wie
lange wir wollen, dass es dauert. Wir sagen fünf Sekunden, holen die Timeouts, und dann setzen
wir Multishot auf false. Nun, das könnte verwendet werden, diese Methode könnte die Art sein, wie ich unsere Power
Apps hier wiederhole, oder? Das ist die Geschwindigkeit und
wir gehen vorwärts. Also
kommen wir rein und anstatt Multi-Shot
zu aktivieren, werden
wir sagen, Body
Dot Enable Multi Shot. Und wir schauen uns an,
wie das funktioniert, stellen sicher, dass das funktioniert. Also schießen wir zwei aus
dem Tor, was großartig ist. Wir haben einen Mehrfachschuss, habe auf vier von ihnen geschossen. Am Ende unseres Timers. Wir sind wieder bei dir
mit zwei. Also los geht's. Wir haben eine Mehrfachaufnahme
, die wunderbar funktioniert. Okay, wir haben also einen Schild, der aktiviert
und für uns aktiviert, und wir haben einen Mehrfachschuss
, der sich einschaltet und uns unsere Kraft und Fähigkeiten
verleiht . Auch hier können Sie diese Zahl einfach so
ändern wie Sie möchten, so
lange Sie möchten. Und wenn Sie
verschiedene Shooting-Power-Apps haben verschiedene Shooting-Power-Apps , die Sie in Zukunft aktivieren, ist
dies alles, was Sie tun müssen. Ändern Sie, was auch immer Ihre Fähigkeiten sind, und ändern
Sie, was auch immer Sie schießen oder wie auch immer Sie das tun. Wenn Sie also einen Laser haben, bringen
Sie ihn mit. Du wirst eine Instanz
einer völlig anderen Szene
haben . Zum Beispiel würden
Sie im
Fall eines Lasers einfach zum
Player hinzufügen, weil wir möchten, dass der Laser
beim Player bleibt. In der Regel, wenn
Sie
eher einen
traditionellen Laserstrahl haben , als
Laser wie einen Blaster zu schießen. Aber da hast du's. So funktioniert Multi-Shot. Und wie gesagt,
ich werde
wahrscheinlich den Code
hier für die Geschwindigkeit ändern. Und anstatt
einen Power-up-Timer zu verwenden, verwenden Sie
einfach eine kleine Funktion wie diesen Aktivator,
bittersüß.
18. Kleine Änderungen: Okay, das ist ihr
Aufenthalt. Ein kurzes Video. möchte Ihnen nur zeigen
, dass ich die gerade erstellte Geschwindigkeit
im gleichen Format,
das wir
für unseren Multi-Shot hier gemacht haben, erneut gerade erstellte Geschwindigkeit
im wiederholt habe. Wir haben also eine Funktion
namens enable speed. Es wurde ein Parameter hinzugefügt , den wir in einem Multiplikator
übergeben können. Ich sagte, meine Geschwindigkeit soll nur
Geschwindigkeit mal y Multiplikator sein. Wir warten unsere fünf Sekunden. Sobald das vorbei ist, verringern wir unsere Geschwindigkeit erneut um
unseren Multiplikator. Und auf dem Power Append oder
einfach nur Enable Speed aufrufen. Und wir geben den
Multiplikator weiter, wir zuvor verwendet haben. Das ist also das einzige, was sich dort für die Geschwindigkeit geändert
hat, die
Schilde im Multishot sind gleich geblieben. Aber was wir tun können, ist, dass
man es auch kann. Wenn wir unsere
Projektilszene öffnen, könnten
wir
unsere Kollisionsform loswerden. Es wird angezeigt, wir werden ein gelbes Dreieck
haben wenn Sie die
Kollisionsform hier löschen. Aber wenn wir es einfach entfernen, ist
das völlig in Ordnung. Und wenn wir das tun würden, sehen
Sie hier und den
Mehrfachschuss, dass die beiden in der Mitte, die
genau aufeinander treffen, jetzt durch einander
schießen werden,
anstatt mit
ihnen zu kollidieren
einander und geradeaus gehen. Das sind zwei völlig
unterschiedliche Ergebnisse, zwei verschiedene Ergebnisse. Es liegt also an Ihnen, ob
Sie
Ihre Kollisionsform
auf Ihrem Projektil
hier aktivieren oder deaktivieren möchten oder nicht Ihre Kollisionsform
auf Ihrem Projektil . Und wie Sie sehen können, ist
die Geschwindigkeit
54321 aktiviert und wir sind wieder normal. Es gibt eine Mehrfachaufnahme.
Jetzt können Sie sehen unsere Mittelstücke irgendwann
überkreuzen. Also, wenn du nicht
willst, dass sie
gegeneinander schlagen und perfekt geradeaus
laufen. Das ist alles, was Sie brauchen, um die Kollisionsform auszuschalten. Und wir könnten es dort einfach komplett deaktivieren, weil
wir es nicht sehen müssen. Da hast du's. Sie können sehen, dass
sie sich überkreuzen und wir werden jetzt fast
wie ein ToString-Shooting. Aber da haben wir's. Es liegt an Ihnen, ob
Sie möchten, dass Ihre Kollision mit Ihrem
Projekt deaktiviert wird. Oder wenn Sie möchten, dass
das
für diese Bildschirmdarstellung aktiviert ist ,
oder wenn Sie möchten, dass sie
vollständig auf Ihre Entwickler
- und Designauswahl übertragen werden. Aber ich dachte mir, ich würde das
reinwerfen, nur um es dich auch wissen zu lassen.
19. Feindliche Einrichtung: Ordnung, im heutigen Video werden
wir einen
Blick darauf werfen , wie wir unseren Feind erschaffen. Wir werden ab und zu unseren Feind
erschaffen,
als nächstes werden wir unseren Feind
zum Schießen bringen und unser grundlegendes vertikales Scrollen mit
unserem Feind, den Bewegungen, durchführen. Okay, also zuerst
müssen wir natürlich eine neue Szene
gutschreiben. Dies
wird genau wie unser Spieler ein kinematischer Körper sein,
natürlich wird es ein TD sein. Wir brauchen ein
Recht für unseren Feind. Ross, wir werden
eine Menge Dinge brauchen , die wir hier über unseren Spieler
haben. Wir könnten also eine
Kollisionsform hinzufügen, weshalb wir hier
unser Dreieck haben. Also haben wir unseren kinematischen Körper
bei einem Kollisionspolygon bekommen. Willst du die Form los. Und wenn wir uns unseren Player
ansehen, was brauchen wir sonst noch? Wir könnten später einen
Animationsplayer verwenden, wenn Sie auf diese Weise
Animationen
speziell für Ihre Feinde erstellen
möchten . Aber für diese spezielle Einstellung unseres Feindes werden wir sie
nicht brauchen, aber wir werden
hier keine Position verwenden , damit wir
einen Ort haben, an dem unser Feind von
einer Position nach D schießt. also können
wir das von oben beginnend in Feind umbenennen. Ich nenne es das feindliche Schiff. Ich würde nicht anrufen. Sie können es als jede
Art von Entität bezeichnen, die Sie speziell für
diese haben möchten .
Geh zu unserem Sprite. Wir können unseren
Feind reinholen und wir stellen fest, dass es hier
nur ein normales Sprite ist. Es ist kein Sprite-Sheet, also müssen wir uns keine Sorgen um das
Malen der Animation oder so machen, denn dieses Spray
wird sich einfach bewegen und schießen. Wir haben nicht all diese
verschiedenen Animationen darauf. Sie können die
Tabellenkalkulation natürlich verwenden, wenn Sie es möchten. Hier kann ich
Ihnen die alternative Art und Weise vorstellen , die
ich zuvor erwähnt habe. Und das ist es, was die Animation, tut mir leid, nicht der
Animationsplayer, das animierte animierte,
animierte Sprite. Nehmen wir an, Sie wollten
eine Animation mit
dem animierten Sprite machen . Wir würden reinkommen,
wir würden Frames machen. Könnte sagen, wenn Sie keine haben, verwenden
Sie kein Sprite-Sheet. Du hattest gerade einzelne PNGs. Du kommst hier rein und machst
ein neues Sprite Frames. Darauf klickst du noch einmal. Und jetzt haben wir unsere
Animationen hier, oder? Und es würde nicht hier
reinkommen und untätig werden. Rechts, links, rechts.
Und du kommst auf die Idee, wir können sie so machen. Und anstatt sich mit
einer Zeitleiste herumzuspielen und
Ihre Keyframes zu positionieren, haben
Sie hier eine Geschwindigkeit, die bestimmt, wie nah jede
dieser Tasten ist.
Dann würden Sie nur jede einzelne Taste mitbringen rahmen
Sie hier eins nach dem anderen ein. Und während es abgespielt
wird, würde es eine Schleife durchlaufen. Und um uns das anzusehen, kehren
wir einfach wieder zu unserem animierten Sprite zurück
und wir spielen. Wir könnten uns das
ansehen, was in diesem
Fall natürlich das Zeug da drin ist. Also wenn wir in den Leerlauf gehen,
wenn du siehst, dass unser Schiff ist und es
durch unseren Frame
CC das Gespenst spielt . Das ist also die Alternative. Wenn Sie nur PNGs haben
und keine Tabelle für Ihre Feinde haben. So würdest du das
angehen. Was wiederum, das
ist in unserem Fall, der Feind ist nur ein statisches ENG. Es
wird nur eine Bewegung
basierend auf den Koordinaten
auf dem Bildschirm geben. Aber zum späteren Nachschlagen, wenn Sie nur
PNGs haben und keine
Tabellenkalkulationen haben oder wenn Sie keine Tabellenkalkulationen verwenden
möchten und Sie
meinen Player und die Power-Ups
in ihre eigenen Blätter zerlegen möchten. So würdest du es machen und es wäre jedoch
dasselbe. Anstatt
einen Animationsplayer aufzurufen, rufen
wir das animierte Sprite auf
und spielen die Animation jetzt ab. Also wie gesagt, wir brauchen das nicht für unseren, unseren Fall. Das werde ich los. Und ich werde das
reguläre Sprite wieder zeigen. Kollisions-Box. Das ist
nur ein einfaches Rechteck. Das ist alles was wir brauchen
. Das wird kommen und wir werden es behandeln. Und Sie können entscheiden, wie viel von Ihrem Schiff Sie abdecken möchten. Also denke ich, ich werde
nur diesen Teil abdecken und nicht den Waffenteil abdecken. Und meine Position zu d. Ich kann sicherstellen, dass ich
das rote Spiegelbild erhalte , das unten ist
. Da haben wir's. Ich bewege das nur
ein bisschen vor
dem Kanon, einem AAC. Wenn wir das
aufnehmen sollten, bewegen Sie es herum. Wir haben unsere Position und von dort aus
wird es schießen. Männer Lizzie, oder 0. Da haben wir's. Wir haben also unseren Feind.
Rette unsere Szene. Und es wird versendet.
Dass wir unseren grundlegenden Feind eingerichtet haben und
bereit sind, zu schießen, bewegen und in unsere Welt
gespawnt zu werden.
20. Feindliche Schießen: Okay, wir werden
weitermachen und
die feindliche
Schießfähigkeit hier in Angriff nehmen . Nun, du könntest
gebrauchen ist nicht so losgegangen wie
wir es mit unserem Player gemacht haben. Erstellen Sie eine benutzerdefinierte Szene
mit einer eigenen Aufnahme und geben Sie ihr ihre Farbe. Ich gebe ihm seine eigene Richtung. Sie müssen
den Code darin nicht machen. Du wirst es einfach
auf dem Bildschirm runtergehen lassen anstatt
den Bildschirm hochzufahren. Aber aus diesem Grund werde
ich Ihnen zeigen, wie wir das Projektil des Spielers
einsetzen können . Also werden wir dieselbe, dieselbe Szene verwenden, die wir hier hatten. Wenn wir unsere
Szenen öffnen, geht es los. Also zeige ich
Ihnen hier, wie wir
dieselbe Szene verwenden können . Aber passe es
an, damit der Feind es benutzen kann, und
erlaube unserem Spieler weiterhin, es zu benutzen. Um das zu tun, werden wir uns auf unser feindliches Schiff
begeben. Wir fügen
das Drehbuch hinzu. Stellt sicher, dass wir es an der richtigen Stelle
in unseren Skripten platzieren. Klicken Sie auf Erstellen. Und los geht's. Wir haben das geschaffen. Um für unseren Feind anzufangen, müssen
wir
sie dazu in der Lage sein. Was wir also
tun werden, ist hier eine Variable
hinzuzufügen. Zeit oder feindliches Schiff. Wir werden unserer Szene hier
einen Timer hinzufügen. Und wir können den einen benutzen, um
irgendwelche Räume da drin zu haben. wollen wir vermeiden, um mögliche Probleme zu
vermeiden. Und zurück in unserem Skript, jetzt wo wir
eine Zeitvariable haben, können
wir diese tatsächlich
auf eine Zufallszahl setzen. Und um das zu tun, werden wir das
tatsächlich belassen, haben einen Standard da oben. Und in unserer Ready-Funktion werden wir sie optimieren. Sollen wir
randomize anrufen. Was wird unser c
randomisieren, damit wir eine echte Randomisierung haben
können. Auf diese Weise. Wir bekommen keinen
sich wiederholenden Mund. Also werden wir jedes Mal , wenn wir das Spiel
starten,
nicht gerettet. 51013121. Wir werden nicht jedes Mal
dieselbe
Zahlenfolge erhalten ,
wenn wir den Seed randomisieren, das wird sich ändern, das
wird sich jedes Mal ändern. Was wir hier also tun werden,
ist, dass wir
randomisiert nur
einmal anrufen , weil wir nur die Zeit ändern
wollen, die wir bekommen. Also
setzen wir time gleich, und dann
setzen wir es auf einen zufälligen Float. Und wenn wir uns das hier
ansehen, machen wir weiter und wir setzen uns mit Randolph ein und bekommen eine
Zufallszahl zwischen 0, zwischen 01. Okay? Das ist irgendwie nützlich. Aber zwischen 01 wird
das wohl sehr kurz sein. Und im Falle dieses Feindes wollen
wir nicht so
etwas wie ein Maschinengewehr haben. Was wir also tun können, ist, dass
wir einen Zufall machen können, wir können einen Float abrunden, wenn
wir weitermachen und diese verwenden. Aber stattdessen was wir sind, was wir
tun werden, werden wir einfach
benutzen, wo ist es hier? Wir haben es schon einmal benutzt. Wir könnten einfach schimpfen gebrauchen. Da ist es, ganz
unten mit unseren Prozentsätzen. Aber auch hier wollen wir,
wollen das
ein bisschen mehr durcheinander bringen. Also werden wir dieses Mal
Rand Range verwenden. Also können wir Fließkommazahlen bekommen. Nur um die Dinge ein bisschen durcheinander
zu bringen. Wenn Sie
den regulären Zufall verwenden möchten, müssen Sie
nur ganze
Zahlen inkrementieren. Das kannst du machen. Aber dafür denke ich, dass
ich
Rand Range verwenden werde . Wie du hier siehst. Auf diese Weise können wir einen Float erhalten und müssen zwei Argumente übergeben
, die kleinste Zahl und
die größte Zahl. Also werde ich sagen,
dass zwischen den
Dreharbeiten
mindestens 1 Sekunde liegen wird . Höchstens. Ich gebe fünf
Sekunden zwischen den Dreharbeiten. Jetzt haben wir etwas Zeit
zwischen 15 Sekunden Timer. Wir können dann loslegen
und unseren Schuss-Timer holen. Und wir legen einfach die Uhrzeit fest. Wir können hier in den Eigenschaften sehen, dass
es Wartezeit heißt. Warte Unterstrich, gut. Und wir können das gleich der
Zeit setzen, die wir gerade geschaffen haben. Jetzt haben wir also eine
zufällige Menge Zeit. Damit können wir
unser Signal für meinen Timer verbinden, was auch in 4 ein
bisschen anders sein wird. Wenn du
es über Code machen willst. Wenn Sie möchten, dass dies so einfach wie möglich
mit mir zusammen ist, kommen Sie
einfach hier zu node
und doppelklicken Sie auf Timeout. Es ist wie unser feindliches
Schiff und drücke Verbinden. Auf diese Weise werden beide
Versionen verwendet. Egal, ob Sie
Version drei oder Version
für die Engine verwenden . Aber wenn Sie diesen neuen Code
verbinden möchten oder neugierig sind, wie das geht. Dann in, in der
aktuellen Version hier, werden
wir das tun. Diese Selbstzweifel verbinden
viel, was sie wollten, du wirst bekommen, was
du verbinden willst. Was ist dein Schuss-Timer? Sie würden etwas
verbinden wollen. Was wir verbinden wollen,
ist das Follow-up-Signal. Und dieses Signal, wenn wir es uns ansehen, heißt
es Timeout. Also würden wir hier Timeout eingeben
. Und das Ziel, mit dem
Sie es verbinden möchten. Denken Sie daran, als wir unser feindliches Schiff
ausgewählt haben, als wir so gegangen sind
und unser Schiff ausgewählt haben. Was du hier auswählst, in
diesem Fall unser feindliches Schiff. Damit
wollen wir uns verbinden. Und da das Drehbuch auf unserem feindlichen Schiff
steht, müssen
wir nur selbst sagen. Das lässt uns mit
einem dritten Argument zurück, das im Grunde genommen genau das ist,
was der Methodenname sein soll. Wenn wir also so vorgehen, ist
dieser Befehl hier im Wesentlichen das, ist
dieser Befehl hier im Wesentlichen was der Motor gerade getan hat als wir so gegangen sind und das feindliche
Schiff
ausgewählt und Verbinden getroffen haben. Bei Version vier wird
dies nun etwas anders sein. Und ich bin mir nicht hundertprozentig sicher , wie
das von Anfang an aussehen wird. Aber wie gesagt, der einfachste Weg ist,
einfach in diese Knotenregisterkarte zu gehen und
das
Timeout-Signal einfach auf diese Weise zu
verbinden. Also wenn unser Timer abgelaufen
ist, werden wir nur schießen. Also
werden wir dafür offensichtlich unsere Szene brauchen. Also werden wir sagen,
wir werden das laden weil wir das nicht nennen wollen, würden es nur versuchen wollen. Und in Schweden vorgeladen, lassen Sie unser Projektil normal sehen, bringen Sie das rein. Eine Auszeit. Wir machen unsere Shot-Instanz gleich oder Shot-Dot-Instanz. Jetzt haben wir es und können es in die Szene aufnehmen. Pferd, das wird
hinzugefügt, um an uns selbst zu zweifeln. Aber in diesem Fall, wenn wir einen guten Elternteil
haben zu unserem Spawner hinzugefügt wird, bewegt sich unser Spotter sowieso
nie. Das ist also keine allzu große Sache, aber wenn du
den ganzen Weg zur Welt gehen willst, wie wir es mit unserem Spieler tun. Dann können wir einfach zweimal Eltern
bekommen. In den meisten Fällen möchten
Sie jetzt versuchen, die
Verwendung mehrerer
Eltern zu vermeiden , nur um mögliche
Probleme in der Zukunft zu vermeiden. Und hier
würde es ins Spiel kommen,
unsere eigenen Signale wie dieses zu erzeugen . Wann immer du den Baum hochgehst, ist
es besser, Signale
zu verwenden. Und wenn du den Baum runtergehst, bekommst
du einfach den Knoten. Aber in diesem Fall, speziell für
diese Art von Spiel, wird
dies keine Problemquelle
verursachen. Also können wir tun, um Eltern zu überspringen, Eltern und Kinder
nicht zu bekommen. Und wir können unsere
Instanzaufnahme hier hinzufügen. Das wird das also ins Spiel bringen
. Das Problem ist an diesem Punkt, dass wir wissen, dass unser Schuss den Bildschirm hochgehen
wird. Was also geschossen
wird, wird dort
ausgehen, wo unsere Feinde sich
im Wesentlichen selbst
erschießen werden . Und
das wollen wir nicht. Wir
müssen also Teile dieses Projektils
modifizieren. Wenn wir also herkommen,
können wir uns ansehen, wir setzen die y-Geschwindigkeit
auf eine negative Geschwindigkeit. können wir also ändern. Jetzt, wo es zu unserer Szene
hinzugefügt wurde. Wir können das sofort ändern ,
damit wir das überschreiben können. Also lass uns weitermachen und loslegen. Wir kriegen unsere Chance. Greifen Sie auf die Geschwindigkeit
y davon zu. Die y-Eigenschaft unserer
Geschwindigkeitsvariablen, und setzen Sie unseren Schuss
auf unsere Geschwindigkeit. Denken Sie jetzt daran, dass unsere
Geschwindigkeit positiv ist. Also werden
wir es hier nicht abziehen. Ich möchte positiv werden, was es
auf dem Bildschirm herunterschickt und
es von unserem Spieler unterscheidet. Wenn ich diese Szene öffne, wenn du dich
hier in unserem Sprite erinnerst, können
wir weitermachen und wir können die
Farbe hier unten
in der Sichtbarkeit ändern und modulieren. Es scheint, als hätten wir das
am kinematischen Körper gemacht, was dies
ein wenig einfacher machen wird. Das ist alles was wir tun werden. Wir werden das
Modul so ändern, dass es
anders aussieht , wenn es von unserem Feind
erschossen wird. Ich werde schockierte Moduli bekommen. Und wir werden das
gleich einer anderen Farbe setzen. Wenn wir also nur das Wort Farbe eingeben
, können
Sie sehen, dass
sich die Wortfarbe in eine Farbe ändert. Und das tun wir einfach. Wenn Sie solche
Klammern verwenden, können
Sie einen RGB-Wert übergeben. Wenn Sie doppelte Anführungszeichen verwenden, können
Sie bei Bedarf einen
Hex-Code übergeben. Ich werde die eingebauten Farben nutzen , weil
es viele davon gibt. Ich werde einfach mal ausmalen, Punkt. Und jetzt sehen Sie, dass wir hier Tonnen
verschiedener Farben haben , aus denen wir auswählen
können und die
bereits eingebaut sind. Und oft ist das
alles was ich tun muss. Und es
funktioniert normalerweise gut genug für mich. Ich glaube, ich
versuche es. Mal sehen. Gehen wir mit einem mittelgroßen Purpur. In Ordnung, also sparen wir uns das. Lass uns in unsere Welt gehen
und ein feindliches Schiff bauen. Wir bringen sie einfach hier in unsere
Welt und klicken auf „Spielen“. Wir sollten in der Lage sein, innerhalb von
fünf Sekunden zu
schießen , basierend
auf seinen Mietnummern. Nur dass er es nicht ist. Und der Grund dafür ist
, dass
wir
den Timer zu keinem
Zeitpunkt gestartet haben . Richten Sie es ein. Wir haben unseren aktuellen eingerichtet, aber
den Timer nicht gestartet. Wir holen unseren Shot-Timer und nennen ihn einfach die
Startfunktion. Und wenn unser Timer abgelaufen ist, werden
wir das auch wieder tun. Also lass uns unseren Shot-Timer und die Spalten starten. Los geht's. Wenn wir nur einen Blick darauf werfen, können wir sehen, wie mein Projektbeauftragter
hochgeht und sein Projekt herauskommt. Wir sehen es dort auf der linken
Seite. Es bewegt sich nach unten. Und der Grund dafür ist warum wir dasselbe Problem
hatten, mit dem wir mit unserem Spieler hatten. Wir müssen die
Position davon korrigieren. Wenn wir also weitermachen und unseren Spieler als
Referenz betrachten , haben wir
die Spielerposition dort verwendet. Wir können sehen, dass wir
eine Schussposition bekommen. Und wir setzen das
gleich unserer Position 2D und gleich der
globalen Position, Kopf runter in unseren Feind. Und das können wir überall machen. Wir wussten es, bevor wir
als Kind oder danach hinzufügten. In
diesem Fall spielt es keine Rolle, weil
wir
nichts innerhalb des
Projekts Alex self außer Kraft setzen. Also schießen wir in
Position und setzen das gleich, dass wir
diese Disposition auf D haben, Nennen
wir es Pause
Shot-Position. Stellen Sie das gleich
unserer Shot-Pause ein. Mobile Position. Los geht's. Und wir führen es jetzt aus. Es sollte jetzt
von seinem Schlafzimmer aus geschossen werden. Wir sehen Mater Yellow
und sein oder lila. Jetzt, da Lila in diesem
Fall etwas dunkel ist, es für
den Spieler möglicherweise schwer zu erkennen. Also werde ich weitermachen
und diese Farbe ändern. Auf diese Weise können Sie
Änderungen vornehmen und entscheiden, was
vor Ihrem Hintergrund am besten aussieht. Nun, mit einer Limette wäre
dies sehr, das ist sehr, sehr hell und von unserem Feind
leicht zu erkennen. Das ist also fantastisch. An dieser Stelle können Sie
einfach
die Farben anpassen , die
Sie dafür möchten. Und nur als Randnotiz, wenn Sie nur dieses eine Sprite
verwenden möchten, aber
verschiedene Schiffe haben möchten, sind unterschiedlich farbige Chips oder vielleicht
möchten Sie diesen Kleber einfach nicht. Wir können tatsächlich das
Gleiche tun, was wir mit unserem Schuss
machen, um hier
zu modulieren. Und da es nicht weiß ist, werden
wir tatsächlich
verschiedene Farben hinzufügen. Wie Sie hier sehen können, können
wir hier verschiedene Farben bekommen wenn ich dort einfach die
Kollisionsform abschalte. Und das können
Sie sich ansehen. Sie können also leicht,
leicht unterschiedliche Variationen vornehmen. Wenn du wolltest. Ich setze meine
einfach wieder auf den Normalwert
zurück. Und los geht's. In Ordnung, damit
haben wir unseren Feind aufgestellt. Und wir haben jetzt unseren Feind in der Lage , uns zu einem zufälligen Zeitpunkt zu erschießen. Und um Ihnen zu zeigen,
dass es zufällig ist, füge
ich einfach
eine weitere hinzu und bin hier
zu unserer Szene, benutze
einfach Control D
zum Duplizieren. Da haben wir's. Wir haben drei verschiedene
und sie werden alle zu drei völlig
unterschiedlichen Zeiten
drehen. Du gehst. Oh, wie Sie sehen können, sehen die beiden links aus, als wären
sie ziemlich synchron,
aber in ihrer Zeit sind sie tatsächlich
ziemlich daneben. Ein bisschen zufälliger. Da haben wir's. Jetzt haben wir das Setup. Sie schießen und sie
schießen zu zufälliger Zeit. Sie werden also nicht alle
gleich
sein , wenn sie herauskommen oder
wenn sie gespawnt werden. Als nächstes werden wir also weitermachen
und einen Feind,
den feindlichen Spawner oder die feindliche Bewegung einrichten , von
der ich denke
, dass wir wahrscheinlich die
grundlegenden feindlichen Bewegungen ausführen
sollten. Denke, gut gehandhabt das als Auf diese Weise können wir, wenn wir es entdecken, tatsächlich
erkennen, dass das Wesen gespawnt wurde, anstatt dass sie außerhalb des Bildschirms
bleiben.
21. Speicherlecks: In Ordnung, also etwas,
das ich zuerst
angehen wollte, bevor
ich es vergesse,
ist, dass wir auf Probleme
stoßen werden. Irgendwann dauert ein Spiel länger , weil wir ein Speicherleck
haben. Was das ist, ist das, was wir ständig all diese Gegenstände
schaffen
, die es verursachen. Und wir haben es nicht
mit ihnen zu tun , wenn wir sie nicht mehr
brauchen. Also werden wir einfach
weiter stapeln immer mehr und
mehr , bis
der Computer des Benutzers irgendwann langsamer wird und nacheilt oder vielleicht sogar abstürzt. Und wir schauen uns hier die
rechte Seite an. Ich habe
diesen Test unterbrochen , den Sie auf der Seite
sehen. Und wenn wir uns nur dieses
und den Remote-Bereich ansehen , werfen Sie einen Blick auf all
diese Projektile , die in gespawnt wurden,
aber nicht verschwinden. Obwohl wir sie nicht
mehr auf dem Bildschirm
sehen und sie für unser Spiel völlig
irrelevant sind. Sie bewegen sich immer noch. Es gibt immer noch einen
Teil unseres Spiels. Was wir also tun müssen, ist, dass
wir uns jetzt
darum kümmern müssen , wenn es unseren Bildschirm unten verlässt und wenn es unseren
Bildschirm oben verlässt. Also machen wir weiter, gehen weiter und
gehen hier auf
unser Projektilskript ein. Ich werde eine
Funktion zur Überprüfung erstellen. Was für ein Chat mit
einer Checkposition. Es ist nicht der beste Name dafür, aber dafür wird es funktionieren. Wir sagen selbst. Wir können überprüfen,
ob die Selbstpunktposition Punkt y ist.
Ich werde sagen, ob er kleiner
als
0 ist, denn denken Sie daran, 0 wird ganz
oben links
sein oder oben auf unserem Bildschirm ist 0 in der y-Richtung. Wenn es also weniger als 0 ist, werden
wir
es Q3 selbst mitteilen. Jetzt
müssen wir auch überprüfen, wann
die feindlichen Schüsse am
unteren Bildschirmrand vorbeikommen. Und wenn Sie die
Nummer Ihres Bildschirms vergessen, können
wir wieder
zu Ihren Projekteinstellungen kommen, gehen Sie zu unserem Schaufenster. Und denken Sie daran, dass sie nicht 400 groß ist, also wollen wir nach
etwas suchen, das größer als 400 ist. Denkt an unsere Sprites,
32,5 davon sind 16. Also wollen wir die Position von LF,
LF und Selbstzweifeln überprüfen. Don't Y ist größer als. Denken Sie daran, dass wir vorerst
400 gesagt haben. Denk dran, wir sagten 400. Aber wenn wir einen Blick darauf werfen und uns
an das Projektil erinnern, ist
der Punkt in der Mitte. Wir haben also die Hälfte, die Hälfte. Das wird immer noch herausragen, was in diesem Fall in Ordnung ist, aber es sieht besser aus, wenn wir warten ,
bis das Ziehen den Bildschirm
verlässt. Da es sich um 32 mal 32 Sprites handelt , verwenden wir all diese. Wir können das tatsächlich überprüfen. können wir dem hinzufügen. Wir könnten also 16 hinzufügen, um ein
bisschen zu bekommen. Wir machen 32, um das Ganze zu kriegen. Ich benutze nur für 50, gib ihm eine schöne runde Zahl. Und um sicherzustellen, dass es
keine Möglichkeit gibt , dass es auf unserem Bildschirm
übrig bleibt. Und dann sage ich es, dass
es für dich ein Stichwort geben soll, wenn es das ist. Wenn wir uns jetzt
diesen Remote-Bereich ansehen, wenn wir unser Spiel spielen, und uns all
diese Projektile ansehen, die hereinkommen, werden
sie gespawnt und
löschen sie nicht selbst. Einfach. liegt nur daran, dass wir es
nie unsere Check-Position mit dem
Gradienten nennen, es aber nicht genannt haben. Ich
rufe das einfach innerhalb unserer Prozessfunktion auf. Wenn Sie möchten,
können Sie jetzt einen Timer erstellen , der dies überprüft. Anstatt dies
jedes Bild und den Tiber zu nennen, einen Timer
auf das Projektil zu
setzen und wird es
wahrscheinlich etwas
leistungsfreundlicher sein, einen Timer
auf das Projektil zu
setzen und zu
überprüfen, wann diese
Zeit abgelaufen ist . Aber das
hängt alles davon ab, wie weit Sie mit
Ihrem Spiel gehen , ob dies
letztendlich eine bessere Option ist oder nicht. Wenn wir reinkommen und
einen Blick darauf werfen, schauen wir uns die
Fernbedienung an,
in der wir
schützen sollen . Das Haus wird gespawnt und sie werden gelöscht,
wenn sie den Bildschirm verlassen. Und das Gleiche gilt für die, die
wir drehen. Die werden alle gelöscht
und los geht's. Wir haben jetzt
das Speicherleck behoben, das wir in unserem Spiel verursacht haben. So einfach ist es also. Es stellt sicher, dass Sie, wenn
Sie etwas
nicht mehr brauchen , es loswerden. Und wenn wir uns hier
unsere Power-Ups in
unserem Spawner ansehen , sehen
wir, dass wir es nicht sind, wir
haben keines dieser Probleme mit unseren
Power-Ups. Und der Grund dafür ist, dass wir das hier
tatsächlich angesprochen haben. Wenn Sie neugierig sind, werde
ich ablehnen, wenn die Position größer
als 420 war, und wir haben sie gelöscht. Wenn sie größer als ist, wird diese Zahl natürlich weitergegeben. Unser Spieler hat oder 100 überschritten. Dann wissen wir, dass es nicht mehr
auf dem Bildschirm ist. Wir brauchen es nicht und
werden es los. Also haben wir das mit
unserem Power-Up angesprochen. Und jetzt hast du gerade
mit unserem Projektil gesehen, warum wir das mit
dem Remote-Tab dort drüben machen müssen. Mit nur der schieren
Menge an Dingen , die wir erschaffen und
die
in unserem Spiel noch existieren und
wie schnell sich das mit Projektilen
aufbauen wird . Zum Beispiel. Auch hier, wenn
wir einige mit einem Schnellfeuer haben, haben
wir eine schnelle Schusswaffe. Zum Beispiel. Sie können sehen, wie schnell
sich diese wirklich aufbauen können. Also haben wir
das in Angriff genommen, das behoben und wir werden unserem Feind eine vertikale
Bewegung
hinzufügen. Wenn du nur möchtest, dass der Feind
auf den Spieler zuscrollt.
22. Vertikale Bewegung: Lassen Sie uns weitermachen und uns mit
unserer schönen Fähigkeit befassen , sich vertikal bewegen
zu können. Wenn das alles ist, was du in deinem Spiel
willst, dann ist das die ganze Bewegung
, die du brauchst. Das hängt natürlich sehr davon
ab, was
Sie von Ihrem Spiel erwarten. Natürlich
werden wir hier einfach
unser feindliches Schiff finden. Und wir werden etwas
Ähnliches machen mit unserem Projektil. Wir haben also unsere Geschwindigkeit und unsere Geschwindigkeit, die wir versenden
wollen, um uns zu bewegen. Innerhalb unseres Prozesses brauchen
wir Bewegung und Rutsche. Wir brauchen eine Geschwindigkeit,
die eingefahren wird. Also werden wir natürlich
einfach
unsere Geschwindigkeit als
Geschwindigkeitsargument verwenden . Und alles, was wir tun werden, ist
jetzt wieder bereit Wenn Sie die
Geschwindigkeit zwischen zwei Zahlen zufällig festlegen
möchten, können Sie das sicherlich auch
tun. Stellen Sie einfach sicher, dass Sie
das unter der zufälligen Farbe tun . Und du kannst dasselbe tun,
genau wie wir es mit der Zeit gemacht haben. Sie benutzen Rand. Nun, ich möchte eine Zahl präsentieren oder wenn Sie einen Rangbereich erstellen möchten
, können
Sie das sicherlich auch
tun. Sie können die Geschwindigkeiten zufällig festlegen. Wenn Sie möchten, dass alle Ihre Schiffe
unterschiedliche Geschwindigkeiten haben, können
Sie das sicherlich.
Ich füge es auch hinzu. Für mich werde ich hier einfach die normale Geschwindigkeit
verwenden. Und ich
setze meine auf 100. Also werde ich einfach sagen
Geschwindigkeit Punkt y ist gleich Geschwindigkeit. Denken Sie jetzt daran
, dass dies positiv wird. Also bewegt sich unser Schiff runter. Und wenn das die ganze
Bewegung ist, die wir wollen, ist
das alles, was
wir brauchen. Ich mache weiter
und schiebe die einfach hoch. Und geh. Ich sagte, wenn
sie alle an verschiedenen Stellen
gespawnt wurden
und wir sehen können, dass sie gehen, bewegen sie
sich auf
uns zu und wir können uns anpassen. Wir können
diese Geschwindigkeiten so anpassen, wie wir es sehen. Und man kann sehen, dass sie sich dort alle irgendwie
in einer Reihe bewegen. Also werde ich Ihnen zeigen, wie das
aussehen würde, wenn wir dies in eine zufällige Menge ändern
würden. Also sag Geschwindigkeit ist gleich. Und lassen Sie uns weitermachen, nur um Ihnen
nur eine kleine Änderung zu zeigen, wir werden die Rand-Reihe verwenden. Wir setzen das
zwischen, sagen wir mal 9110. Das ist also eine kleine Lücke, das ist ein Unterschied von 20%. Wir werfen einen Blick darauf und können
sehen, dass sie eng angefangen haben. Aber dann haben sie Unterschiede. Jetzt
fällt dieser zurück, weil sich der mittlere
tatsächlich schneller bewegt. Und natürlich können Sie
diese Lücke so groß machen wie Sie möchten. Wenn du diesen
Weg gehen willst, gehen wir. Die Mitte kreuzte gerade
hinein und die ganz rechts, was einfach nur
chillen und entspannen konnte. Und wenn wir
das unterbrechen und in die Ferne gehen, kommen
wir tatsächlich runter
und sehen unser feindliches Schiff. Und wir sehen, dass ein Schiff
187 hat, das andere Schiff 95. Und unser dritter
hat eins zu eins. Wenn Sie also
eine zufällige Geschwindigkeit für
Ihre Schiffe in diesem
vertikalen Bereich haben möchten , können Sie so vorgehen
und anpassen, dass diese eingestellt sind. Das liegt also
ganz bei dir. Ich denke, im Moment lasse ich meinen einfach
so und wir können mit der
Anpassung unseres Spawners fortfahren.
23. Enemy: Okay, für den feindlichen Spawner werden
wir hier
dasselbe tun, indem wir einen Basisknoten als
feindlichen Wurzelspawner verwenden. Speichern Sie
das in unseren Szenen. Und wir werden eine Menge von dem machen was wir hier gemacht haben, mit
unserem normalen Spawner. Fügen wir also einen Timer hinzu. Und wenn wir uns
den Code ansehen, den wir hier verwenden, haben
wir unseren Feind hier. Nun, wenn du
mehrere unserer USV haben willst oder nicht, in diesem Fall, genau
wie unsere Kräfte, haben
wir mehrere Feinde. Sie können also eine zufällige,
zufällige Vielfalt von Feinden haben ,
in denen sie spawnen. können Sie sicherlich tun. Und ich zeige dir
, wie das so geht. Weil du weißt,
wie man das mit einem einzigen Gegenstand wie diesem macht. Was wir jetzt tun werden, ist
etwas Ähnliches. Also gehen wir
in unseren feindlichen Spawner. Ich füge ein Skript lege es an die richtige Stelle. Was wir tun würden, ist, dass wir
var enemy equals machen können und
dann unsere eckigen Klammern. Aber dann werden
wir für jeden von ihnen so vorgehen
und unser feindliches Schiff holen. Wenn wir also ein
Vielfaches davon
hätten, würde das einfach so aussehen. Und Sie würden einfach mit den vielen
Sorten
weitermachen , die
Sie dort hatten. In diesem Fall habe ich
nur den einen. Und natürlich ist der
Vorteil, wenn Sie auf diese Weise mehr kleinere
Feinde
hinzufügen. In Zukunft wird es in
sich abgeschlossen sein
, sodass Sie Ihren Code nicht bearbeiten
müssen. Sie können sie einfach hier
oben hinzufügen und weitermachen. In Ordnung, also wenn wir auf unsere Power-Ups
zurückverweisen, dass wir unseren Spawner hatten, öffnen Sie diesen Code
nicht. Haben wir. Es ist gleich da unten.
Ich habe es nicht mal gesehen. Sie können also sehen, dass wir bei Timeout
alles tun. Das bedeutet also, dass wir
unseren Timer mit unserem
feindlichen Spawner verbinden müssen . Und jetzt haben wir auch dieses
Setup pünktlich, oder wir können randomize anrufen. Denn auch hier wollen wir, dass die Dinge zufällig sind, genau wie
wir es mit unserer Macht tun. Und wir können hier sehen, dass wir
eine Instanz unserer Szene erstellen. In diesem Fall rufen wir eine
Instanz unserer Macht auf,
aber wir wollen, dass rufen wir eine
Instanz unserer Macht auf,
aber wir wollen, es
sich um eine Zufallszahl handelt. Dann brauchen
wir eigentlich zuerst ein zufälliges Schiff. Also sagen wir, der ausgewählte Feind ist
gleich Feinden. Und in unseren
eckigen Klammern werden
wir Randy sagen. Und wir werden
Prozent der
Punktgröße unserer Feinde für eine neue Variable verwenden .
Da haben wir's. Also was das ist, egal wie
viele Feinde wir hier oben hinzufügen oder entfernen, unser Code
würde sich nie ändern. Wir werden immer einen
Feind haben, der ausgewählt werden kann. Also kommen wir runter und dann
können wir eine Instanz unseres
Feindes erschaffen. Also sagen wir, Feind n ist gleich
Ich habe das falsch verstanden. Nehmen wir an, gewählte
feindliche Instanz. Was auch immer der Feind ausgewählt wird , wir werden
eine neue Variable erstellen. Und dann müssen wir nur noch eins hinzufügen. Also
schaue ich mir hier unseren Spawner an. Und Sie können sehen, dass wir es nur hinzugefügt
haben,
was für unseren Spawner völlig in Ordnung
ist, da der Spawner selbst
nicht bewegen wird. Also lasst uns weitermachen, Kindfeind
hinzufügen. Und zu diesem Zeitpunkt
ist es jetzt im Spiel. Aber was wir wollen, erinnere dich an
eine, eine Variante auf dem x. Es ist
also nicht alles nur in
der oberen linken Ecke. Sagen wir Rand-Position x. Und wir setzen das
als Zufallszahl. Wir können Rand Range benutzen. Das ist völlig in Ordnung. Haben wir das hier benutzt, um damit
einen anderen Weg zu gehen? Wir benutzen nur Randy. Lassen Sie uns also weitermachen und
dabei bleiben, nur um
Konsistenzstandards zu gewährleisten. Aber wenn Sie diese Zwischenräume
verwenden wollten, wieder 02 bis vier. Los geht's. Wir haben also unsere
Zufallszahl innerhalb unserer 224. Ich kann, du kannst
das optimieren , wenn du nicht willst, dass dein
Schiff ein bisschen rumhängt. Also gehe
ich zum Beispiel mit, ich sage 200. Dann bei 20, was
meine Zahlen zu
meinen Min- und Maximalwerten von 20 bis 20 macht. Wir fügen sie einfach in die Szene ein. Gehen wir also weiter in unsere Welt. Und in unserem feindlichen Spawner. Und das
schiebe ich einfach da hoch. Und wenn wir das jetzt spielen, das nicht gehen,
weil wir unseren Timer eigentlich nicht ausgelöst haben. Kehren wir also darauf zurück, stellen Sie den automatischen Start und versuchen Sie es erneut. Da haben wir's. Wir sehen also, dass sie dorthin gehen und sich tatsächlich
begegnen. Und sie bleiben da oben. Du musst positionieren,
aber wir haben sie nicht festgelegt. Nimm einfach unsere feindliche
Position Punkt x. Das Gute ist
also, dass wir wissen
, dass unser Skript funktioniert. schlechte Nachricht ist, dass es mit sich selbst
kollidiert. Also, wenn die neue Position
Punkt x unserer Rand-,
Rand-Position entspricht , kann ich hier ran position
buchstabieren. Und das wird das regeln. Oder Schlucke werden
sich immer noch begegnen. Wenn sie die Chance
dazu bekommen. Da haben wir's. Wir sehen es dort auf
der rechten Seite. Ich habe drei von ihnen
alle gestapelt. Also laichen wir oft, wir haben die Position
und sie schießen, sehen toll aus, abgesehen von der Tatsache,
dass sie aufeinander prallen. An dieser Stelle werde
ich Ihnen die Mac- und
Layer-Funktion vorstellen . Wenn wir also in unser
feindliches Schiff gehen, gehen wir los. Und unser kinematischer
Körper 2D, sicherer Rand. Und dann gehen wir hier unter
Kollisionsobjekt td. Hier in unserem Inspektor haben
wir die Koalition, und hier haben
wir Ebenen und Masken. Die Ebene ist also, wenn Sie etwas
wie Photoshop betrachten, wissen
Sie, was Ebenen sind,
funktioniert auf ähnliche Weise. Wo Sie eine
Spielerebene haben können, ist die obere Ebene, die feindliche Ebene, die Ebene
projizieren. Und wie viele auch
immer weitermachen und sich davon trennen wollen. Sie können sehen, wenn ich das öffne, haben
Sie 32 verschiedene
Ebenen, mit denen Sie arbeiten können. Und sowohl in deiner Ebene
als auch in deinen Masken. der Ebene befindet sich Ihr Objekt und mit der Maske kann
es interagieren. Wenn du es also nicht tust, dein Schiff in der Lage
zu sein,
gegeneinander zu krachen oder
gegen den Spieler zu krachen, könnten
wir die Maske ausschalten. Das Problem, das wir
hier haben, ist, dass sich unser Projektil
auch auf Schicht eins befindet . Da wir also die Maske einmalig ausgeschaltet
haben, können
wir den Feind überhaupt nicht erschießen. Was ich
stattdessen tun werde, ist, unseren Feind auf Schicht
zwei zu
verlegen. Nichts ist, hat zur aktuellen Zeit eine Maske der zweiten
Ebene. Wenn wir das jetzt spielen, können
Sie sehen, dass sich unsere Feinde
nicht begegnen. Sie
ignorieren sich völlig. Aber sie treffen
den Spieler, weil
du dich daran erinnerst, dass unser Spieler
auf Maske eins ist,
oder sind du dich daran erinnerst, dass unser Spieler
auf Maske eins ist, unsere Spieler auf Ebene eins? Nachdem die Maske erkannt wurde, stoßen
wir darauf. Nun, je nachdem, ob
der Feind in der Lage
sein soll, auf den Spieler zu treffen oder nicht,
und den Spieler in den Spieler zu treffen oder nicht die Luft jagen,
indem er dem Spieler Schaden zufügt. Dies kann für Sie ideal
sein oder auch nicht. Denke daran, wenn wir einem Spieler
Schaden zufügen, können wir die
Kollision
des Spielers einfach vorübergehend deaktivieren Kollision
des Spielers einfach vorübergehend um das zu verhindern. Was wir dann tun können, ist
zu gehen wir können
unseren Spieler auf einem lassen. Wir haben unseren Feind vor uns. Und wenn wir drei
für unser Projektil verwenden. Und wir schauen uns die
drei für das Projektil an. Und das Projektil
kann
sowohl mit dem Spieler als auch mit dem Feind interagieren . Also haben wir Maske 12 beide
gesetzt und das versuchen wir. Wir sehen Knochen und jetzt geht der
Feind direkt über uns hinweg. Und sie können nicht mehr mit uns
interagieren. Also los geht's. Das ist wow. Wie wir das
erreichen können, sind Verschiebungen, die sich nicht mehr
begegnen. Sie
bleiben nicht an unserem Spieler und unserem Projektil hängen. Da interagiert es
mit beiden Schichten. Mit unserer ausgewählten Maske 12. Wir sollten in der Lage sein,
unserem Feind Schaden
zuzufügen , und unsere Amy sollte in der Lage
sein, uns
noch Schaden zuzufügen, wenn wir das hinzufügen. Das ist also auch eine
kleine Einführung in Ebenen und Masken dort. Denken Sie also daran, Ebene ist der Ort, an dem
Ihre Ziele und die Maske mit
welchen Ebenen sie
interagieren kann. Also wieder, wenn wir auf
Maske eins und Ebene eins sind, wird
Ebene eins mit ihr
interagiert. Da haben wir Maske ausgewählt. Wenn wir uns auf Ebene zwei
befinden und Maske eins ausgewählt ist, können wir mit
allem interagieren, was sich auf Ebene eins befindet, Ebene eine Seite mit uns
interagiert. Hoffentlich ist das
nicht so, das wurde dir nicht zu
verwirrend. Aber wisse einfach, dass
alles funktioniert. Wenn Sie
Fragen zu Ebenenmasken haben, können
Sie diese jederzeit stellen. Und ich werde versuchen zu
klären , worüber Sie mit ihnen
verwirrt sind. Und wir können
zum nächsten Video übergehen. Zu diesem Zeitpunkt haben wir eine spawnende Schießbewegung und
es gibt keine Speicherlecks. Was ich also tun werde ist
, diese drei
Starterschiffe hier aus meiner Szene zu entfernen. Da haben wir's. Jetzt haben wir sie nicht mehr, wenn du anfängst und sie können darin spawnen. Wenn Sie nun einen
Zufallstimer für Ihre Schiffe erstellen möchten, wissen
Sie, wie Sie an
dieser Stelle
zufällige Timer ausführen oder
Zufallszahlen erhalten. können Sie sicherlich tun.
Die Wartezeit wurde ersetzt. In Ordnung, da hast du's. Wir haben alles
vorbereitet, wir werden gehen. Wir haben Feinde,
Power Up, Schießen. Abgesehen von Gesundheit und GameOver war zerstörend
und all das. Haben wir. An diesem Punkt. Das Basic, die Grundlagen des
Standard-Weltraum-Shooters.
24. Geschoss getroffen: Heute werden wir angehen,
dass unser Projektil tatsächlich schießt und
unseren Feind und unseren Spieler zerstört. Und je nachdem, wie viel Gesundheit der Spieler
oder der Feind haben soll, fügst du
entweder Schaden oder tötest sie direkt. Das Erste, was wir tun sollten ,
ist, dass Sie sicherstellen, dass Sie sicherstellen, dass Ihr feindliches Schiff
keine verursacht, kein Speicherleck verursacht. Indem Sie Ihre Position überprüfen, wie wir es bei den
Projektilen tun, die wir kürzlich
gemacht haben,
eines der letzten Videos. Und damit, sobald Sie sich vergewissert
haben, dass Sie das haben, gehen
wir
zu unserem Projektil über. Und Sie werden D
einen Bereich hinzufügen , der
eine Kollisionsform hat, und die Kollisionsform
nur ein wenig vergrößern. Was Klickform war,
damit Sie hier für mich sehen können dass es nur einen Klick größer ist. In Ordnung, also
mach weiter und tu das. Und dann, damit
das funktioniert, gehen
wir zu unserem Schussbereich
oder Bereich , um der Kollision gleich
zu sein. reife Ebene ist
auf Ebene drei eingestellt. Und wir werden unsere Maske 212
so
einstellen , dass wir
mit den Ebenen 12 interagieren können, denen der Spieler
und das feindliche Schiff die Hauptrolle spielen. Wir können
hier
zum Notizenbereich gehen, damit wir uns die Signale
ansehen und das vom Körper eingegebene
Signal mit unserem
Projektilskript
verbinden können Körper eingegebene
Signal mit unserem
Projektilskript
verbinden . Und das
sollten wir hier sehen. Diese Funktion
wurde automatisch für uns erstellt. Der einfachste Weg, dies zu tun und dies zum Laufen zu
bringen und testen, ist für unseren Spieler zu
testen, ist für unseren Spieler.
Ich zeige Ihnen zwei
Möglichkeiten, wie Sie dies überprüfen können. Einer mit Namen und
einer mit Gruppen. Also
werde ich für den Spieler Namen verwenden. Also werde ich sagen, ob
Spieler und Körpername, Körper Punkt Q frei. Was das sagt,
ist dieses Sprichwort, wenn der Physikkörper
, der diesen Bereich betritt, sein Name Passspieler
mit einem großen P und dann werden wir
sagen, dass der Körper jetzt unser Gebiet betreten hat, sich
DQ befreit. Kehren wir also zu
unserer Spielerszene zurück und schauen uns
unseren kinematischen Körper an. Es ist ein Spieler mit einem großen P. Das wird also funktionieren. Der Feind sollte in der Lage sein, uns effektiv
zu töten, wird erschossen und der
Modus verschwindet aus
der Szene. Da haben wir's. Wenn wir schießen, bewegen wir uns. Nichts passiert, weil
wir vollständig geheilt sind. Okay, jetzt zu unserem Feind, jetzt werde ich dir zeigen,
wie man das mit Gruppen macht. Wenn du also
mehrere verschiedene feindliche Schiffe erstellen willst, kannst
du sie einfach alle
unter den Gruppenfeind stecken, und das wird einfach funktionieren. Sie müssen dem Projekt
keinen Code hinzufügen. Gehen wir also zu unserem feindlichen Schiff mit unserem kinematischen
Körper 2D hier. Denken Sie daran, dass wir vom Körper
aus arbeiten, der eingegeben wurde. Gehen wir rüber zum
Gruppenbereich. Rechts. Wir gehen in unser
Textfeld und
sagen Feind und klicken auf die Schaltfläche Hinzufügen. Wenn wir also unsere
Gruppen jetzt verwalten, sehen wir, dass wir
die feindliche Gruppe haben , die
aus unserem feindlichen Schiff besteht. Wie Sie ihre Notizen
in der Gruppe feindliches Schiff sehen. Und Sie können dort ganz einfach hinzufügen
oder entfernen. Aber jetzt, wo wir
das drin haben, können
wir diese
Arbeit mit all unseren Feinden haben, solange wir sie
nur zur Gruppe hinzufügen. Also müssten wir nur tun, wenn
der Körper in einer Gruppe ist. Und das wird
ein Argument in Form
einer Zeichenfolge benötigen ein Argument in Form , wenn ich mich mit dem Gruppennamen nicht
irre. In diesem Fall wäre es also
eine Reihe von feindlichem Kapital Y. Lassen Sie
uns das versuchen. Leite unsere Welt. Und wir sollten jetzt in der Lage sein, unseren Feind
zu töten. Und das können wir nicht. Oh, egal. Wir haben
ihm gesagt, er soll hier vorbeikommen. Natürlich wollten wir es kostenlos machen, genau wie wir es mit unserem Spieler tun. Also wenn unsere Körper und
die feindliche Gruppe, sagen
wir ihr einfach, dass sie sich frei halten sollen. dort natürlich die falsche
Szene ausgewählt. Und du kannst sehen, ob wir jetzt schießen, Aereo, unser Feind
und er wird getötet. Wie Sie
sehen können,
durchläuft unser Objekt direkt
alles, was wir aufnehmen. Wenn Sie also nicht möchten
, dass das passiert, möchten
Sie, dass Ihre
Aufnahmen minimal sind. Hier. Was wir tun werden, ist außerhalb
dieser Bedingungen. Jetzt könntest du
das unten machen, oder du kannst es
oben machen, egal. Wir werden einfach selbst Punkt Q free
sagen. Auf diese Weise unser
Projektildiskurs selbst. Da haben wir's. Wir haben ein Shooting in
unserem Spiel und wir können unsere Anatomie
und unseren Spieler
zerstören. In Ordnung, im nächsten Video machen
wir weiter und
richten Gesundheitsgespräche ein. Da ist Strom. Richte Lebenspunkte und unseren
Schadensmultiplikator ein. Stellen Sie sicher, dass unser Schild
uns schützt. Da haben wir's. Okay, wir
sehen uns im nächsten Video.
25. Gesundheit und Schild Schäden: In diesem Video werden
wir
den Spieler und unseren Feind angehen , wobei ihnen Gesundheit und Schaden zugefügt werden. Also lass uns weitermachen und reingehen. Lass uns
unser feindliches Schiff stapeln. Sei ein bisschen einfacher, aber ein bisschen Abstand da drin. Und wir werden eine neue
Funktion namens Damage erstellen. Wir wollen es „Hit“ nennen. Ich gebe meinen
Schadensparameter weiter. Und wir drücken vorerst einfach auf „Pass“. Wir werden zu
den ersten beiden Variablen gehen. Und ich werde
eine Variable für unser,
für dieses spezielle feindliche Schiff erstellen . Ich nenne es Gesundheit. Und ich setze das auf drei. Das Schiff hat also drei Lebenspunkte, es ist nicht sehr stark. Und was wir
tun werden, ist
Gesundheit innerhalb unserer Funktion zu sagen , Gesundheit minus gleich Schaden. Dann sagen wir, wenn die Gesundheit
kleiner oder gleich 0 ist, dann selbst Punkt Q frei. Nun der Grund, warum
wir weniger
als oder gleich 0 sagen werden, denn wenn es gleich 0 ist, dann sollte unser Feind
tot sein und er sollte lesen. Also. Aber wenn es irgendwie zu einer Panne kommt, einer Panne kommt es zu einer Panne
, und unser Feind hat
am Ende negative Gesundheit. Dies dient als
Barriere-Check, um sicherzustellen, dass
der Feind zerstört wird,
wie er sollte, auch wenn es irgendwie
Pannen unter 0 gibt. Bei unserem Projektil, wo wir unsere
feindliche Gruppe haben, werden
wir nur Körperpunkt-Treffer
nennen. Und denken Sie daran, dass
dies eine Parameter-Essenz dieser Feind drei Lebenspunkte hat. Wir sagen
diese Projektanalyse, wir können sie sehr schnell drehen. Wir werden sagen, dass das
ausgecheckt dem Feind nur einen Schaden zufügt. Wenn wir das
jetzt rennen würden, sollten wir sehen, dass der Feind Schüsse abgibt, um ihn zu töten. Los geht's, 123. Und wenn unser Spieler erschossen wird, werden unsere Spieler trotzdem
sofort zerstört. Unser Schiff hat jetzt Gesundheit und unser Spieler
muss Gesundheit haben, aber auch andere
Parameter wie
natürlich unsere Schilde berücksichtigen . Gehen wir also
zu unserem Layer-Skript über. Geben wir unserem Spieler etwas
Gesundheit, falls Sie dies noch nicht getan haben. Mein Spieler hat drei Lebenspunkte. Wir kommen runter zu Wo
soll ich das hinstellen? Ich lege das direkt
unter mein Shooting bevor wir in
unsere Power-Ups kommen. Ich werde eine
neue Funktion namens hit erstellen. Dies erfordert einen
Parameter des Schadens. Und wir werden hier das
Gleiche tun, Gesundheit minus ist gleich Schaden. Und wir würden sagen, wenn ich
kleiner oder gleich 0 bin, self.view grau, genau wie
wir es mit unserer Anatomie getan haben. Jetzt das Problem hier,
also müssen wir uns unseren Schild ansehen, oder? Wir müssen also schauen,
ob unser Schild aktiv ist. Also werfen wir einen Blick darauf, wir haben eine Variable, die wir
erstellt haben, die als shielded bezeichnet wird. Und wenn shield aktiv ist, können
wir weitermachen und shield equals true hinzufügen
. wir sicher, dass wir das für unsere Funktion
haben. Und jetzt, wenn wir getroffen werden, bevor wir eine
dieser Berechnungen durchführen, können
wir sagen, ob die alten es getan haben. Und wir wollen sichergehen, dass es
heißt, wenn nicht, sie hatte ein C, Sie können das
Ausrufezeichen vor dem Wort abgeschirmt machen , oder Sie können das Wort nicht eingeben. So oder so. Es war draußen und machte das Gleiche. Und ich werde
nur diese
drei Zeilen hervorheben und die Tabulatortaste drücken. Wenn wir also nicht abgeschirmt sind, verlieren
wir Gesundheit. Und wenn unsere Gesundheit unter
0 liegt, löschen wir uns selbst. Jetzt können wir hier also eine
Else-Aussage haben. Wenn wir also abgeschirmt sind, können
wir unseren Schild löschen ,
der auf „false“ gesetzt ist. Wenn wir jetzt einen Blick darauf werfen,
ist
Schild gegen Israel unser Kind unseres Spielers, wir werden eines davon haben. Wenn wir also
unsere Schild-Szene öffnen, können
wir sehen, dass wir
das gerade Great Shields genannt haben. Also sollten wir in der Lage sein, innerhalb unserer
Spieler zu tun, die hier zu sehen sind. Wir sollten in der Lage sein, nur die Knotenschilde zu
bekommen, stellen Sie sicher, dass Sie sie richtig
buchstabieren, sonst einen Fehler, sobald wir das Spiel starten
und zu diesem Teil gelangen. Also sagen Schilde Punkt Kubrick. Das sollte jetzt
unseren Schild löschen und unseren Schild
auf false setzen. Und wenn wir keinen Schild haben, sollten wir uns schaden lassen
. Dafür drucke
ich auch
unsere Gesundheit aus, damit wir
das visuell in unserer Konsole sehen können . Lassen Sie uns
das ausführen und sehen, wie das funktioniert. Ohne Schilde. Wir werden angeschossen. Wir haben es bei unserem Projektil nicht
angerufen. Willst du es Body Dot nennen, Schlag. Und wieder füge ich unserem
Spieler auch nur
einen Schaden zu. Es wird es
zwischen den beiden gleichmäßig halten. Wir sehen hier drüben auf der
Seite weiter zu Gesundheit One Health und 0, womit wir natürlich gestorben sind. Wenn wir jetzt
lange genug leben können, um
uns einen Schild zu besorgen , können
wir das testen. Es wird ein
bisschen wie ein zufälliger Test sein. Wer weiß? Wann
kriegen wir einen Strom? Wenn wir auch einen kriegen. Lass uns weitermachen und
oh, da ist ein Schild. Fantastisch. Also haben wir einen. Wenn wir getroffen werden,
sollte unsere Gesundheit nicht sinken und unser
Schild sollte verschwinden. Unser Schild ist verschwunden. Und natürlich haben wir unsere Gesundheit nicht
gedruckt weil wir nie Schaden genommen haben. Jetzt nehmen wir Schaden an einem. Und dann nehmen unsere Schilde und unsere Gesundheit alle ab,
wie wir es erwarten. Nun, wenn Sie eine Explosions
- oder Todesanimation haben ,
die Sie für Ihren
Spieler oder Ihren Feind hinzufügen . Du
spielst einfach die Animation ab. Und wenn das dann fertig ist, setze
ich es auf.
26. Gesundheitliche Gewinn: In Ordnung, lassen Sie uns weitermachen und unsere Gesundheit
angehen. Also habe ich auch
irgendwas hier drin? Also lass uns einen Blick darauf werfen. Was tun? Schauen Sie sich unser
Power Apps Script an. Und wir können unser Power-Up erstellen. Buddy trat ein. Okay,
also los geht's. Wenn wir gesünder werden
, wollen wir uns das hier ansehen. Wenn also ein 2D-Körper
in einen Bereich eindringt und das Einschalten, nach dem wir
suchen, ist unsere Gesundheit. Und dann
werden wir mit hier arbeiten. Wir werden weitermachen und unsere Funktion dafür
schaffen. Wir werden sagen,
nun, Gesundheit wird sagen Gesundheit wird höher sein und
Gesundheit wiederholen plus gleicher Menge. Und das ist so einfach wie wir müssen , um unsere Gesundheit
zum Laufen zu bringen. Wenn du ein
Maximum an Gesundheit haben willst, dann kannst du sagen, alles was wir tun müssen, ist dann hier nach oben zu gehen und wir
sagen var max health. Ich werde das auf vielleicht
fünf setzen, das ist die maximale
Gesundheit, die wir niemals bekommen können. Kommt rein und wir gehen, wenn die
Gesundheit weniger als r max Regal ist. Und dann
haben wir einfach diese Zeile in. Und los geht's. Das ist alles, was wir tun
müssten, wenn wir sicherstellen
wollen, dass wir
eine maximale Gesundheit haben , die der Spieler
nicht über- oder unterschreitet. Das ist alles was wir
dafür tun müssen. Aber jetzt können wir sehen, dass unsere
Gesundheit funktionieren wird. Und wenn ich gesünder ausdrucke, gehe ich einfach in unsere Welt. Und lass uns weitermachen und es
spielen und sehen, was
passiert, wenn wir eine Gesundheit
bekommen. Ich erinnere mich, ich
habe es nicht genannt. Gehen wir also auf die Gesundheit
unserer Power-Ups ein. Und wir werden eigentlich Body Dot Health genannt
. Und gib den Betrag weiter, wir erhöhen wollten,
was mein ist. Stell sicher, dass ich das richtig gemacht habe. Jep. In Ordnung. Jetzt können wir in
unsere Welt gehen und unsere Gesundheitseigenschaften
testen. Wir haben standardmäßig drei Wenn Sie sich erinnern, haben wir eine Gesundheit
aufgenommen und Sie können in der Konsole
links sehen,
oder die Gesundheit ist jetzt vier. Als wir um drei anfingen. Und mit unserer
Überprüfung der Mac-Gesundheit sollten
wir aus keinem Grund
darüber hinausgehen. Was auch immer unser
Süden vorhat. In Ordnung, also
los geht's. Unser Gesundheits-Power-up funktioniert
jetzt so, wie es sollte. Unsere Schilde funktionieren
nicht nur, sondern werden auch
berücksichtigt, wenn er erschossen wird. Und wenn wir angeschossen werden, haben
wir Schaden genommen. Wir haben angemessen mit
unseren Feinden und unserem Spieler umgegangen. Das deckt alle
unsere Power-Ups ab, das deckt unsere Kraft, unsere Schüsse ab und verursacht Schaden. Wenn Sie verschiedene Schüsse erstellen, könnten
Sie natürlich den gleichen Skripttyp für
das Projektil verwenden , nur
unterschiedliche Werte haben,
die hier für Ihren Schaden eingegeben werden. In Ordnung, wir haben das
alles zum Laufen und zum größten Teil haben
wir genau das, was
wir brauchen um diesen abgeschlossenen
Weltraum-Shooter zu nennen.
27. Hör auf, dich gegenseitig zu schießen.: Ordnung, in diesem Video werden
wir
weitermachen und sicherstellen, dass sich unsere Feinde nicht
gegenseitig in den Rücken schießen können. Und wie wir das machen werden, geht auf
unser feindliches Schiff. Wir werden einen Ray Cast zu
D hinzufügen und aus irgendeinem Grund
ist er standardmäßig deaktiviert. Wir wollen also zum Abschnitt Aktiviert
im Inspektor gehen und diesen einschalten. Arrow gibt an, wie weit unsere Besetzung
gehen wird, wie weit wir überprüfen. Was wir also tun werden, ist , den Cache
zu setzen , sagen wir mal, auf 100. Das macht es extra, mach
den größten Teil deines Bildschirms. Wenn du ein
bisschen verrückt werden willst, kannst du
etwa 400 machen, um sicherzustellen dass du den
gesamten Bildschirm abdeckst. Das liegt ganz bei dir. Oder Kollisionsmaske, wir
wollen mit Ebene zwei interagieren. Also schalte ich einen aus weil wir nur überprüfen wollen, ob wir unseren Feind treffen, oder in diesem Fall
unsere Feinde verbündet sind. Also in unserem Drehbuch, wenn
wir drehen, lass uns sehen. Wo drehen wir es hier, wir sollten hier schreiben,
wenn unser Timer
L mal macht. Also werden wir einen kleinen Scheck
machen. Ich werde sagen,
wenn wir unseren 2D-Strahl werfen, damit F-Strahl untersuchen
kann, dass der Punkt kollidiert. Und das ist alles, was wir überprüfen
müssen. CD kollidiert oder nicht. Also werden wir sagen,
ändere das, wenn nicht, kollidiert TD
neu besetzt. Wir werden
das tun, was im Wesentlichen Oliven
zum Schießen bedeutet. Und beachte, dass ich den
Start des Timers draußen gelassen habe denn ob er kollidiert oder nicht, wir wollen den Timer neu starten. Wenn wir das jetzt ausführen würden,
und nur zu reinen
Testzwecken und um es Ihnen zu zeigen, werde
ich
meine Geschwindigkeit bei meinem Feind erneut
auf 0 setzen . Ich werde mich umdrehen, hier in unsere Welt
gehen. Und ich werde mich den Feinden stellen. Ich werde hier einen direkt
vor unseren Spielern platzieren. Oder besser gesagt, lasst es
uns hier zur Seite stellen. Und holen wir
uns ein anderes feindliches Schiff. Und wir
lassen es so hinter sich. Also jetzt, wenn unser Code dort funktioniert, yep, hinten
sollte das nicht,
weil er weiß, dass er einen befreundeten Verbündeten dafür
erschießen würde . Während der vorne hier
in der Lage sein
sollte, einfach wie gewohnt
weiterzuschießen. Und los geht's. Wir
können vorne sehen und all diese, die
spawnen und schießen. Aber der, der hier oben
links ist , ist unser oberer Linker? Nein, da der Feind
vorne war und nicht geschossen hat. Wenn wir einen Blick darauf werfen, schießt nur
das erste weil die anderen
mindestens ein anderes Schiff treffen , das sich davor befindet. Eine App Wir sagen, schnappen Sie sich dieses
Schiff und fahren Sie es rüber. Sie können jetzt sehen, dass es eine
Schießerei geben würde , weil
nichts davor ist. Und der ganz
oben schießt nicht. Denn wenn Sie direkt in diesen Bereich
schauen, können
Sie sehen, dass er kaum auf
die Kollisionskiste trifft , die
wir von unserem Schiff haben. Wenn wir das also einfach nehmen würden und etwas mehr als ein bisschen, kannst
du hier unten sehen,
dass es
weitergeht und er anfängt zu schießen. Jetzt trifft er dort
unseren Feind. Und das ist für den Körper. In Ordnung, also sind wir nicht gegangen.
Wir können sehen, dass sie nur schießen, wenn wir Feinde
direkt vor sich haben. Sie können also sehen, was das ist, wir haben
hier eine ziemlich gute
Verbindung damit, zu wissen, ob ein Feind vor uns liegt
oder nicht. Mit dieser Logik
sollte es uns also gut gehen. Jetzt füge ich meine Spawner wieder zur
Welt hinzu. Feindlicher Spawner. Wenn wir weitermachen und es
uns jetzt ansehen. Oh, das stimmt.
Ich habe sie auf 0 gesetzt. Teste das. Setze das wieder
auf Geschwindigkeit. Da haben wir's. Wir können also sehen, dass
sie nicht schießen, wenn sie ein anderes Schiff
direkt vor sich haben. Und wir gehen. Jetzt
sind sich unsere Schiffe etwas selbstbewusster.
28. Spawn Animationen: Jetzt müssen Sie nur noch tun, wenn Sie komplexere Muster
wünschen, anstatt direkt nach unten zu gehen. Du kannst einfach so
etwas wie einen Zufall verwenden, so
etwas wie unseren
Zufall,
den wir verwenden. Ziehen wir das zurück. Zum Beispiel, genau wie
wir es hier tun, wenn Randy wir es tun, können wir so
etwas machen. Und dann können Sie basierend auf
der Anzahl, die Sie erhalten, eine
bestimmte Animation abspielen , mit der Sie britische Schiffe erstellen. Wenn Sie also einzigartig sein möchten, möchten Sie
vielleicht ein paar Schleifen versenden
. Sie können weitermachen und Sie
können es so einstellen. Offensichtlich müssten Sie
die y-Geschwindigkeit auf 0 setzen. Wenn du das willst. Andernfalls bewegen Sie sich
weiter vertikal, obwohl Sie Ihre Animation
abspielen. So können Sie
die Animation des Spielers nutzen , um
Ihre Schiffe dazu zu bringen , alle
möglichen Dinge zu tun. Und Sie können Randy
nutzen zu erstellen oder verschiedene Szenarien zu
spielen. Und der Ort, an dem du das tun
würdest,
wäre genau hier innerhalb
des Spawns deiner Feinde. Also basierend auf
was auch immer du bekommst. Also sagen wir,
sagen wir zum Beispiel, wenn ich sage, var ist gleich randy, Ordnung, sagen wir mal
Randy Five, so. Und dann sagen wir wie F
und M gleich, gleich 0. Was war der Standard hier? Und hier, und m ist gleich eins. Und natürlich kannst du Match
wie zuvor
mit dem Spieler verwenden . Wenn es um Power-Ups geht. Genau hier können Sie hier eine Übereinstimmung
sehen. Sie möchten keine if-Anweisungen
verwenden. Natürlich können wir
weitermachen und einen Blick darauf werfen. Wenn Anime-Messer animieren. Wenn Adam einer ist. Spielen Sie diese Animation ab und setzen Sie
Geschwindigkeit wissen Pi auf 0. Und das ist alles was Sie tun
müssten. Jetzt wird
unsere Form kontinuierlich schießen. Das ist Logik für sich allein. Aber so
kann man das machen, oder? Und dann können wir
natürlich noch überprüfen, ob wir alle und M2 sind. Und wir können diese Animation abspielen
und die Geschwindigkeit auf 0 setzen, wer rollt drei
Prozent das. Also bis dahin, es liegt
wirklich an dir. Und die Animation ist
, die Sie erstellen möchten,
damit die Schiffe sie verwenden oder
haben können, wenn sie spawnen. Und wenn Sie noch weiter
gehen möchten,
sagen Sie , Animation eins kommt
von links. Ich bin Sam von
links. Du kannst es tun. Du kannst reinkommen und du kannst, du kannst überprüfen, ob Position
x kleiner ist als, vielleicht
muss deine Animation weniger als 300 sein. Damit du das überprüfen kannst, oder? Verwenden Sie also einfach diesen
einfachen Text und erstellen Sie verschiedene Arten von Animationen
mit einem solchen Bond-Flow. Ich sollte auch hier hinzufügen. Nur für den Fall, dass einige Leute
nicht merken, dass sie als Kind
Feind hinzufügen . Kind. Ich füge das nur hinzu,
um dort ein bisschen Nachdruck
zu verleihen. Aber das ist im Grunde
alles, was Sie tun müssen, ist einfach diesem
Pfad zu folgen, und Sie können in
den Animation-Player gehen und all
die verschiedenen Animationen erstellen, all die verschiedenen
Animationen. Sie möchten Ihr Schiff bis zum Weg geht und geht. In Ordnung, das, das kümmert sich darum. Wir haben, Sie haben eine Idee,
wie Sie ein einzigartiges Haben schaffen können. Wenn du
eine spezielle Animation
oder dein Schiff haben willst , wenn es spawnt. Und natürlich ist es
eine zufällige Chance, ob
es das tut oder ob es einfach nur
herunterkommt. Wenn du willst. Wir haben unsere Feinde
angesprochen und nicht
gegenseitig in den Rücken geschossen. Richtig? An dieser Stelle
werde ich keines davon verwenden, aber Sie können es auf jeden Fall,
wenn Sie möchten. Ich
glaube nicht, dass ich das tun werde, ich bin damit einverstanden, dass es
einfach wie einige der Klassiker direkt
herunterkommt . Aber wir haben hier nicht wirklich
viel zu tun, abgesehen davon , wie unsere GUI
aussehen wird , und sie zu aktualisieren.
29. UI Kreation: Alles klar, in diesem Video werden
wir weitermachen und
den
Teil
der Benutzeroberfläche unseres Spiels erstellen . Wenn ich hier also nur
hineinzoome, können Sie sehen, dass
unsere Gesundheit auf unserer
linken Seite in Form von Herzen angezeigt wird. Und wir haben sowohl eine
leere als auch eine Füllung. Genau wie bei
unseren anderen Power-Ups hier, aber wir werden unsere Power-Ups auf der
rechten Seite
angezeigt
haben . Wenn sie leer sind, sind sie
ausgegraut. Wenn sie
sichtbar sind. Es wird alles beleuchtet sein, wie Sie es hier sehen. Jetzt. Wir könnten sie einfach
einzeln so drin lassen. Und dann schalten Sie einfach um
, welche durch die Sichtbarkeit
angezeigt werden . Aber es gibt einen viel einfacheren
Weg für uns, dies zu tun. Also werde ich alle
löschen. Und der einfachste Weg, so etwas zu
erreichen. Verwenden Sie zunächst
eine Leinwandebene. Jetzt wird die Leinwandebene, alles, was
darauf gelegt wird, über oder
vor allem
anderen auf dem Bildschirm
gezeichnet . Also erstelle ich eine neue
Szene, gehe zu meinem anderen Knoten. Meine Leinwandebene hilft, wenn wir sie richtig buchstabieren.
Da haben wir's. Ich benenne
das in meine Pflicht um. Das wird es
sein und sparen Sie es. Szenen. sparen. Da haben wir's. Jetzt
haben wir unsere Szene sicher. Und gooey, wenn Sie es nicht wissen, steht
es nur für
grafische Benutzeroberfläche. Was ich dafür verwenden werde,
ist, dass ich tatsächlich einen Fortschrittsbalken verwenden werde
. Aber wir
wollen keinen normalen Fortschritt machen. Wir wollen unsere Texturen haben und wir werden
einen Texturfortschritt verwenden. Das wird uns im Grunde
erlauben, eine Bar
zu füllen und zu leeren. Und jetzt könnte er sich das als
einen typischen rechteckigen
Gesundheitsbalken oder einen Ladebalken
vorstellen . Wir werden dies jedoch mit unseren Sprites
tun. Und wir werden weitermachen, wir beginnen mit der Health
Bar, wie wir diese genannt haben. Und lass uns weitermachen
und einen Blick darauf werfen. Wir füllen es
von links nach rechts. Sie können sehen, dass wir hier all diese
verschiedenen Optionen haben,
je nachdem, wie Sie es möchten. Torgürtel deiner Bartok. Wir haben von links nach
rechts, von rechts nach links. Wir haben von oben nach unten. Was interessant sein kann oder unten nach oben bezahlen wie Sie das tun möchten. Wir haben einen Balken im Uhrzeigersinn, also irre ich mich nicht.
Atem der Wildnis. Das neue Zelda-Spiel
, das auf dem Schalter steht, hat einen Ausdauerbalken im Uhrzeigersinn
verwendet,
wenn ich mich richtig erinnere. Aber was wir dafür verwenden werden,
ist von links nach rechts. Wenn wir jetzt Texturen für Sie öffnen, haben
wir ein Unter und
Über und einen Fortschritt. Jetzt
vermische ich diese Threads genau
was, was was ist. Aber ich werde weitermachen
und meine Gesundheit fördern. Empty Ich glaube, geht
zum Unteren voll, entweder
geht es weiter oder es geht weiter. Ich glaube, ich glaube,
vorbei wäre wie die Dekoration mit einem
Rand um deine Bar. Darunter befindet sich die
Unterseite jeder Bar. Wenn Sie also einen
Gesundheitsbalken haben, ist dies möglicherweise ein dunkleres Rot oder er ist einfach
leer und hat nichts. Und dann werden
wir Fortschritte
zeigen, wenn wir Fortschritte machen. Also, wenn ich meinen
Gesundheitsbalken fülle, einen in Bearbeitung und den
leeren und darunter, wenn ich hier auf meinen
Wert herunterkomme und diesen auf 50 setze,
was auf halbem Weg ist, weil das
Min 0 ist, ist max hungrig. Also sagte ich, im Wert von 50 Aktien wird die Gesundheit auf halbem Weg
gefüllt. Jetzt können Sie dies
anzeigen, wie Sie möchten. Ich setze
meinen Maximalwert auf fünf. Das heißt, wenn ich
meinen Wert auf fünf setze ,
ist es bei voller Gesundheit. Wenn ich es auf eins setze, haben
wir noch eine Gesundheit übrig. Und wenn Sie
diesen weiteren Schritt machen möchten, können
Sie sehen, dass unsere Schritte erhöht werden, indem
Sie auf eins gesetzt werden. Zum Beispiel können wir 1,5 nicht machen, sondern runden das einfach auf zwei ab. Aber wenn du ein
halbes Herz haben willst, ändere unseren Schritt 2.50, und jetzt können wir
1,5 machen , ohne uns abzurunden. sind also nur einige
Optionen, die Sie sich vorstellen
können was wir
tun oder was Sie tun möchten. Nun, das ist im Grunde alles, was
wir brauchen werden. Dafür werden diese Bars im Wesentlichen alle
gleich funktionieren. Unsere Gesundheit und unsere
Multi-Shot-Schilde und Geschwindigkeit. Nein, die haben nur ein Bild. Das bedeutet nur, dass
wir
einen Maximalwert von eins haben werden,
als zu sagen, dass es 0 oder eins gibt. Es ist entweder ein oder aus,
aktiviert oder deaktiviert. Bevor Sie gesünder sind, können Sie
sehen, nehmen Sie sich ein wenig Freiheit. Wenn du willst, kannst
du
hier halbe Schäden anbringen oder du kannst dich an die Standardmarke halten
, die ich
hier verwende. Der Standard 12345. Und ich mache einfach weiter und
erstelle hier unsere anderen Marken. Das Labor hat also zwei weitere Texturen. Fortschrittsbalken haben eine
für unsere Multishot-Leiste. Wir haben unseren Geschwindigkeitsbalken. Und zuletzt ein
Fortschrittsbalken. Das schließen wir nicht ab. Aber da ich das geöffnet habe, kann
man sehen, dass ein
Fortschrittsbalken normalerweise das ist, was man für so
etwas wie einen Ladebildschirm sehen wird. Es ist nur ein einfacher
Balken, der sich füllt. Und das ist wirklich alles, was
man dazu braucht. Während die Textur
, wie Sie gesehen
haben, können wir unsere eigenen
benutzerdefinierten Texturen darauf anwenden, damit sie einzigartiger aussieht. Also mach weiter und erhalte wieder einen
Texturfortschritt. Und die Blätter
wollen einfach nur unser Schild sein. In Ordnung, also wenn wir zu
dem aus dem Weg gehen, wird
unsere Multishot-Leiste davon verkleinert. Lass uns einen Blick darauf werfen. Wir
legen unsere unter sie ist leer. Unser Fortschritt, der unser
voller Erfolg ist, bringt unsere kleine Messlatte. Und so haben wir unser Minimum. Und das wird entweder 0 oder eins
sein. Setz das auf eins. Um einen Blick auf maxed out zu werfen, können
wir unsere Geschwindigkeit erhöhen, die ungefähr
die gleiche Größe hätte. In Ordnung, jetzt können
wir uns ansehen, wie weit unsere Positionen
dazu sein sollen. Also wo will ich das hin? Mal sehen, nehmen wir
Wrack und Position ein. Und könnte ein bisschen viel sein. Ich denke, fünf
wären eine gute Zahl. Diese gehen entlang
der y-Position nach unten, zerstörte Position y fünf. Und das Gleiche gilt für unsere Hilfe. Halten Sie alles auf einem
gleichmäßigen Feld oder ein insgesamt schöneres Aussehen wird auch fünf vom x
wegziehen. Schnappen Sie sich alle drei. Geh rüber. Und
lass uns einen Blick darauf werfen. Das haben wir. Ich werde damit beginnen,
uns oder den ganzen Weg bis zum Rand zu bringen . Und dann ziehe ich
einfach fünf davon ab. Also sag 208 minus fünf. Dann sagen wir 125 minus fünf, das wären eins achtzig, eins dreiundsechzig minus
fünf lässt uns mit 158. Okay, jetzt haben wir
eine gleichmäßige Verteilung zwischen all diesen
und wenn wir das ausführen, lass mich sehen, so wird unsere
Benutzeroberfläche hier aussehen. Mit unserer Benutzeroberfläche jetzt erstellt. Wir können dann mit
der Implementierung
der Bill Ops fortfahren und nicht
in unsere Skripte.
30. UI aktualisieren: In Ordnung, also lass uns
weitermachen und anfangen unseren Code
hinzuzufügen. Und ich denke, der einfachste Weg, dies
zu tun, ist, wenn wir
eine Gesamtfunktion erstellen , die mit dem Ändern unserer Balken
umgehen kann . Das wird also eine Funktion sein
, die wir immer wieder verwenden können. Also werde ich
weitermachen und ein
neues Skript zum Streiten erstellen . Platzieren Sie es an der
richtigen Stelle. In unseren Skripten. Es wird keine Variablen geben. Sie sind bereit. konnten wir nicht gebrauchen. Ich werde es noch nicht
los. Und innerhalb unserer
Prozessfunktion leider nicht verarbeiten. Und werd das los. Wir werden hier unsere eigenen Funktionen haben. Ich komme zum
Funktionsupdate, Update-Leiste. Und das nimmt
zwei Argumente eines Balkens in Form
einer Zeichenfolge auf. Und das wird
einen Wert in Form eines Zolls annehmen . Wenn Sie nun halbe Werte erstellen, müssten
Sie natürlich auch Lasten
akzeptieren können ,
was bedeutet, wie Sie es so einstellen
können. Warum eine ganze Zahl,
du
magst zum Beispiel natürlich 1. Da ich es
mit ganzen Zahlen zu tun
habe, gehe ich
direkt mit rein. Und was wir tun werden, ist
die Bar zu benutzen. Wenn wir das also nennen, werden
wir eine
Zeichenfolge wie Gesundheitsleiste,
Multi-Shot-Leiste,
C-Balke, Schildleiste übergeben . Also werden wir ihm sagen, welche Riegel wir gekauft haben. Danach können wir
weitermachen und noch Knoten machen. Und wir können einfach an der
Bar vorbeikommen, die wir da drin haben wollen. Wir setzen den Punktwert gleich dem
Wert, den wir übergeben. Und das ist alles was
wir dafür tun müssen. Kämpfe jetzt, füge
unsere Vars hinzu oder setze sie auf was auch
immer, was auch immer wir wollen, die aktuellen
Werte von ihnen sein sollen. In unserer Bereitschaftsfunktion. Ich mache weiter
und mache selbst Punkt, Hinzufügen, Hinzufügen, Hinzufügen zur Gruppe. Und ich werde weitermachen und das
einfach zu einer Gruppe
namens Gooey in Großbuchstaben hinzufügen . Was wir gerade hier im Code AC
gemacht haben, entspricht
dem, dass wir hier
zu unseren Knotengruppen kommen und unseren Dewey hier zu einer klebrigen
Gruppe hinzufügen und auf Hinzufügen klicken. Das ist genau das Gleiche. Es wird einfach passieren,
wenn unser Spiel geladen ist. Das ist ein zweiter Weg, wie Sie das tun
können. Es liegt wirklich an dir
, was Rocks Gogo tun soll , das nicht wirklich weh tut oder egal
auf welche Weise du vorgehst. Und ich werde das geschaffene speichern. Wir sollten jetzt in der Lage sein,
mit deren Umsetzung zu beginnen. Also mache ich weiter
und gehe zu, lass uns gehen zu, zu unserem Power-Up
gehen, ich werde in einer Art-GUI-Szene hinzufügen oder in die
Welt bringen. Jetzt, wo wir unseren
Dewey in der Welt haben, können
Sie sehen, ob wir ihn oben oder unten haben. Es ist nicht wichtig, es
wird keine Rolle spielen. Denn auch hier handelt es sich um
eine Leinwandebene, die immer
über allem anderen gezeichnet wird. Nun könnte man
das natürlich
mit Ebenen ändern, wie
man dort sehen kann, aber es gibt keinen echten,
keinen echten Sinn. Vor allem in der
Reife der Spiele hier. Und Ebenen sollten nur dann wirklich ins
Spiel kommen,
wenn Sie mehrere
Canvas faul haben, werde
ich
alles super
organisiert halten , wie es angezeigt wird. Okay, also lasst uns
in unsere Skripte einsteigen. Fangen wir mit dem an, was ich gesagt habe? Power-Ups. Los geht's. Also springen wir ein,
also werden wir den angeborenen Call starten und
sie werden beschleunigen, Schild aktivieren und
Multi-Shot auf unserem Spieler ermöglichen. Sagen wir mal. Okay,
also das gibt uns Gesundheit wird
was haben wir hier gesessen? Also können wir weitermachen und
das auf fünf setzen. Jetzt setze ich
das auf fünf aufeinanderfolgende
Höchstmengen, die wir haben können. Wir werden hier
unsere Gesundheit finden. Okay,
was wir hier tun werden,
ist,
wir werden
die Gruppe DUE nennen, was alles
bedeutet, was in dieser Gruppe ist. Und Sie werden
all diese Dinge anweisen, eine bestimmte Funktion
auszuführen. Wenn es diese Funktion nicht
hat, kann es
natürlich zu einem Fehler oder
einem Problem kommen. In unserem Fall haben wir nur einen Artikel drin,
und das ist unsere GUI. Wir wissen also, dass die Funktion existieren
wird. Also sagen wir anrufen,
holen, tree dot col group. Also der erste Punkt
hier ist welche Gruppe? Welches wird
die GUI sein. Wir gruppieren uns. Das zweite Argument ist die
Funktion, die Sie aufrufen möchten. Ich werde einfach
weitermachen und das auswählen, um
sicherzustellen, dass es richtig geschrieben ist. Diese werden alle als
Strings hinzugefügt, also update bar. Und dann werden die nächsten Argumente
sein
, die du vorbringst . Also zuerst brauchen wir die
Bar, die Gesundheit ist. Bar. Und der zweite ist der Wert, auf den wir ihn aktualisieren
wollen. In unserem Fall werden
wir also
Gesundheit verwenden, weil Gesundheit
auf was auch immer
eingestellt wird , oder? Und das wird am Ende auf
123 oder fünf gesetzt sein . Also werden wir
das nutzen, um unsere Gesundheit zu aktualisieren. Wenn wir jetzt
getroffen werden, musst
du auch unsere Gesundheit auf den
neuesten Stand bringen. Die Gesundheit minus Schaden
gehen und das nennen wir. Wenn wir das jetzt ausführen, sollte
unsere Gesundheit aktualisiert werden. Und es ist auf eins eingestellt,
nur weil
wir Dinge mit Tetramer testen. Und weil das standardmäßig nicht auf „voll“
gesetzt ist, gehe
ich in meine
Gesundheitsleiste und aktualisiere diese. Wo sind meine Werte dort? Also setze ich das auf fünf. Ich habe nach meinem Standard gefragt und wir machen weiter und führen das aus,
damit wir voll gesund sind. Und du siehst, wir wurden angeschossen,
wir verlieren Gesundheit. Es wird aktualisiert. Und wenn wir ein Gesundheits-Power-up
finden, sollte auch
das zunehmen. Wenn wir so viel Glück haben können. Es gibt einen, wir haben ihn und Sie sehen, dass unsere Gesundheit auf den neuesten Stand gebracht wurde. Vier von fünf. Es gibt eine Mehrfachaufnahme
, bei der noch keines dieser Dinge
funktioniert. Wir argumentieren dafür, dass die Standardwerte auf 0 gesetzt werden
sollten. Sind das Viren. Und los geht's. Okay, jetzt
können wir den gleichen Code
hier verwenden , um unseren anderen Wert zu erhalten. Ermöglicht also Geschwindigkeit. Zum Beispiel hier. Wir können hier reinkommen,
wir können es ermöglichen. Ich rufe die GUI-Gruppe an. Wir rufen die Aktualisierungsleiste auf. Und dieses Mal rufen wir
die Geschwindigkeitsleiste. Und wir werden nicht
an Gesundheit weitergeben. Wir werden einen weitergeben. Dieses Mal. Wir
werden tatsächlich unsere Nummer festlegen. Und wenn sich unsere Geschwindigkeit
wieder normalisiert, passieren
wir eine 0. In Ordnung, wir können das auch für unsere
Schild-Aktivierung
angehen. Obwohl Shield Activate
es auf eins setzt. Und wir setzen es zurück auf
0, wenn wir getroffen werden. Also kommen wir zurück, um
zuzuschlagen, wenn falsch wird, und
wir behalten die hinteren Schilde. Wir aktualisieren unsere Bar. Beachten Sie, dass wir das tatsächlich aktualisieren
müssen und wir gehen zur Schildleiste. Und dann bleibt
unser Multi-Shot übrig. Komm rein. Wir sagten „wahr“. Multi-Shop sind auf eins eingestellt. Und nach unserem Timer, wenn wir Multishot ausschalten, setzen
wir den Wert wieder auf 0. Jetzt
sollten unsere Power-Ups alle laufen. Und wer muss warten,
bis sie auftauchen, um sie zu testen? Ihre Geschwindigkeit. Bumm, es ist an. Wir haben unseren Schub. Ich sollte gleich
hier abschalten. Da haben wir's. Zu unserer Geschwindigkeit funktioniert. Jetzt müssen wir
sicherstellen, dass unser Multishot ist. Da haben wir's. Wir sind auf ein Problem
gestoßen. Ich lege zurück statt Bar. Da haben wir's. Deshalb testen wir weiter , damit wir
wissen, dass unsere Geschwindigkeit funktioniert. Wir müssen jetzt unseren
Multishot testen, der funktionieren sollte. Wir hatten gerade einen Tippfehler da drin. Und dann können wir unsere Schilde
testen. Und wenn beide funktionieren, funktionieren unsere Power Apps
alle
so , wie sie sollten. Sei. Fantastisch. Immer toll zu hören. Da steht: „Mach weiter und warte“. Da ist ein Schild, heb
ihn auf oder der Schild leuchtet. Fantastisch. Wenn wir angeschossen werden, verschwindet sie mit ihrem
Schild. Wunderschönen. Jetzt müssen wir nur noch sichergehen, dass
unser Multishot funktioniert. In Ordnung. Wir gingen
weiter und bekamen Multi-Shots, die funktionierten. Und sobald es
fertig ist, sollte es das tun. Wir kehren zu einem leeren Symbol zurück. In Ordnung, also alle unsere
Fähigkeiten und Power-Ups
funktionieren einwandfrei,
ebenso wie unser Gesundheitsupdate. Wir haben alles
in einer einfachen Funktion zusammengefasst. Wir können von überall aus anrufen,
ohne dass Verbindungssignale auftreten und
die Dinge
verwirrender werden, als
dies für manche Menschen der Fall sein könnte.
31. Particle: Okay, in diesem Video werden
wir
weitermachen und ich werde
dir zeigen, wie du mit Partikeln
eine Explosion machen kannst . Jetzt können Sie Partikel für
alle
möglichen Dinge verwenden . In diesem Fall
werden wir es benutzen, um eine kleine Explosion
zu machen. Auf diese Weise zeige
ich Ihnen, anstatt eine Explosion zu
animieren ,
wie Sie eine erstellen können. Ich zeige Ihnen,
wie Sie
mit den eingebauten Partikeln eines erstellen können . Wenn wir jetzt
Ihre Partikel erstellen, werden
wir
natürlich eine neue Szene erstellen. Wir machen einen Timer. Ich bin ein Kind davon. Nur damit es weiß, wann es sich selbst löschen
muss, wer sich unser Speicherproblem leisten kann. Aber wenn es Partikel macht, tippe CSI das hier ein. Artikel. Wir haben CPU-Partikel
und Partikel. Es gibt keinen großen
Unterschied zwischen den beiden, außer dass
CPU-Partikel von Ihrer CPU angetrieben werden, während Partikel TD von Ihrer GPU mit Strom versorgt
werden. Abhängig von Ihrem Projekt möchten
Sie vielleicht
eine Seite über die andere stellen,
ganz bei Ihnen, aber wir werden
die GPU-Partikel hier verwenden. In Ordnung, also mit dem ausgewählt
und in Explosion umbenannt, bin ich weitergegangen und habe mein
Gesehenes bereits gespeichert. Wann mach weiter. Wir können das Leben um eins verlassen. Und wir werden
weitermachen und das Material verarbeiten. Das
gelbe Dreieck sagt uns, dass wir
kein Material für uns haben, wir haben kein Material, von dem unsere
Partikel hier ausgehen können. Also lasst uns weitermachen und
ein neues Partikelmaterial erstellen. Nun
würde Shader in den Code gehen, und das ist eine ganz
andere Sprache und ein ganz anderes
Biest für sich. Halte die Dinge einfach. Und weil wir hier wirklich keinen Shader-Code verwenden
müssen, werden
wir einfach
ein neues Partikelmaterial erstellen. Und Sie können bereits
sehen, dass unser Partikel bereits aktiv
ist und direkt nach unten geht. Komm runter, wir
können uns das ansehen. Wir wollen unsere Emissionsform. Einen Moment. Da haben wir's. Unsere Emissionsform ändert
sich also stark. Sollen wir sagen, dass der
Kugelknoten in einem Kreisbereich liegt? Wir haben eine Box,
die eher ein Rechteck sein würde. Das sagt
ihm also ziemlich genau, wie man sich selbst erschafft. Wir werden einen Ring benutzen. Und ein Beispiel hier: Wenn wir den Ringradius
vergrößern, können
Sie sehen, dass wir im Vergleich
zu diesem grundlegenden Punkt
unterschiedliche Ergebnisse erzielen. Wenn wir also sagen, eine Box,
sagen wir zehn auf dem x verwenden würden. Warum? Sie können sehen, dass wir
in zehn mal zehn Räumen, in denen diese
Partikel spawnen, darauf eingehen. Je nachdem, was
Sie vorhaben, möchten
Sie vielleicht
mit verschiedenen Formen experimentieren und etwas finden, das Ihnen gefällt. Ich nehme einen
Ring für diese Explosion. Hand setzte das wieder auf eins
zurück , ich glaube, es war ein Standard. Also weiter, wir können zu „Wir haben
Richtung und
wir haben Schwerkraft“ gehen . Dies sind die beiden
Dinge,
die beeinflussen werden , wie Ihre Partikel bewegen. Und für diese werde ich
weitermachen und meine Schwerkraft festlegen. Es wird 0 auf dem y sein, und ich werde eine auf das x
setzen
, damit es
sich nach rechts bewegt. Jetzt. Es geht überhaupt nicht
sehr weit. Und es
breitet sich überhaupt nicht aus, wie man es
von einer Explosion erwarten würde. Aber was wir tun können,
ist, dass wir uns
auf die Anfangsgeschwindigkeit bewegen können . Und wir können das
erhöhen, sagen wir 180. Los geht's und fliegen
in die X-Richtung. Und Grund, warum
wir es
wegen unserer Verbreitung überall dort haben. Wir hatten also unsere Ausbreitung
auf ein Grad reduziert. Es wird fast so aussehen würde
es perfekt gerade laufen. Wenn wir 0 machen, wird es geradeaus gehen. Aber da wir keine Explosion haben, müssen
wir das wirklich komplett umdrehen
. Wir wollen 180 Grad, oder? Wir wollen hier den ganzen
Weg um uns herum. Und ich denke, 180 auf der Geschwindigkeit könnten dafür
etwas zu schnell sein. Also ändere ich es auf 50. Jetzt. Das ist, das
sieht toll aus. Aber wie du siehst,
werden wir wie Boop, Boop, Boop, Boop, Boop, Boop. Sie können all diese
verschiedenen Richtungen sehen. Also, Warren-Explosion, wir wollen, dass das wie
eine Explosion wird, oder? Wir wollen einfach nur einen großen Boom
und es gibt alles. Nun, bevor ich da hochspringe, werde
ich mein
Geschwindigkeitszufälligkeitsjahr optimieren. Und das wird nur eine Abwechslung in diese Sache
bringen. Wenn meine Geschwindigkeit also bei 50 liegt, meine Rötung etwa 0,45. Das bedeutet, dass meine
Geschwindigkeit
irgendwo zwischen 49,4 oder fünf liegen kann , sorry, mindestens 49,55
und 50,45. Und Sie können weitermachen
und das ist viel einfacher, warum wir dort
einen ganzen Unterschied haben. Aber nochmal, ich
werde einfach mit 0,45 gehen. Es ist kein großer Unterschied, aber es sorgt für ein
bisschen Abwechslung. Um also nicht die
Explosivität zu erreichen, die wir wollen, wollen
wir tatsächlich
ganz nach oben scrollen,
unter dem Zeitabschnitt. Wir haben Explosivität hier. Mach weiter und
setze das einfach auf eins. Und bumm, los geht's. Wir haben unsere Explosion. Nun, das sind nicht viele
Partikel , die
wir im Gange haben. Es gibt nur acht von ihnen. Nun, wir können den Betrag hier
optimieren. Und jedes System
wird anders sein. Denken Sie daran, je mehr Partikel, desto mehr Ressourcen benötigt der Computer,
um diese Partikel
zu rendern. Wir können, sagen
wir, auf 100 steigen. Bumm, da haben wir's. Wenn Sie nun
eine niedrigere Zahl verwenden möchten, sieht 5050
natürlich auch
pro Pixel-Spiel gut aus. Aber ich glaube, ich
nehme persönlich 100. Und das wird hier offensichtlich jedermanns
persönliche Entscheidung
sein. das ansehen, können
wir sehen, dass alles weiß ist. Das wird nicht
wie ein Schnee-**** vor sich gehen. Wir wollen, wir wollen
etwas Farbe da drin haben. Gehen wir weiter
zum Farbbereich. Und wir
machen einen Farbverlauf. Also eine neue Farbverlauf-Textur. Und wenn wir einfach darauf klicken, können
wir einen neuen Farbverlauf erstellen. Mach das auf. Und los geht's. Was ich also tun werde, ist
für meine erste Farbe hier, ich werde weitermachen
und ein Gelb machen. Ich werde jetzt eine andere Farbe
haben, etwas weniger
als die Hälfte,
um eine Orange zu erzeugen. Und in diesem Fall werde ich einfach
ein dunkles Grau verwenden. Und das habe ich abgeklickt. Da haben wir's. Das habe
ich also für einen Sprengstoff. Sie könnten hier kleine Takte anpassen und
filmen, was sich auf die Änderung
des Farbverlaufs auswirkt. Also schau mal, wenn ich Orange
weiter nach rechts bewege, werden
sie diese
Übergangszeit von Gelb zu
Orange viel länger
haben . Wir werden gebeten, ein Diagramm darzustellen und es nach links zu
verschieben. Es wird nur ein Vorfall sein. Sie können diese Schieberegler also
auf etwas bewegen, mit dem
Sie sich wohl fühlen und
das Ihrer Meinung nach gut aussieht. Ich glaube, das mache
ich genau dort. Und damit haben wir eine Explosion, die
geschaffen und bereit ist. Jetzt wollten wir nur das eine Mal
los. Versprich. Wenn wir einen Schuss treffen, werden
unsere Partikel nicht
emittieren, wenn sie in die Szene
geladen werden. Ich weiß nicht, ob das ein
Bug oder ein Problem ist oder was, aber wir können einen Schuss umschalten,
nachdem er gespawnt wurde. Und wieder, dein Betrag hier wird bis zu hoch sein , aber
ich werde dir zeigen,
was wäre, wenn wir etwa
tausend C hätten , sind
Explosionen, warum? Warum war viel anders?
Weil das Reagieren all
dieser Punkte auf einmal erfolgt. Sie sehen, wir bekommen hier eine
sehr klare Ringform. Also das könnte
ein bisschen zu viel sein. In diesem Fall. Aus diesem Grund gehe
ich für etwas wie Rauch in einem Pickup-Spiel existieren
soll, , das
in einem Pickup-Spiel existieren
soll, gerne mit
diesen kleineren Zahlen, wie 50 bis 100, vor. Okay, jetzt, wo
wir das erstellt haben,
stellen Sie sicher, dass Sie Ihre Szene speichern. Wir werden uns darauf einlassen uns hier unser
kleines Drehbuch ansehen. Ich werde das für
den Timer erstellen. Ich sende das
Timeout-Signal, meine Explosion. Und ich
setze das einfach auf self dot. Das Wichtigste, was
ich hier einstellen möchte ist, dass ich
sicherstellen möchte, dass die Wartezeit auf meinem Timer genauso
groß ist wie die Lebensdauer zumindest
unserer Lebensdauer auf unseren
Partikeln hier entspricht . Weil wir nicht wollen
, dass es früh abgeschnitten wird. Und dann können wir
sicherstellen, dass wir unseren Timer
auf einen Schuss einstellen und automatisch starten. Okay, als nächstes müssen
wir nur noch einziehen
und das auf unseren feindlichen Schiffen einrichten. In Ordnung, also auf unserem
feindlichen Schiff hier habe
ich
eine Variable namens Explosion erstellt, habe
ich
eine Variable namens Explosion erstellt die hier
in unseren Partikeln freeloading ,
Explosionspartikel. Und ich werde zu dem Zeitpunkt gehen, an unser Feind innerhalb
der Bandfunktion getroffen wird , die
kleiner oder gleich 0 ist. Wir wollen es löschen, aber
natürlich wollen wir, wir wollen spawnen
oder Partikel hineinbringen. Also werde ich
eine neue Variable conn
EX p underscore erstellen . Setzt das gleich der
Explosionspunkt-Instanz. Hier haben wir eine neue
Instanz dafür. Und wir möchten
es natürlich in unsere Szene mit get parent and child EXP aufnehmen. Okay. Also das ist großartig. Wir haben es jetzt in der Szene. In diesem Fall gibt es zwei Probleme. Nun, ein Problem und
ein Teilproblem. Das erste ist das Problem , dass es immer noch in der Ecke nach
oben gehen wird. Also müssen wir seine
Position einstellen EXP Unterstrich
Punktposition entspricht
Selbstpunktposition. Bis jetzt. Die Explosionspartikel
sollten sich jetzt an derselben Stelle wie unser
feindliches Schiff befinden, als es starb. Und wir können weitermachen und einen Versuch setzen.
Um wahr zu sein. Sie sollten das nicht mit dem Timer-Setup tun
müssen. Aber wenn Sie besonders sicher
sein wollen als ein Dutzend Schleifen oder etwas
davon allein. Nur eine kleine zusätzliche Vorsichtsmaßnahme. Dann können Sie loslegen und hier
einen Schuss gleich true setzen. Wenn wir
das jetzt ausführen, können Sie einen Blick darauf werfen. Da haben wir's. Wir haben
eine Explosion und sie verschwindet. Da haben wir's. Jetzt können Sie weitermachen und
dasselbe tun
und es dem Player hinzufügen, wenn Sie möchten. Wenn der Spieler getötet wird. Da haben wir's. Wir haben
unsere eigene kleine Explosion geschaffen. Rein aus Partikeln hergestellt.
32. Spiel vorbei: Ordnung, für dieses Video werden
wir weitermachen und
ein kleines Spiel über Szene machen ,
damit
wir den Benutzer auffordern können, das Spiel neu zu starten, wenn der Spieler stirbt wir den Benutzer auffordern können, das . Und ich glaube, ich mache
das innerhalb meiner Bestellung. Ich wollte dafür ein
separates Blatt machen. Weißt du was? Lass uns weitermachen und ich
füge es meinem Dewey hinzu. Ja, lass uns
weitermachen und das machen. Also werde ich
weitermachen und dafür werde
ich ein Farbwrack machen. Und ich werde es einfach verlängern. Stellen Sie sicher, dass es meinen
gesamten blauen Bereich abdeckt. Und ich werde die Farbe
ändern, um
zu sehen, wie der
Dunkelmodus aussehen wird. Einundzwanzig,
einundzwanzig, einundzwanzig. Und senke mein Alpha
auf halbem Weg auf eine Runde. Wenn wir uns das jetzt ansehen, können wir uns das ansehen. Jetzt wird diese
Game-over-Szene für uns
wirklich einfach sein . Ich nenne das GO, GO BG für das Spiel im Hintergrund. Ich werde
hier einen Kontrollknoten erstellen und ihn einfach Game Over nennen. So kann ich später den Zugriff darauf
erleichtern. Verschiebe meinen Hintergrund hinein. Und dann können wir
das gesamte Spiel
einfach über den Bildschirm ein- oder ausblenden. Okay, also was wir hier brauchen, also brauchen wir ein Etikett, damit
wir etwas Text zeigen können. In diesem Text wird
nur M über sicher stehen, Beschriftungen über unserem Hintergrund. Und mal sehen. Also alles, was wir hier
überschreiben können. Nein, alles scheint so gut wie
möglich zu sein, ohne benutzerdefinierte Schriftarten einzubeziehen. Also sag GameOver, sag Geosteuer. Und das Letzte, was wir
einbringen werden, ist ein Knopf. Und auf dieser Schaltfläche wird „Wiederholen“ angezeigt. In Ordnung, jetzt
haben wir unsere Bücher. Wir haben alle unsere
Elemente, Sie, wir haben einen kleinen
Hintergrund, um zu zeigen , dass etwas anders ist. unserem Text erfahren Sie,
dass das Spiel der Spieler vorbei und wir haben einen
Wiederholungs-Button. Jetzt können wir einsteigen. Jetzt müssen
wir das nur noch ein- oder ausblenden. Und dafür können wir
in unsere GUI gehen. Und was für uns sehr
wichtig sein wird , ist der
Pause-Modus hier. Nun ist dies auf erben eingestellt, was bedeutet, wenn
alles andere aufhört oder die GUI stoppt
und wenn unser Dewey stoppt oder das Spiel über dem Bildschirm
nicht funktioniert. Also wollen wir
dies
so einstellen , dass wir weiterarbeiten werden, wenn wir den Baum
wohl und alle
seine Kinder hier pausieren wohl und alle
seine Kinder hier . In Ordnung, also schauen wir uns unser Skript an und wir sagen, schreibe eine
Funktion mit dem Namen „er“. Und dafür bekommen wir
unser GameOver. Beachten Sie hier. Ist das
sichtbar gleich wahr? Und wenn unser Spieler stirbt,
sehen Sie, wo das genau hier ist. Kostenlos. Ross wird die GUI-Gruppe
anrufen. Offensichtlich brauchen wir dafür
keine Argumente. Wir werden die Gruppe „Gooey“ nennen. Und ich habe
das Spiel bereits mit einem
Unterstrich vergessen . Kopier das. Es gibt also keine Tippfehler. Du gehst. Es löst jetzt
unser GameOver aus, wenn wir verlieren. Lass uns einen Blick darauf werfen. Sponsoring der Bürgerschaft. Offenbar gehen
sie alle den gleichen Weg. Wir gehen. Okay. Okay, wir haben
jetzt zwei Gesundheit. Eins. Der nächste sollte unser Spiel
auslösen. Über. Los geht's. Also, wenn du
die Szene nicht pausieren willst und weiterhin
sehen willst, wie deine Feinde
spawnen und schießen. Sie können
diesen Teil sicherlich hier beenden. Was ich Ihnen
zeigen werde, wie Sie auch den Bildschirm
anhalten können . In unserem Spielerskript, kurz bevor wir es freigeben, nachdem wir
das Spiel beaufsichtigt aufgerufen haben, werden
wir sagen,
tree ist gleich true. Und wenn wir das jetzt
versuchen würden, werden wir sehen, dass alles pausiert. Wenn wir sterben. Da haben wir's. Also, wenn du willst, dass
alles angehalten wird, wenn du
den Bildschirm pausieren lassen willst wenn wir ein Spiel so beenden. So können wir das machen. Wenn Sie das nicht haben möchten, lassen Sie
einfach diesen Bildschirm
oder diese Codezeile ganz weg. Und jetzt brauchen wir unseren
Wiederholungs-Button hier, um zu funktionieren. Also lasst uns weitermachen und
unseren Wiederholungsknopf mit dem
Brustsignal an unsere GUI anschließen . Und wenn das abgestürzt ist, werden
wir sagen, holen Sie sich
drei Reload-Währungen. Was das jetzt
tun wird, ist, dass
fehlende Gerechtigkeit definitiv neu geladen wird . Wenn wir bei SF wären, drücken
wir den Play-Button
wie gerade. Mal sehen, 1231 weitere Schüsse
und wir werden davon getroffen. Siehe GameOver,
alles ist angehalten. Und wir drücken auf „Wiederholen“. Und wir sehen, dass es neu geladen wird, aber alles ist immer noch angehalten. Wir müssen den Baum jetzt fortsetzen, da er neu geladen wurde. Also, nachdem wir neu geladen haben, würde
die Szene dasselbe tun
, was wir gerade einen Baum bekommen haben. Und machen Sie eine Pause und wir
setzen das auf false. Jetzt
wird es also nicht nur zurückgesetzt, sondern ich werde zurückgesetzt und wir können sofort mit dem
Spielen beginnen. Schon wieder. Wir werden nicht
alles haben ,
was nicht eingefroren wird. Machen Sie weiter und schauen Sie sich das an. Wir brauchen noch einen Treffer. Los geht's. Kam vorbei. Kannst du es noch einmal versuchen? Und jetzt können wir noch
ein bisschen weiterspielen. Da haben wir's. Wir haben jetzt eine
Game-over-Szene, ein Spiel über den Bildschirm. Das gibt uns jetzt
die Möglichkeit,
ein Spiel neu zu starten , ohne unser Programm
schließen und erneut öffnen zu müssen.