Transkripte
1. 1.01 Einführung: In diesem Kurs lernen wir
, wie Sie mithilfe von Bauplänen in Honorable Engine 5
in das Idle
Clicker-Spiel gelangen, indem Sie ein Spiel
nachbauen, das
Clicker Heroes und
Cookie Clicker A ähnelt . Dieser Kurs enthält alles, was Dieser Kurs enthält alles, was
Sie wissen müssen, um mit der Entwicklung von
Two-D-Idle-Clicker-Spielen
in Honorable Engine Five zu beginnen Entwicklung von
Two-D-Idle-Clicker-Spielen , einschließlich Wie fügt man statische und animierte Two-D-Assets hinzu. Wie man mit
dem Mauszeiger Schaden verursacht und Feinde
tötet So erstellen Sie einen Item-Shop
mit spawnbaren Gegenständen. So erstellen Sie eine automatische
Klick-Mechanik, die automatisch Schaden verursacht, wenn Sie
Artikel im Item-Shop kaufen So fügst du dem Spiel mehrere
Level hinzu, zwischen
denen du wechseln kannst Wie man
schwebenden Kampftext anzeigt, wie man zwei DUI
und eine Welt-Spawn-Benutzeroberfläche erstellt Wie man UI-Tooltips erstellt. Und schließlich, wie man
die Aufstiegsmechanik für den
Wiederspielwert hinzufügt , damit ihr
während des Spiels mehr
Schaden verursacht , wenn ihr aufsteigt Ich stelle Ihnen auch das
fertige Projekt zur Verfügung, damit
Sie es nach
Belieben begutachten können, während Sie Belieben Am Ende dieses
Kurses werden Sie in der
Lage sein, mit
Real Engine Five selbstbewusst
Ihr eigenes 2-D-Clicker-Spiel
von Grund auf neu zu erstellen Ihr eigenes 2-D-Clicker-Spiel Real Engine Five selbstbewusst
Ihr eigenes 2-D-Clicker-Spiel
von Grund auf neu Ich hoffe, Sie nehmen heute an
diesem Kurs teil. Und denken Sie daran, dass ich während des gesamten Kurses
immer für
Sie da bin
und hoffe, Sie bald zu sehen.
2. 1.02 Unreal Engine 5 herunterladen: Um Unreal Engine five zu installieren, musst
du zuerst zu Epic Games.com
gehen Gehen Sie also dorthin
und Sie finden oben
rechts einen blauen Download-Button Fahren Sie fort und drücken Sie auf
den Download-Button. Und hier bekommst du das Installationsprogramm für den
Epic Games Launcher. Also mach weiter und
führe das Installationsprogramm aus. Und sobald Sie
den Epic Games Slauncher installiert haben ,
melden Sie sich an Also gebe ich einfach meine E-Mail-Adresse und
mein Passwort ein und melde mich beim Launcher
an Sobald Sie sich
im Launcher angemeldet haben, wird er so aussehen. Also mach weiter und drücke auf
die Registerkarte Unreal Engine. Und innerhalb dieser Registerkarte Sie sich wahrscheinlich
im neuen Bereich Fahren Sie fort und klicken Sie auf Bibliothek. Und in der Bibliothek können
Sie alle aktuellen
Engine-Versionen sehen , die
Sie derzeit haben. Aber wenn Sie neu hier sind, haben
Sie wahrscheinlich nichts hier, und Sie sehen möglicherweise ein graues Feld in dem Sie die echte Engine
herunterladen können. Und wenn du es nicht siehst, kannst du immer auf
das Plus hier oben klicken, und es wird dir dieses
graue Feld angezeigt und du kannst auf
die Zahl klicken , um auszuwählen , welche Version der Unreal
Engine du installieren möchtest Jetzt werde ich die
neueste Version Unreal Engine 5.3 verwenden. Aber wenn Sie sich
diesen Kurs in Zukunft ansehen, wenn Sie 5.4 oder
5.35 oder was auch immer haben, können
Sie diesem Kurs trotzdem
folgen Es gibt keine große Veränderung. Lassen Sie uns also weitermachen und mit
Unreal Engine 5.3 beginnen. Ich werde
weitermachen und das Update durchführen und die Engine starten
3. 1.03 Ein neues Projekt erstellen: Wenn Sie Unreal Engine starten, öffnet sich
dieses Fenster für Sie, in dem Sie Ihre
letzten Projekte sehen können, und Sie können auch
einige andere Tabs sehen Diese Registerkarte ist leer, wenn du noch
keine
Projekte hattest, aber du kannst sie hier öffnen,
wenn du an
einem Projekt arbeitest . Im Moment
möchten wir ein Spiel machen Also gehe ich
zum Tab Spiele. Aber wie Sie
in Unreal Engine sehen können, geht
es nicht nur um Spiele Sie können zum Beispiel auch Automobilarchitektur
usw. Gehen wir vorerst zum Tab
Spiele. Und auf der Registerkarte „Spiel“ siehst
du viele Vorlagen
, mit denen du beginnen kannst. Wenn Sie beispielsweise einen Ego-Shooter
erstellen möchten, können
Sie die Vorlage für die
erste Person auswählen. Wenn Sie beispielsweise ein
Top-Down-Spiel wie Diablo erstellen möchten , können Sie mit dieser Vorlage
beginnen Ich möchte jedoch
mit einem leeren Projekt beginnen. Wie Sie wissen, wenn Sie meine
vorherigen Kurse besucht haben, weil ich Ihnen
alles von Grund auf beibringen möchte. Jetzt können all diese Vorlagen aus einem leeren Projekt erstellt werden. Und sie sind nicht schwer zu erstellen, wenn Sie wissen,
was Sie tun. Wir beginnen gerne mit
einem leeren Projekt und bauen
alles selbst Ich fange nicht wirklich gerne
mit der Vorlage an. Lassen Sie uns mit einem leeren Projekt beginnen und
Ihnen
hier auf der rechten Seite alles beibringen Ihnen
hier auf der rechten Seite alles Wählen Sie Blueprint als
Programmiersprache für die Zielplattform aus.
Es ist Desktop Im Moment können wir uns ein anderes Mal immer
auf das Handy konzentrieren. In diesem Kurs geht
es jedoch um den Desktop. Ich werde wahrscheinlich
in Zukunft einen Kurs über Mobilgeräte machen. Aber selbst wenn Sie Desktop wählen, können
Sie
es immer noch für Mobilgeräte erstellen Später können Sie es
sowohl für PC als auch für Mobilgeräte erstellen. Lassen Sie uns die voreingestellte Qualität
als Maximum für den Dateninhalt auswählen . Wenn Sie das
angekreuzt haben, machen Sie einfach
weiter und kreuzen Sie es an, damit
wir nichts haben Auch hier möchte ich mit
einem leeren Projekt beginnen , ohne dass hier unten
etwas steht. Sie können auswählen, wo Sie das Projekt speichern
möchten und dann können Sie
dem Projekt den Namen geben. Jetzt
nenne ich das Gin Clicker. Und du kannst es
immer nennen , wie du willst, es ist
nicht wirklich wichtig Und fahren Sie fort und
klicken Sie auf Erstellen. Sobald Sie mit der
echten Engine Five gestartet sind, wird es so aussehen. Jetzt nehme ich mit einer Auflösung von
vier K auf und
habe einen Vier-K-Monitor. Die Benutzeroberfläche sieht für Sie vielleicht etwas
klein aus, wenn ich dieses Video
für den gesamten Kurs
aufnehme . Ich werde
meine Benutzeroberfläche tatsächlich hochskalieren , damit Sie
sehen können, was ich mache Wenn Sie wissen möchten, wie
ich das auch machen kann, können
Sie auf Tools klicken
und zu Debug gehen Gehen Sie hier zu Widget
Reflector. Ich werde nur
den Umfang meiner Benutzeroberfläche erhöhen. Vielleicht nicht 21.3,
vielleicht ist das einer. Ich denke, ich werde es bei 1.3
belassen und ich kann es in
den späteren Lektionen jederzeit ändern , wenn ich denke, dass
es zu groß oder zu klein Lassen wir es tatsächlich bei 1,25 belassen
und ich werde es schließen. Okay, in der nächsten Lektion werden
wir
einen kurzen Überblick über Unreal Engine Five geben, damit wir uns
damit vertraut machen können, bevor wir unser Spiel entwickeln Wenn du
meine vorherigen Kurse bereits besucht hast und Unreal Engine Five bereits kennst, kannst
du die nächste Lektion überspringen Aber lass uns zur
nächsten Lektion übergehen und loslegen.
4. 1.04 Unreal Engine 5 Überblick: Ordnung, bevor
wir unser Spiel starten, werden
wir uns
einen kurzen Überblick über Unreal Engine
Five Wenn Sie
die Engine schon einmal benutzt haben und meine
vorherigen Kurse besucht haben, fahren
Sie einfach fort und überspringen Sie diese
Lektion mit der nächsten Jetzt befindet sich hier in der Mitte
der Engine das Viewport. Im Viewport
befindet sich die Welt. Das ist dein Spiel, das
du visuell sehen kannst. Wie Sie hier sehen können,
haben wir Landschaften und so weiter. Wenn Sie jedoch mit der rechten Maustaste
in das Darstellungsfenster klicken, können
Sie sehen, dass Sie
Ihre Ansicht steuern können , indem Sie die rechte
Maustaste gedrückt halten Wenn Sie nun die rechte
Maustaste gedrückt halten und ebenfalls auf klicken, können
Sie sehen, dass Sie
sich bewegen können, wenn Sie die rechte
Maustaste gedrückt halten und auf W
klicken, können Sie sich bewegen Jetzt können Sie sehen, dass ich mich sehr
langsam bewege, weil dies eine große Welt
ist. Wenn du dich schneller bewegen willst, klicke
einfach hier oben
auf die Kamerageschwindigkeit, ich werde die
Geschwindigkeit auf etwa 16 erhöhen. Stattdessen, wenn ich die rechte
Maustaste gedrückt halte und auf W
klicke. Jetzt
kannst du sehen, dass ich mich in meiner Welt viel
schneller bewegen kann,
wie du hier sehen kannst. Okay, du kannst auch
auf D klicken, um nach rechts zu gehen, auf A
klicken, um nach links zu gehen, und auf klicken, um zurück zu gehen. Aber denken Sie daran, dass Sie
die rechte Maustaste gedrückt halten und
dann auf W, D und A
klicken müssen die rechte Maustaste gedrückt halten und
dann auf W, D und A
klicken So navigiere
ich eigentlich , normalerweise in der Honual-Engine.
Ich halte einfach die rechte
Maustaste gedrückt und ich
weiß, Ich halte einfach die rechte
Maustaste gedrückt und ich ich reise in
der Welt herum und sehe, was ich bei der Entwicklung des Spiels
mache Und wenn du rein- und rauszoomen
möchtest, kannst
du das Bild natürlich mit dem
Mausrad vergrößern, einfach so Und Sie können
auch mit Ihrem Mausrad herauszoomen. Und du kannst einfach in der Welt
herumfliegen und
versuchen, dich
mit der Bewegung vertraut zu machen. Wenn Sie es gewohnt sind,
Ego-Shooter usw. zu spielen, ist
das für Sie selbstverständlich Wenn Sie das noch nicht gespielt haben, versuchen Sie
einfach, herumzulaufen und zu sehen, ob Sie es verstehen können Ordnung, wir haben ein paar Buttons hier oben
im Viewport, wir können auf diese klicken Und hier kannst du zum Beispiel deine FPS-Frames pro Sekunde
anzeigen Und wenn Sie darauf klicken, können Sie sehen, dass es
hier rechts erscheint. Jetzt ist es nicht wirklich wichtig, Moment können Sie das
Sichtfeld ändern und so weiter. Aber das Gute an Unreal Engine ist, dass
Sie nicht
wissen müssen, was jede
einzelne Taste bewirkt Ich weiß nicht, vielleicht die
Hälfte der Tasten, weil ich keine Filmsequenzen mache Normalerweise mache ich keine
Filmsequenzen. Zum Beispiel
Automobile, ich entwerfe keine Autos. Es gibt ein paar
Knöpfe, die du eigentlich nicht brauchst, wenn
du dein Spiel entwickelst. Versuche, dich nicht an alles zu erinnern, sondern versuche dich nur an das zu erinnern was gerade wirklich
notwendig ist. Was hier
gerade wirklich notwendig ist, ist die Spielansicht. In der Spielansicht versteckst du die Symbole innerhalb des Levels. Wenn ich also zum Beispiel auf
Con G klicke, ist das die Spielansicht. Siehst du, ich verstecke diese
orangefarbene Auswahl. Wenn ich jetzt erneut
auf meiner Tastatur klicke, deaktiviere ich die Spielansicht. Wie Sie
hier sehen können, besteht die Abkürzung darin, dass
Sie alle Symbole entfernen, wenn ich
auf die Spielansicht klicke . Wenn ich jetzt einfach ein
Licht hinzufüge, zum Beispiel ein Punktlicht, und hier habe ich
ein Punktlichtsymbol. Jetzt müssen Sie jetzt nicht wirklich ein Punktlicht
hinzufügen. Ich zeige dir nur,
wenn du auf „Jetzt“ klickst, wird das Symbol für
das Punktlicht ausgeblendet .
Und ich kann es nicht sehen Wenn ich erneut darauf klicke, wird das Symbol
für das Punktlicht angezeigt. Die Punktlinie ist momentan
etwas klein. Wenn ich
hier darauf klicke , siehst du, dass es
tatsächlich hier unten ist. Es ist eine große Welt. Es
verschwindet normalerweise, aber hier ist es. Und wenn ich auf ein G und dann wieder auf G klicke, erscheint
es, dass die
Spielansicht wirklich,
wirklich gut ist , um
dein Spiel
ohne diese Symbole zu visualisieren . Wenn ich eine Welt baue
und du dir vorstellen kannst, dass du viele Symbole hast, wenn du viel Licht
hast, hast du eine Menge Objekte
in deinem Level. Du kannst auf G klicken, um all diese Symbole zu
entfernen, und du kannst deine Welt
ohne diese Symbole sehen. Jetzt ist das nächste Ding
der immersive Modus. Wenn du auf 11
klickst, maximierst du den
Viewport und kannst deine Welt
in maximaler Ansicht
visualisieren Das ist wirklich, wirklich nett, wenn du sehen willst, wie
dein Spiel aussieht Jetzt können Sie wieder
auf G klicken, um Symbole anzuzeigen, und
G, um Symbole auszublenden. Klicken Sie auf 11, um es zu minimieren. Auch hier zwei wichtige Schaltflächen, der immersive Modus
und die Spielansicht Jetzt haben wir hier die
perspektivische Ansicht und wir haben
auch andere Ansichten,
die orthogonalen Die wichtigste
ist jetzt die richtige Ansicht. Das ist es, was wir
verwenden werden , weil wir mit
zwei D arbeiten werden. Wir
werden nicht wirklich in
eine Drei-D-Welt eindringen. Wir brauchen die
Perspektive nicht zu sehr. Aber jetzt gehen wir
zur rechten Ansicht, und diese wird als
orthogonale Ansicht bezeichnet Wenn Sie mit dem
Mausrad herauszoomen, können
Sie sehen, dass dies
tatsächlich die Welt ist, die offene Welt in
der rechten Ansicht Wenn Sie in eine Zwei-D-Ansicht schauen, können
Sie sie von oben sehen. Wie es aussieht, kann man
offensichtlich nicht viel sehen , weil man
die Hügel von oben nicht sehen kann. Wenn man es von unten sieht, sieht es
so aus, man kann nicht viel sehen. Wenn Sie es von links betrachten, sieht es
so aus. Und so weiter. Sie können die verschiedenen
Ansichten der Welt sehen. Das ist natürlich wieder der
perspektivische Blick zurück. Hier haben wir verschiedene
Beleuchtungsmodi. Wir
brauchen sie nicht wirklich, weil wir nicht in drei D
arbeiten werden Konzentrieren
Sie sich
in der Sendung nicht wirklich darauf. Du kannst
verschiedene Dinge ein- und ausblenden. Wir werden es später benutzen. Sie können zum Beispiel die Kollision
anzeigen, Sie können den Nebel ausblenden und so weiter. Im Moment nicht wirklich notwendig, lass uns jetzt nicht darauf eingehen. Sehr wichtig sind diese Tools. Hier drüben haben wir
das Auswahlwerkzeug und es wählt im Grunde
Gegenstände in eurer Welt aus. Um diese nun zu nutzen, fügen
wir der Welt tatsächlich
etwas hinzu. Gehen wir zu dieser Schaltfläche, tippen Sie schnell auf „Zum Projekt
hinzufügen“. Sehr wichtig
hier. Sie können beispielsweise eine Grundform hinzufügen. Fügen wir einen Würfel hinzu. Hier ist der Würfel, den wir hinzugefügt haben. Ich werde die Kamerageschwindigkeit verringern
. Wir bewegen uns sehr schnell in der Welt und
bringen sie wieder zu einer Einheit zusammen. Wenn Sie darauf klicken, können
Sie sehen, dass dies
das Auswahlwerkzeug ist. Und denken Sie daran, dass Sie Abkürzungen
für diese Tools haben, das können Sie. Dieses ist, das nächste
ist das Verschiebe-Tool Wenn Sie darauf klicken, können Sie sehen, wie
diese Drehpunkte erscheinen. Wenn Sie jetzt auf die rote Achse klicken, können
Sie zu dieser Achse wechseln. Wenn Sie auf die blaue klicken, können
Sie sich auf und ab bewegen. Wenn Sie auf die grüne
Achse klicken, können Sie sich auf diese Weise bewegen. Jetzt
sind die Farben für diese tatsächlich X, Y und Z. Und Sie können sie hier
im Detailbereich sehen. Sie können die
Position sehen, das X. Wenn Sie die Maus darüber halten, können
Sie auch
den Wert sehen,
bevor Ihnen normalerweise gesagt wurde
, dass dies die X-Achse ist. Aber ich kann sehen, dass es das jetzt
nicht mehr tut. Aber im Grunde ist
Rot die X-Achse, Grün ist
die Y-Achse, Blau ist die Z-Achse, die X-Achse, Y-Achse und die Z-Achse. Okay? Du kannst es so bewegen. Du kannst es auch hier auf
dem Quadrat in der Mitte halten. Sie können es in zwei
Richtungen gleichzeitig bewegen. Oder Sie können es über
diese weiße kleine
Kugel in der Mitte halten diese weiße kleine
Kugel in der Mitte und es in alle
drei Richtungen gleichzeitig bewegen. Du kannst das auch hier
im Detailbereich tun, vielleicht hast du bemerkt, dass das die Details sind oder was auch immer
du hier auswählst. Wenn ich das hier auswähle, die Grundflächen
aus dieser offenen Welt, oder wenn ich meinen Würfel auswähle, verschiedene
Details zu dem Gegenstand angezeigt, den du in deiner Welt
ausgewählt hast. Ich kann zum Beispiel
die Position meines Objekts sehen, ich kann sehen, wie es sich dreht. Ich kann das statische Netz sehen , bei dem es sich im Grunde um
das Drei-D-Modell handelt. Ich kann das mitgelieferte Material sehen. Ich kann auch Dinge
über die Physik sehen. Und ich kann zum Beispiel
simulieren, dass Physik nicht angewendet wird. Ich kann sehen, wie die
Schwerkraft angewendet wird, ich sehe Kollisionsoptionen, Beleuchtungsoptionen
und so weiter und so weiter. Und Sie können sehen, dass Sie eine
Menge Dinge haben, die Sie sehen können. Mach dir darüber vorerst keine Sorgen. Wir werden
viel im Detailbereich arbeiten. Es wird immer einfacher
für dich werden. Viele dieser Dinge werden wir nicht verwenden, weil wir
wieder in zwei D arbeiten, also mach dir darüber keine Gedanken, also mach dir darüber keine Gedanken aber im Grunde genommen hier
für den Standort, du kannst es entweder so verschieben und du kannst
das
auch in Tod tun,
oder du kannst es so verschieben, indem
du einfach hier klickst und mit der
Maus ziehst,
klickst und mit der
Maus auf die Zahlen Und du kannst es
so bewegen. Oder wenn Sie bestimmte Standorte haben, können
Sie sie eingeben. Wenn du hier
drauf klickst und ich kann zum Beispiel 1.450
schreiben Und ich kann auf Inter klicken. Sie können sehen, wie sich mein Würfel an
die genaue Position bewegt .
Du kannst es so machen. Du kannst es
manuell verschieben, verschiebe es hierher. Oder Sie können
die Nummer erneut eingeben. Jetzt die Drehung, die
die nächste ist , wenn du
darauf klickst, auf deiner Tastatur. Also der erste war, der nächste
war für das Verschiebewerkzeug. Das Drehwerkzeug ist E auf der Tastatur und das
Drehwerkzeug ist selbsterklärend, Sie können das Objekt
um eine andere Achse drehen Auch hier haben wir in zwei D
nur zwei Achsen Sie sich keine Sorgen um den dritten, aber es ist immer noch derselbe Vorgang Also werde ich
es dir auf diese Weise beibringen. Nochmals, für die Rotation. Sie können es
auch hier ändern. Wenn Sie die Rotation
zurücksetzen möchten, sind Sie
vielleicht
damit nicht zufrieden. Sie können auf
diesen kleinen Pfeil klicken und
alles wird auf die Standardeinstellungen zurückgesetzt. Das ist also das Rotationswerkzeug. Die letzte Sache ist
das Skalierungswerkzeug. Wenn Sie auf der Tastatur
auf R klicken, klicken
Sie auf Q für
das Auswahlwerkzeug, für das Verschiebewerkzeug, für
das Rotationswerkzeug und R für das Skalierungswerkzeug. Auch hier können
Sie das Skalierungswerkzeug in
verschiedene Richtungen skalieren. Oder wenn ich auf Strg
Z klicke, um zurückzugehen, kannst
du es auch gleichmäßig
in alle drei Richtungen skalieren Wenn du hier in der Mitte klickst, einfach nochmal so, wenn du nicht zufrieden bist, kannst
du jederzeit
auf diesen Pfeil klicken Du kannst
ihn auch wieder skalieren, indem du einfach mit der
Maus klickst und ziehst. Oder wenn Sie es einheitlich
skalieren möchten, können
Sie auf dieses Schloss klicken Immer wenn Sie skalieren, skalieren auch
alle von ihnen Das ist das
Gute an dem Schloss. Wenn du
nur eine von ihnen skalieren willst, kannst
du das Schloss öffnen und
du kannst jeweils nur auf
einer Seite skalieren ,
okay? Sehr wichtig. Erinnere dich an die. Wir werden sie während
des gesamten Kurses,
der nächsten Kurse und
wahrscheinlich bei jedem einzelnen
Kurs, den wir machen, verwenden der nächsten Kurse und
wahrscheinlich bei jedem einzelnen
Kurs, . Denken Sie nur an das Q
für das Verschiebewerkzeug, für das Rotationswerkzeug
und R für das Skalierungswerkzeug. Wir haben hier auch einige
Schnappoptionen. Wie Sie sehen können, rastet etwas, wenn
ich
es bewege, in einem Raster ein Aus diesem
Grund bewegt es sich nicht reibungslos. Sie können hier klicken und die Anzahl
erhöhen. Das wird noch
schneller als zuvor. Das ist nett, wenn du versuchst , etwas
mit einer Struktur aufzubauen. Jetzt kannst du das kopieren und einfügen. Wenn Sie die Alt-Taste auf Ihrer Tastatur
gedrückt halten und klicken und ziehen
, wird dieses Objekt kopiert. Ich werde erneut versuchen, es zu kopieren. Halten, klicken und ziehen. Sie halten Alt gedrückt und Sie
können sehen, dass ich es erneut kopiert habe. Jetzt ist das Snapping wirklich, wirklich gut, wenn du versuchst, so etwas mit einer Struktur
aufzubauen Wenn du das Snappen nicht
willst, kannst
du jederzeit auf
diese Schaltfläche klicken und dadurch
wird es deaktiviert Du kannst, du kannst es reibungslos
bewegen. Sie können
dasselbe mit der Skalierung, der Rotation und
der Skalierung tun. Sie können die Drehung und das
Einrasten erhöhen und auch
die Skalierung kann das Skalieren des Fangens
deaktivieren oder das Einrasten erhöhen Ich ziehe es wieder an
und gehe einfach zurück zu Zehn,
was nach wie vor die Standardeinstellung ist Sie können die Kamerageschwindigkeit nach unten und nach oben
drehen. Das Gute daran ist wenn Sie
auf kleine Objekte fokussieren, möchten
Sie, dass die
Kamerageschwindigkeit vielleicht niedriger ist, damit Sie sich langsamer bewegen und sich auf das
konzentrieren können, was Sie gerade tun. Wenn Sie sich in einer
wirklich großen Welt bewegen, können
Sie sehen, dass ich mich viel
schneller bewegen kann , wenn ich
meine Kamerageschwindigkeit erhöhe. So verwenden wir es normalerweise. Ich gehe hier einfach zurück zu einem. Okay. Die letzte sehr
wichtige Sache hier
oben sind auch die Einstellungen. Sie können zur Skalierbarkeit der
Engine gehen. Und im Moment
können Sie sehen, dass ich
den Motor in epischer Qualität laufen lasse. Sie können
ihn auch auf niedrige Qualität einstellen. Wenn Sie beispielsweise hinterherhinken, wenn Sie einen Low-End-Computer haben, können
Sie jetzt sehen,
dass meine Engine nicht wirklich
viel Speicher verbraucht Wenn Sie beispielsweise einen guten
Computer haben, können
Sie
die Skalierbarkeit jederzeit erhöhen Normalerweise mache ich Cinematic,
wenn ich etwas wie
Architektur mache oder wenn ich
eine Zwischensequenz in einem Spiel Es ist wirklich nett,
Cinematic laufen zu lassen und es wird hinken. Im Moment werde ich es
nicht tun, weil ich auch den Kurs
aufnehme Ich lasse es vorerst nur bei
Epic laufen. In Ordnung. Schauen wir uns das mal an, Sie haben die Basic-Buttons der Datei. Wie ihr von jeder Software kennt, könnt ihr das Spiel
oder das Level speichern. Sie können auch ein neues
Level erstellen, was wir später tun werden. Du kannst
alles exportieren und so weiter. Sie haben auch die Editor-Einstellungen und innerhalb der Editor-Referenzen können
Sie Dinge
über diesen Editor bearbeiten. Diese
Auswahl ist zum Beispiel orange. Vielleicht möchte ich, dass es stattdessen so
etwas wie Rot ist. Ich kann das machen O, du kannst Dinge darüber bearbeiten. Jetzt klicke ich einfach auf Steuerung Z, weil ich mit der Farbe
zufrieden bin. Aber grundsätzlich kannst du Dinge an
diesem Editor in den
Projekteinstellungen
ändern , du kannst Dinge
an diesem Projekt bearbeiten. Sie können dem Projekt beispielsweise
einen Namen
geben , Ihren Firmennamen. Später
veröffentlichst du das Spiel vielleicht. Die Leute können deine
Support-Kontakt-E-Mail sehen und sie können
dich kontaktieren, falls es Fehler gibt. Sie können auch Filme hinzufügen. Wenn
Sie beispielsweise ein Spiel öffnen, wird 5 Sekunden lang ein kleiner Film über das Logo angezeigt,
und dann beginnt das Spiel. Sie können
hier Filme hinzufügen,
Filme starten das Spiel
für verschiedene Konsolen paketieren. Sie haben eine Menge Dinge, die
Sie hier drinnen tun können. Jetzt werden wir hier
reingehen, weil Sie
einige Dinge haben , mit denen Sie hier
arbeiten können , und wir
werden das auch tun. Wir können also sehen, dass Sie in
den Projekteinstellungen viel davon tun können. Auch hier gilt, wie ich Ihnen bereits
gesagt habe, Sie sich nicht auf alle konzentrieren sollten. Sie werden
sogar 20% verwenden oder Sie werden
20% davon verwenden, vielleicht 15% 10% Konzentrieren Sie sich nicht
wirklich darauf,
es wird zu verwirrend sein, wenn Sie anfangen Dinge zu
tun, die Sie später nicht
wirklich verwenden werden. Konzentrieren wir uns vorerst nicht auf
die Projekteinstellungen, lassen Sie uns das Projekt einfach schließen. Wir werden
das durchgehen, wann immer wir es brauchen, aber im Grunde genommen werden Sie
die meisten dieser Dinge nicht benötigen. Konzentrieren wir uns auf all das. Wir werden
diesen Kurs durchgehen und ich werde dir alles
beibringen
, was du wissen musst. Hier auf der rechten Seite können
Sie den Outliner sehen Wenn du auf die
Objekte in der Welt
klickst, kannst du sehen, dass sie sich auch
im World Outliner befinden Der World Outliner zeigt
im Grunde nur welche Gegenstände Sie auf der Welt haben Sie haben die drei
Würfel, die wir gerade hinzugefügt haben. Wir haben einige Lichter
, die Sie hier sehen können. Wir haben einen Himmel und wir haben
das Licht und so weiter. sind tatsächlich hier und Sie können sie tatsächlich hier
sehen. Sie können auf das
Richtungslicht klicken , das
ist
zum Beispiel das Sonnenlicht. Wenn Sie auf Ihrer Tastatur
auf klicken, gelangen Sie dorthin, wo
Sie es ausgewählt haben. Wenn ich darauf klicke, wirst
du hierher weitergeleitet. Wenn ich jetzt auf klicke,
weil ich meine Icons ausgeblendet habe, um G zu drücken. Damit ihr
die Icons sehen könnt und hier seht ihr
tatsächlich alle Lichter. Sie verstecken es hier drüben. Klicken Sie erneut auf, wenn Sie schnell dorthin gelangen
möchten. So kann ich zum Beispiel auf den Würfel
klicken. Wenn ich den Würfel tatsächlich finden kann, kann
ich den Würfel nicht finden. Das Gute am
Outliner ist, dass du den Würfel hier
findest und
auf den Würfel klicken kannst Sie können
die Würfel tatsächlich hier sehen. Sie können hier auch
Artikel auswählen. Klicken Sie auf die Tastatur, um dorthin
zu gelangen, wenn Sie schnell dorthin gelangen möchten
. Im Grunde
zeigt dir der
World Outliner , was du
in dieser Welt hast, in deinem Spiel gerade All dies sind hier nur die
Landschaftsteile. Wie Sie sehen können, steckt im Outliner
nicht wirklich viel Sie können Ordner erstellen, wenn
Sie organisiert bleiben möchten. Wenn Sie auf dieses Ordnersymbol klicken
, wird ein neuer Ordner erstellt. Sie können den
Ordner, den wir erstellt haben, hier einfach umbenennen. Sie können ihn umbenennen und Dinge hinzufügen. Wenn du auf
das Objekt klickst und es
hineinziehst, kannst du auf diese Weise den Überblick behalten. Sie können Elemente ausblenden,
indem Sie
darauf klicken , und Sie können
erneut darauf klicken, um sie wieder anzuzeigen. Ja, das ist im Grunde der Outliner, über den wir
bereits gesprochen haben, das Detailfenster,
und hier drüben gibt nicht viel zu tun Das Wichtigste
für den Moment ist, dass du der Welt
Dinge hinzufügen kannst , indem du zum Beispiel hier oben
klickst Sie können Lichter hinzufügen. Das brauchen wir nicht wirklich. Wir werden mit zwei D arbeiten. Du kannst wieder Formen hinzufügen, das brauchen
wir nicht. Wir werden mit zwei D arbeiten. Wir werden uns nicht zu sehr
darauf konzentrieren, aber im Grunde können wir
Dinge wie Volumen hinzufügen. Wir werden es später hinzufügen. Wir brauchen also etwas in
diesem sehr, sehr
wichtigen Knopf. Sie können das Spiel auch spielen
und sehen, wie
das Spiel aussieht. Jetzt haben wir nicht
wirklich viel
im Spiel, es passiert nicht wirklich
viel. Ich werde auf
meiner Tastatur auf Escape klicken und wir
werden von hier wegkommen. In Ordnung, bevor wir das beenden, das Letzte in ist
das Letzte in
dieser Engine
die Inhaltsschublade. Wenn du darauf klickst, öffnet sich dieses
Fenster. In der Inhaltsschublade können Sie im Grunde alle Ihre Spieldateien
hinzufügen. Wenn Sie die beiden D-Grafiken , die Sie
in Ihrer Software erstellt haben, ,
zum Beispiel die Charaktere,
die Umgebung, die Kachelsätze, werden all diese
Dateien hier drin sein. Die Musik, die
Soundeffekte, was auch immer Sie haben. Wenn du ein Drei-D-Spiel machst, hast du die drei
D-Modelle, Texturen und so weiter. Also
werden alle Dateien hier drin sein. Und du kannst
Dinge anklicken und in die Welt ziehen, und wir können sie in
der Inhaltsschublade verwenden. Ich mag diese Inhaltsschublade nicht wirklich, denn wenn ich
auf etwas in
meiner Welt klicke , wird es minimiert. Auch hier denke ich, dass es für Sie verwirrend sein wird
. Während Sie dem Kurs
folgen, können Sie einfach
auf die Inhaltsleiste klicken. Und ich werde
auf Duck in Layout klicken. Und das macht es Inhaltsschublade,
die jetzt
als Inhaltsbrowser bezeichnet wird. Es bleibt hier im
Viewport oder in meiner Ansicht, und ich kann
es einfach in der Größe ändern, wenn Sie möchten Sie können die Größe aller
Bedienfelder ändern, wenn Sie möchten. Es ist viel besser
, wenn Sie
diesem Kurs folgen , dass Sie das ständig
sehen können Und normalerweise habe ich es
auch so. In
Lochmaschine Vier war es so. Ja. Also im Grunde
kannst du deine Dateien sehen, du kannst neue Ordner erstellen. Wenn Sie schreiben, klicken Sie auf
diesen Inhaltsordner Sie können
beispielsweise auf Neuen Ordner
klicken. Du kannst es nennen, sagen wir mal Assets oder was auch immer
du hinzufügen möchtest. Später können Sie
sogar mit der rechten Maustaste auf
diesen Ordner klicken und zu „Farbe festlegen“ wechseln. Sie können diesem Ordner
eine Farbe geben, wenn Sie möchten. Auf diese Weise
können Sie organisiert bleiben. Was auch immer Sie tun möchten, Sie können jederzeit erneut mit der rechten Maustaste klicken und die Farbe
löschen, wenn
Sie sie nicht möchten. Jetzt sind
wieder alle Dateien hier. Sie können auch
auf die Schaltfläche Hinzufügen klicken und einen neuen
Ordner hinzufügen, wenn Sie möchten. Sie können auch sehen, dass Sie
andere Dinge wie
die Blueprint-Klasse hinzufügen können .
Das ist die Programmierung, die
wir durchführen werden Sie können ein neues Level hinzufügen, Sie können ein Material hinzufügen Sie können viele Dinge
über
Animationen, Laub hinzufügen , wenn Sie Gras und Bäume und so weiter
machen. Du kannst etwas
über das Papier zu T hinzufügen, das ist eigentlich das Bild, mit dem wir arbeiten
werden Wir werden all diese hinzufügen. Wir werden hier
alles lernen. Sie können Physik hinzufügen und so weiter. Du kannst es auch machen, anstatt
es von hier aus zu machen, was ich nie benutze, kannst du auf den Ordner
klicken und hier klicken. Und du kannst die gleichen
Dinge hinzufügen, die ich normalerweise einfach schreibe. Klicke hier und füge Dinge hinzu. Aber du kannst es auch hier oben machen, okay? Das war alles. Wenn Sie diese Symbole nun minimieren oder
verkleinern oder vergrößern möchten , können
Sie die Taste auf
Ihrer Tastatur gedrückt halten und
die Ansicht verkleinern. Dadurch wird die Größe des Symbols erhöht oder
verringert. Sie können auch die
Strg-Taste gedrückt halten und die Ansicht vergrößern , um die
Größe der Symbole zu erhöhen. Jetzt kannst du auch auf
Einstellungen klicken, ich habe Größe gefunden. Und das ist im Grunde das Gleiche wie bei Nal Engine Five
und der Übersicht Ich hoffe, du bist ein
bisschen selbstbewusster was hier drin ist. Auch hier werden wir
einen ganzen Kurs drinnen machen , damit Sie sich vorerst damit
vertraut machen können. Lass uns einfach
zur nächsten Lektion übergehen.
5. 2.01 Spieleinführung: Hallo und willkommen. Und vielen Dank, dass Sie
an diesem Kurs hier teilgenommen haben. Dies ist nur eine Einführung in
das Spiel, das wir gerade entwickeln. , möchte ich dir zeigen, was wir Bevor wir beginnen, möchte ich dir zeigen, was wir
entwickeln, damit du eine Vorstellung davon hast was wir
in diesem Kurs machen. Wir
entwickeln also im Grunde ein Spiel mit zwei Klicks. Und hier ist es, in
Unreal Engine Five. Und wir
verwenden nur Blueprints, um dieses Projekt zu erstellen,
also kein C plus Jetzt möchte ich
dir nur zeigen, was das Projekt ist. Wenn ich hier einfach auf Play klicke, kannst
du sehen, dass die Musik bereits
läuft. Das ist im Grunde ein
Clicker-Spiel wie Cookie Clicker oder
Clicker Heroes, wenn ich nur die Musik deaktiviere Ich kann also frei sprechen,
wenn ich hier klicke. Also die Lautstärke 20 und nochmal
auf Play klicken. Im Grunde ist das
wie bei Clicker Heroes, wo man einen
Feind in der Mitte Du hast Ladenartikel hier an der Seite, du
hast Münzen hier oben. Ich habe mir gerade
eine Menge Münzen gegeben, damit ich das alles
kaufen und dir das Spiel zeigen
kann. Ich habe auch ein paar Levels
hier nebenan. Und ich habe einen Timer, mit dem ich den Feind vorher töten muss
. Denn wenn ich den Feind nicht
töte, wird der
Timer zurückgesetzt und der
Feind heilt vollständig. Noch einmal muss ich
diesen Feind töten, bevor der
Timer abläuft. Wenn ich den Feind töte,
siehst du, dass ein neues Level
freigeschaltet wurde und ich kann zum nächsten Level gehen, um den nächsten Feind zu
spawnen, und ich kann diesen Feind töten Jetzt erhalte ich jedes Mal, wenn
ich einen Feind töte ,
Münzen und kann
weiter in die Level Sobald ich Geld habe, kann
ich jetzt Gegenstände freischalten,
die ich hier kaufen kann Du
kannst zum Beispiel sehen, dass meine Maus 15 Schaden pro Klick verursacht. Ich kann es auch hier sehen, wenn ich mit der Maus darüber halte, heißt
es, dass sie derzeit
15 Schaden pro Klick verursacht. Und ich kann
drauf klicken und eins kaufen. Und jetzt mache ich 40 Schaden pro Klick und kann auf den Feind
klicken. Und jetzt kann ich sehen, dass
ich mehr Schaden anrichte. Diese Gegenstände hier unten sind
automatische Klickmechaniken. Wenn ich diesen kaufe, heißt
es im Grunde, dass er mir
fünf Schaden pro Sekunde Fünf mal eins. Jetzt können Sie
sehen, dass es dem Feind automatisch
Schaden zufügt und fünf
Schaden pro Sekunde zufügt. Offensichtlich wird der Feind dadurch nicht
getötet,
und der Feind startet die Gesundheit immer wieder neu Aber wenn ich etwas Stärkeres kaufe, kannst
du sehen, dass es hier
den Tod erreichen und es freischalten kann Jetzt habe ich es erstmal
super einfach gemacht, weil ich
dir nur zeigen möchte, wie das Spiel ist. Aber natürlich
muss die Gesundheit viel
höher sein und die Kosten
müssen auch viel höher sein. Wenn
ich jetzt in den Plänen einfach meine Münzen entferne, wenn ich zum Spieler gehe, klicke
ich auf die Anzahl der
Münzen und setze sie auf Null Und wenn ich auf Spielen klicke, siehst
du hier nach Artikeln, die
ich noch nicht kaufen kann Die Schaltflächen wurden
deaktiviert und die Schaltfläche ändert auch ihre Farbe,
sobald ich Geld habe. Sie können jetzt sehen, dass ich diesen Artikel kaufen
kann. Und sobald ich eine kaufe, also jetzt habe ich 15 Münzen, kann
ich eine kaufen und ich gebe
die Münzen hier nebenbei aus. Sie können sehen, wie viele ich
gekauft habe, sobald ich sie gekauft habe. Alles, was Sie übrigens sehen können, ist
jedes Mal, wenn Sie einen Artikel kaufen, Pons hier in der Welt. Wenn du also einen
Gegenstand kaufst, erscheint er hier. Und wenn ich mehr davon kaufe, kannst
du sehen, dass es hier immer wieder
auftaucht. Also werden alle Gegenstände, die du
kaufst , auch in
der Welt Sobald ich alle Artikel und eine bestimmte Menge gekauft habe , erscheint
eine
Aufstiegsschaltfläche Wenn ich darauf klicke, kann ich zur nächsten Stufe
aufsteigen. Das ist im Grunde
das Spiel, das wir entwickeln, und es gibt hier
auch Busmechaniken, also Busfeinde, die später in den Stufen
auftauchen werden Das ist im Grunde das
Clicker-Spiel, das wir entwickeln. Ich hoffe, du wirst
in den nächsten Lektionen mit mir zusammen sein. Es wird eine Menge Spaß machen, all das mit dir zu
gestalten, und ich verspreche, dass
es einfach sein wird, und ich werde es dir auch leicht
machen. Lass uns weitermachen.
6. 2.02 Eine neue Ebene schaffen: In Ordnung, lassen Sie uns mit dem Projekt
beginnen. Lassen Sie uns weitermachen und eine neue Map
in den Ordnern
im Inhaltsbrowser
erstellen den Ordnern
im .
Ich werde schreiben. Klicken Sie zuerst und erstellen Sie einen neuen
Ordner und nennen Sie ihn Maps. Bleiben Sie einfach organisiert,
was das Projekt angeht. Jetzt hier drinnen
werde ich jetzt klicken. Sie können ein Level
mit zwei Methoden erstellen. Sie können entweder mit der rechten Maustaste
hier klicken und ein neues Level erstellen. Oder du gehst zu Datei und klickst auf Neues Level. Der Unterschied besteht nun darin, dass du,
wenn du von
hier aus hier hier und hier
auf Neues Level
klickst, siehst du, dass du
ein
Open-World-Level erstellen kannst . Du kannst ein leeres
Open-World-Level erstellen und so weiter. Sie haben also einige
Vorlagen hier unten. Wenn du mit der rechten Maustaste klickst
und auf Level
klickst, bekommst du diese Optionen nicht, du
bekommst einfach automatisch ein leeres Level. Ich möchte nur ein
leeres Level erstellen, denn auch hier werden
wir
alles selbst erstellen. Klicken Sie hier mit der rechten Maustaste,
um ein neues Level zu erstellen. Nennen wir das eine Karte. Normalerweise nenne ich es Karte, nennen
wir das einen Kerker Ich glaube nicht, dass wir mehrere Karten
haben werden.
Dies ist die
einzige, die wir haben werden Doppelklicken wir einfach auf diese. Ich wollte dir sagen, willst du diese Karte speichern? Das ist es eigentlich, was
es bedeutet, wenn Sie
Sterne an Ihren Ikonen haben . Wenn Sie kleine
Sterne haben, bedeutet das, dass Sie diese noch nicht gespeichert haben. Lass uns einfach weitermachen und auf Ausgewählte speichern
klicken. Und jetzt
befinden wir uns in dieser Karte. Jetzt kannst du sehen, dass es sehr
dunkel ist, wir können nichts sehen. Und auch hier im Outliner können
Sie sehen, dass Sie keine Artikel sehen
können Das liegt daran, dass dein
Level leer ist. Du hast
nichts, du
hast kein Licht, nichts. Wir werden hier
viele Dinge hinzufügen, aber im Moment
wollten wir nur eine neue Karte erstellen. Lassen Sie uns weitermachen und auf Datei Alle speichern
klicken. Sehr schöne Taste, die man oft
drücken kann, weil manchmal
der Motor abstürzt. Aber lassen Sie uns
weitermachen
und alles speichern und mit der nächsten Lektion fortfahren.
7. 2.03 Importieren der Umgebungs-Assets: Lassen Sie uns nun fortfahren und
die Umweltressourcen importieren. Jetzt habe ich das
für Sie in den Kurs aufgenommen. Wir haben einige Kursmaterialien
, die Sie herunterladen können. diesen
Materialien werde
ich nun wieder weitere Elemente hinzufügen, während ich diesen Kurs weiterentwickle. Manchmal, wenn ich zu
den Soundeffekten gehe, siehst
du vielleicht viel
mehr Soundeffekte , wenn ich hier drinnen bin. Sie können also sehen, dass ich die habe, aber in Ihrem Ordner haben Sie möglicherweise viel
mehr Soundeffekte. Auch hier werde ich im Laufe der Entwicklung dieses Kurses immer mehr zu
meinen Kursmaterialien
hinzufügen . Lassen Sie sich nicht verwirren, wenn ich
nicht so viele, so viele Artikel hier drin habe. Okay, der Umwelt zuliebe, gehen
wir hier zur
Umwelt und nehmen wir die beiden. Also, ich habe die Umgebung des Kerkers, der
Gefängnisse. Also, wenn ich darauf
doppelklicken und es vergrößern kann, sieht es
so aus Das Gleiche gilt hier
für die Requisiten. Ich habe ein paar Requisiten, die ich benutzen kann. Lassen Sie uns es jetzt schließen
und diese importieren. Um es zu importieren,
erstellen wir einen neuen Ordner. Ich werde
hier mit der rechten Maustaste klicken und einen neuen Ordner erstellen. Ich nenne es hier
Assets,
ich klicke mit der rechten Maustaste und
erstelle wieder einen neuen Ordner. Und nennen wir das
eine Umgebung. Okay, ich werde meine Symbole etwas
kleiner
machen , weil sie
viel Platz beanspruchen. Also werde ich auf Control klicken und mit
meinem Mausrad die Ansicht verkleinern. Okay, jetzt gehe ich in
den Umgebungsordner. Und es ist weg von hier. Wir
können jetzt klicken und ziehen. Lassen Sie mich
den Ordner einfach noch einmal öffnen. Ich kann sie anklicken und hierher
ziehen. Da haben wir's. Denken Sie daran, wenn Sie sie nicht
anklicken und ziehen können, wird dieses Symbol angezeigt und es sagt Ihnen sie nicht wirklich hierher ziehen
können. Das liegt daran, dass Ihr Ordner
vielleicht
ein IP-Ordner oder ein Raw-Ordner ist. Denken Sie daran, mit der rechten Maustaste auf
Ihren Ordner zu klicken und den Inhalt zu
extrahieren. Wenn es sich um einen IP-Ordner
handelt, muss es sich um einen normalen Ordner handeln. Extrahieren Sie den Inhalt.
Nach dem Extrahieren können
Sie
hier Inhalte importieren. Wenn Sie jetzt
Dinge hier importieren, können
Sie darauf klicken und Sie
können sehen, dass sie verschwommen sind Es wird nicht wirklich viel ausgewählt
und es ist sehr verschwommen. Und das wollen wir nicht. Das liegt daran, dass der echte Motor ein Drei-D-Motor
ist. Es verwischt Dinge, was in drei D gut
aussieht, aber in zwei D nicht
gut aussieht. Eine einfache Sache ist, einfach beide
auszuwählen und Sie können einfach auf Control
klicken und auf das nächste
klicken, wodurch sowohl mit der rechten Maustaste zu Sprite-Aktionen
als auch zu Apply Paper
two D Texture-Einstellungen wechseln Apply Paper
two D Texture-Einstellungen Dadurch wird sichergestellt, dass die Elemente hier nicht verschwommen
sind. Und es ist tatsächlich
viel auswählen, wie Sie hier sehen können, jetzt heißt es viel auswählen, alles sieht gut aus. Lass uns weitermachen und auf Datei
klicken und alles
speichern, die Texturen Jetzt werde ich tatsächlich
einen neuen Ordner namens Textures und ihn einfach importieren. Darin haben wir
den Assets-Ordner. Darin haben wir
die Umgebung und darin haben wir
den Ordner Textures. Das liegt daran, dass
ich, wenn wir später eine
Kachelkarte und ein Kachelset erstellen , sie einfach hier
platzieren werde. Die brauchen wir nicht mehr
wirklich. Später werde ich sie einfach im
Textures-Ordner
haben. Aber vorerst war es das. Lass uns mit
der nächsten Lektion fortfahren.
8. 2.04 Erstellen eines Kachelsatzes: Nachdem wir die Assets
importiert haben, können
wir nun eine
Kachelkarte und ein Kachelset erstellen Um den
Unterschied zu erkennen, können Sie schreiben klicken Sie hier und gehen Sie zu Papier, um zu sehen, dass es
etwas gibt, das als Kachelmap bezeichnet wird. Es gibt ein
sogenanntes Kachelset. Der Unterschied zwischen
ihnen besteht darin, dass es beim Kachelset die Kacheln
gibt, mit denen wir unsere Karte malen
müssen. Die Kachelkarte ist die Karte selbst. Du kannst es dir vorstellen
, wenn du Maler bist. Sie haben das Pellet, das ist das Kachelset,
das unsere Kacheln sind, und die Leinwand, das
ist die Kachelkarte, auf der wir unsere Karte selbst malen Lassen Sie uns weitermachen und ein Kachelset
erstellen. Ich werde es nicht von hier aus
erstellen,
aber wir können es erstellen, indem wir mit der rechten Maustaste auf das Dungeon-Prisma Sie können sehen, dass dies die Umgebung
ist, die wir importiert haben, oder
im Grunde die Klicken wir mit der rechten Maustaste
darauf und gehen wir zu Sprite-Aktionen und
erstellen ein Kachelset Anhand dieser Textur
können Sie sehen, dass sie erstellt wurde. Ich
doppelklicke einfach hier. Sie können übrigens auch darauf
klicken und dann auf der Tastatur auf
zwei klicken. Das ist manchmal einfacher. Ich sage einfach S
als Präfix für Tile Set. Ich werde darauf doppelklicken und
es hier öffnen. Sie können die rechte
Maustaste gedrückt halten und Sie können herumblättern und Sie können die Ansicht vergrößern
und verkleinern und die Kacheln sehen. Klicken Sie auf sie, um sie auszuwählen.
Das ist es, was wir tun. Später werden
wir die Kacheln auswählen und sie dann
innerhalb der Kachelkarte malen. Jetzt können wir hier sehen, dass, wenn ich
eine Kachel auswähle , sie nicht wirklich passt. Es wählt zu viel aus. Und das liegt daran, dass
wir
hier in der Kachelgröße definieren müssen, wie
groß die Kacheln sind. Also genau diese Kacheln
habe ich auf Do-ins gefunden, ich glaube, es heißt
Dungeon
Pixel-Kacheln oder so,
aber im Grunde genommen geht es darum, wie man drei Kacheln finden
kann, zwei 3D-Kunst hier, es war 16 mal 16, das hat der Künstler geschrieben Außerdem, wenn du 16 mal 16
Pixel schreibst , also das sind
Pixel, kannst du
jetzt sehen , dass du
sie richtig auswählst Wenn ich jetzt auf die Kacheln klicke, werden
sie korrekt
ausgewählt Jetzt sind sie vorbereitet. Später müssen wir hier, hier drinnen,
Kollision hinzufügen. Vielleicht brauchen wir es,
vielleicht auch nicht. Weil es ein
Clicker-Spiel ist und sich niemand bewegt. Ich
glaube eigentlich nicht, dass wir dem Spiel eine Kollision
hinzufügen müssen Spiel eine Kollision
hinzufügen Das war es vorerst. Wir können jetzt einfach weitermachen und alles
speichern
und schließen. Wenn wir die
Requisiten später brauchen, machen
wir das
jetzt. Wir könnten sie benutzen. Klicken wir hier mit der rechten Maustaste.
Gehen Sie zu Sprite Actions und erstellen Sie aus
diesem ebenfalls ein Kachelset Fahren Sie fort und benennen Sie es im ersten Kachelsatz
in S um. Lass es uns hier drinnen öffnen. Auch hier können Sie sehen, wenn
ich etwas auswähle, dass es zu viel auswählt. Das liegt daran, dass die Kachelgröße 16 mal 16 Pixel
beträgt. Wenn ich jetzt die Elemente auswähle, ist das korrekter und
es wird nicht
auch
das Objekt daneben ausgewählt . Das war es vorerst. Mach weiter und speichere auch
diesen. Wenn du dich entscheidest, in Zukunft
nach Cho zu gehen, kannst du einfach hier oben in den Brows-Spielen und Assets gehen, und hier
findest du kostenlose Inhalte und du kannst sie herunterladen Aber du kannst das auch hier tun. Das ist im Grunde die
, die ich heruntergeladen habe, diese Spezifikation hier. Aber wenn du später
mehr Steine für dein Spiel haben willst oder
mehr Requisiten für dein Spiel benötigst, kannst
du jederzeit
hier reingehen, sie herunterladen und erneut importieren Denken Sie daran, mit der rechten Maustaste zu klicken und Papier auf die Einstellungen für die
Einstellungstextur
aufzutragen , damit sie nicht verschwommen sind Klicken Sie dann mit der rechten Maustaste, fahren fort und erstellen Sie erneut
ein Kachelset. Und da hast du
deine neuen Kacheln. Okay, jetzt können wir sie verwenden,
um unsere Kachelkarte zu erstellen. Lassen Sie uns also in der
nächsten Lektion weitermachen und eine Kachelkarte
erstellen.
9. 2.05 Eine Kachelkarte erstellen: Jetzt, wo wir das Kachelset
erstellt haben, nehme
ich die hier und verschiebe sie stattdessen in den Ordner
Environment, außerhalb des Ordners Textures Denn die brauchen
wir im Grunde nicht mehr, aber du musst sie nicht
löschen, weil diese Kachelsets immer noch diese Texturen
benötigen. Aber wir werden
sie nicht wirklich im Spiel verwenden, wir werden sie hier verwenden. Lassen Sie uns jetzt eine Kachelkarte erstellen. Wenn du hier mit der rechten Maustaste auf dein von uns erstelltes
Kachelset klickst, das Dungeon-Prisma, kannst du hier oben eine Kachelkarte
erstellen Mach weiter und erstelle eine Kachelkarte, und ich werde sie
wieder Dungeon Prison nennen Lass uns aufhören, klicken und
sie öffnen und sehen, was sie ist. Wie ich dir bereits gesagt habe, ist eine
Kachelkarte die Leinwand. Du malst die Kacheln
auf
das Kachelset, das du hier links siehst,
ist deine Leinwand. Sie können hier Kacheln auswählen,
vergrößern und verkleinern, Sie können die rechte Maustaste gedrückt halten und Sie können zum Beispiel
herumblättern. Sie können
hier das Wort ergreifen, wenn Sie hier klicken. Wenn Sie die Maus auf
Ihre Leinwand in der Kachelkarte bewegen
und hier klicken, können Sie jetzt sehen, dass Sie eine Kachel
gemalt haben. Sie können einfach mit der linken
Maustaste klicken und malen. Jetzt können Sie sehen, dass Sie das Ganze
gefüllt haben. Wenn Sie nun löschen möchten, können
Sie hier oben auf
den Erasor klicken, oder Sie können auf der Tastatur auf
E klicken auf klicken, wählen wir den Rasierer erneut aus und
klicken auf Oder du kannst weiter drücken, und das wird
das Ganze füllen Oder du kannst ihn
hier oben anklicken, den Farbeimer. Und du kannst
hier klicken und es wird
die gesamte Leinwand mit der
Kachel füllen , die du ausgewählt hast. Sie können auch
eine andere Kachel auswählen und auf B
für das Malwerkzeug klicken, dann können Sie auch hier malen. Jetzt kann ich sehen, dass wir hier drinnen
malen können. Auf der rechten Seite haben wir Schichten. Wenn Sie mit
Software wie Photoshop gearbeitet haben, wissen
Sie, was Ebenen sind. Nehmen wir zum Beispiel an, ich habe diesen Boden hier
gestrichen. Ich habe auf diese
Kachel geklickt und hier gemalt. Wenn ich hier oben klicke, kannst
du grundsätzlich
zwischen den Kachelsets wechseln. Ich kann mein Kachelset von
Dungeon Prison auf
die von mir erstellten Requisiten umstellen Dungeon Prison auf
die von mir erstellten Requisiten Nehmen wir an, ich möchte das hier
malen. Siehst du hier. Wenn ich hier klicke, reicht das nicht,
denn die Kiste besteht aus diesem
und diesem Ich kann tatsächlich einfach klicken und ziehen und einfach
beide auswählen. Wenn ich sie jetzt
hierher nehme und male, kannst
du sehen, dass mein Boden gelöscht
wird. Das liegt daran, dass du auch hier
malst. Ich werde auf Steuerung Z klicken also statt hier Lassen Sie uns
also statt hier eine neue Ebene hinzufügen. Jetzt kann ich meinen Eimer
auf diese neue Ebene malen. Jetzt kannst du sehen, dass nichts passiert. Das liegt daran, dass diese Ebene die
Ebene darunter
nicht beeinflusst. Wenn ich auf das Auge klicke, um die Sichtbarkeit zu ändern, kannst du
jetzt sehen, dass ich meine
Kiste getroffen habe Und wenn ich
noch einmal darauf klicke, zeige ich es an. Und ich kann
dasselbe mit anderen Gegenständen machen. Ich kann im Grunde auf die
zweite Ebene klicken und sie hinzufügen, und es wird alles in Ordnung sein. Jetzt kannst du sehen, wenn ich auf
die erste Ebene klicke und sie male, wird die darunter liegende
Kachel gelöscht. Sehr, sehr schön, diese Schichten zu
haben. Wenn du etwas über
der darunterliegenden Ebene brauchst, brauche
ich etwas
auf dem Boden und ich muss eine neue Ebene erstellen. Nehmen wir an
, wir hatten ein Spiel mit Himmel und Wolken. Nehmen wir an, es wäre eine Plattform
oder ein Spiel und wir hätten eine Cloud. Lassen Sie mich einfach
alle hier löschen. Nehmen wir an, wir hatten hier Wolken. Und auch hinter diesen Kacheln hätten
wir eine Ebene erstellen können. Und tatsächlich könnten wir auf diesen Pfeil
klicken, um die Ebene hinter
diesen Kacheln hier zu platzieren. Und wir könnten dahinter malen,
ohne dass es beeinträchtigt wird. Und du kannst sehen, ob
ich sie hier verstecke, sind tatsächlich
hinter den Bodenplatten. Okay, also so
funktionieren Ebenen, genau wie in Photoshop Wenn Sie schon einmal
mit Photoshop gearbeitet haben, lassen Sie uns
diese Ebene einfach hier löschen . Und
diese Ebene auch, behalte
einfach diese.
Jetzt müssen wir hier unten die Breite und Höhe der
Kachel definieren. Das ist jetzt richtig, denn denken Sie daran, dass
wir innerhalb des Kachelsatzes die Kacheln
16 mal 16 Pixel groß hatten. Und hier sind es auch 16
mal 16 Pixel. Also dieser ist richtig. Okay, lass uns weitermachen
und das löschen. Ich werde für das Rasiermesser
auf E klicken. Geh einfach und lösche alles. Was wir jetzt tun können, ist, dass
alles gut ist. Die Breite und Höhe der Karte. Lass uns die
Karte einfach etwas größer machen. Ich mache
es 15 mal 15 Kacheln,
Größe 15 Kacheln mal 15 Kacheln. Das ist nur vorübergehend. Sie werden eine temporäre Karte erstellen , die wir später ändern werden. Mach dir darüber vorerst keine Sorgen. Wir wollen nur, dass das Spiel etwas
hat, damit wir das Spiel programmieren
können. Im Moment ist das
in Ordnung. Lass uns auf Datei klicken und alles speichern. Und lass uns mit
der nächsten Lektion fortfahren.
10. 2.06 Eine temporäre Kachelkarte entwerfen: In Ordnung, lassen Sie uns weitermachen
und eine temporäre Karte entwerfen. Bevor wir unser Spiel programmieren können, müssen
wir hier etwas haben. Lasst uns im Grunde auf
die hier aufgestellte Kachel klicken und das darin befindliche Dungeon-Prisma
auswählen Du kannst wählen,
was du willst. Sie können
diesen sogar nehmen und darauf klicken,
um das Füllwerkzeug aufzurufen. Und du kannst hier klicken
und du bist fertig. Aber im Grunde werde ich hier einfach etwas
kreieren muss nicht wirklich
etwas Gutes sein, denn wir werden es sowieso ändern. Ich werde darauf klicken und
es hier mit diesen Kacheln füllen. Diese Ebene eins, du
kannst sie sogar anklicken. Klicken Sie auf der Tastatur auf zwei
und nennen Sie es Basisschicht. Das ist vielleicht der Boden. Jetzt brauchen wir vielleicht auch ein paar
Wände. Das sind die Wände. Ich werde
diese Ecke hier einfach wieder auswählen. Sie können klicken und ziehen und alle drei
auswählen. Sie können
hier auf dieses Plus klicken und eine neue Ebene erstellen. Und ich
nenne es einfach Frontschicht. Vielleicht klicken Sie auf das Pin-Tool,
um es zu malen, malen Sie es hier. Ich wähle jetzt Wände aus, klicke und
ziehe
mit der Maus, um sie
alle hier zu malen. Wählen Sie erneut diese aus
und malen Sie sie hier. Okay. Nun, manchmal, wenn
man neue Kacheln hat, muss
man
herausfinden, welche wohin gehören, weil sie sehr spezifisch sind. Zum Beispiel hier unten
ist, glaube ich, dieser. Du kannst das
hier unten auswählen, hier drüben malen. Dann musst du wählen, mal sehen, ich glaube, es ist
dieser. Dieser. Malen Sie auch hier unten. Du musst hier
eine davon auswählen. Wir müssen sehen, lass es mich hier sehen. Wenn wir einen finden, der
passt, vielleicht diesen. Ja, dieser passt. Du kannst es hier drüben malen. Du kannst es auswählen,
hier klicken, nach oben malen. Jetzt verbinde es einfach und verbinde
es mit diesem hier drüben. Jetzt haben wir einen kleinen
Raum, in dem wir arbeiten können. Du kannst sogar versuchen,
diese Kacheln zu üben . Es ist
gut zu üben. Bevor Sie die endgültige Karte
erstellen, fügen Sie hier
vielleicht
so etwas hinzu. Aber wie Sie sehen können, sind wir hier
eigentlich an den Seiten. Lass mich sehen, ob wir das reparieren können. Vielleicht kannst du
damit malen. Für die andere Seite
muss ich die auswählen,
lassen Sie mich das nur, damit Sie die auf dieser Seite
darin
besser sehen können . Und jetzt sieht es richtig aus. Okay. Auch für die Fliesen. Mal sehen, ob wir
die jetzt malen müssen . Ich glaube, die
brauchen wir nicht wirklich. Gut, also was
wir auch hinzufügen können, du kannst versuchen, dieses
hinzuzufügen, wenn du willst. Im Grunde können wir sie anklicken und trocknen und alle
so auswählen, und jetzt können wir
sie hier wieder hinzufügen. Sie können versuchen, sie
zur Basisebene hinzuzufügen, aber wie Sie sehen, werden
Sie hier oben malen. Klicke auf Steuerung, du kannst auch
sehen, dass es sich hinter der Wand befindet. Klicken Sie auf die vordere Ebene, Sie
können versuchen, sie hier zu malen. Wie Sie sehen können, ist es wieder
Malerei auf die Wände, denn wir malen auf diese Schichten oder diese Fliesen,
klicken Sie hier und fügen
eine neue Ebene hinzu und nennen es vielleicht Dekorationsfront oder was auch immer. Es ist nicht wirklich wichtig,
wie auch immer du es nennst. Lass
es uns zum Beispiel einfach hier hinzufügen. Jetzt können Sie sehen,
dass wir das hinzugefügt haben. Wie ich sehen kann,
die Kacheln, die ich gerade ausgewählt habe. Die Fliesen
hier oben passen nicht, also müssen wir
zur Basisschicht gehen. Und ich werde hier
zu den Fliesen gehen. Und ich muss mit
diesen Fliesen malen .
Mit diesen Fliesen malen. Und die Eckfliese ist hier, die andere Ecke ist hier. Lass uns versuchen, es richtig zu malen. Ich glaube, dieser ist hier. Lass uns diesen hier malen. Nochmal, diese Ecke wie diese. Und ich werde einfach so
rummalen. Okay? Ich kann es sehr schnell machen. Im Moment ist es nicht
wirklich wichtig. Dies ist nur eine Testkarte
, die wir später ändern werden. Das Schlechte an der
Honoral Engine für die bisherigen Picks ist, dass, wenn du falsche Dinge
malst, wenn du auf Steuerung Z
klickst, nur ein Kachel nach dem
anderen entfernt wird Wenn du es zu oft machst, kann
es eine Qual sein. Ordnung, diese Kachel hier, vielleicht müssen wir sie stattdessen einfach
so streichen. Und hier sieht es auch viel
besser aus. Jetzt sieht es gut aus.
Ich glaube, wir haben auch einige Highlights
für die Säulen. Wir können sehen, dass die Säule
auch einige Highlights aufweist. Ich kann tatsächlich diese auswählen, zur vorderen Ebene
zurückkehren und diese
als Säule malen. Wir haben etwas Licht
von diesem Raum hier, das rote Licht, und es
sieht realistischer aus. Nun, ob du auch ein paar Requisiten hinzufügen
willst
, ist momentan nicht wirklich
wichtig Aber du kannst hier einige Requisiten
hinzufügen. Zum Beispiel erstellen Sie können zur
Dekorationsfront gehen. Lass uns hier einen platzieren. Platziere das vielleicht
auf der einen Seite, es ist so. Und vielleicht in der
Ecke, mal sehen. Wir können diese Truhe
vielleicht hier in die
Ecke stellen , so wie hier. Auch hier ist es vorerst nicht
wirklich wichtig. Lassen wir
es einfach so sein. Wenn du etwas Gras hinzufügen willst, könnte
ich sehen,
dass etwas Gras da ist. Vielleicht kannst du hier
etwas davon auswählen. Füge das Gras hier unten hinzu. Dann kannst du es zu Ende bringen, glaube
ich, indem du es
mit diesem andeutest Du kannst es auch hier malen. Ich werde auf Controls klicken. Im Moment nicht allzu wichtig. Lass uns alles speichern. Und das ist die
Karte, die wir haben. Schließen wir sie und
fahren wir mit der nächsten Lektion fort.
11. 2.07 Platziere die Kachelkarte im Level: Nachdem wir die Kachelmap
erstellt haben, klicken
wir darauf und ziehen sie in
das Level Sehr einfach. So platzierst du die Kachelkarte im Level. Wie ich dir schon zuvor
gesagt habe, kannst
du die rechte
Maustaste gedrückt halten und dann auf
W D S und A klicken , um dich zu bewegen. Im Grunde
sieht es tatsächlich so aus. Das sind zwei D im Inneren
eines manuellen Motors. Da es sich um eine
Drei-D-Software oder eine Drei-D-Engine
handelt, sieht es so aus Wir arbeiten mit
drei D, aber wenn Sie
zur orthogonalen Ansicht wechseln zur orthogonalen Ansicht und sie aus der rechten Ansicht
statt aus dem Drahtgittermodus betrachten, können
Sie einfach
den unbeleuchteten Modus wählen Sie können hier hineinzoomen und
sehen , wie es
aussieht Und jetzt sehen wir es uns in zwei D
an. Ich werde vorerst einfach zum
perspektivischen Modus zurückkehren. Was ich normalerweise
für den Standort mache, habe ich bei 20 gesagt, lass uns 000 schreiben. Es ist hier am
Nullpunkt der Welt. Ich werde all
diese Zeilen hier entfernen , weil
ich sie nicht wirklich brauche. Wenn du auf die Kachelkarte
klickst, gehst du hier runter, du
kannst diese entfernen.
Wenn ausgewählt, kannst du sie pro Kachel
anzeigen. Jetzt ist es entfernt. Jetzt
platzieren Sie es so. Sehr einfach. Wir können
weitermachen und auf Datei klicken und alles speichern.
Aber wie Sie sehen, sieht
es sehr schlecht aus, weil die Farben nicht korrekt
sind, und das liegt daran, dass
die Beleuchtung in Unreal Engine diese Kachelmap
beeinflusst Lassen Sie uns also weitermachen und
das Problem in der nächsten Lektion beheben.
12. 2.08 Volumen nach dem Prozess: Um die Beleuchtung einzustellen, müssen
wir nun ein
sogenanntes Post-Process-Lautstärke verwenden Wenn du hier nach oben klickst
und zu den Volumes gehst, findest
du hier unten
ein sogenanntes Post-Process-Volume. Sie finden es auch
in Visual Effects. Bei diesem einen
Post-Process-Volume handelt es sich um dasselbe. Sie können darauf klicken und
Sie werden eines erstellen. Was ein Post-Process-Volume ist, wenn Sie schon einmal
mit Photoshop gearbeitet haben, ändert
es im Grunde die Farben, genau wie in Photoshop. Sie ändern die
Sättigung des Bildes, Sie ändern die Beleuchtung
und Helligkeit und so weiter. Das Gleiche gilt Volumen nach
der Bearbeitung.
Du klickst darauf. In einem Post-Process-Volumen können
Sie den Bloom-Wert und
die Belichtung ändern , wenn Sie einen Linseneffekt
wünschen Der Bildeffekt, d. h. die Vignette um das Bild herum,
wo Sie das Bild machen, also an den Ecken, und das wirkt wie ein
filmischer Und Sie können die
Temperatur des Lichts ändern. Du kannst viele
Dinge ändern , indem du
das Aussehen des Spiels änderst. Die Lautstärke nach der Bearbeitung wird verwendet, um das
Aussehen des Spiels zu ändern. Okay, hier drinnen, wenn du einfach den Wert erhöhst
und senkst. Wenn ich zum Beispiel zu Bloom gehe und auf die
Intensität klicke und sie erhöhe oder
verringere, siehst du, dass
nichts passiert. Das liegt daran, dass Sie in ein
Post-Process-Volume
gehen müssen. Und wie Sie sehen können, kann ich jetzt,
wenn
ich mich darin befinde, erhöhen und verringern und das ändert die Werte. Anstatt hier drin
zu sein, kannst du runtergehen und dann diesen finden, der Infinite Extent Unbound
heißt Wenn du darauf klickst, bedeutet das, dass es sich auf
das gesamte Level auswirkt Und es spielt keine Rolle, ob du dich darin oder
außerhalb davon befindest,
es wird sich auf
die gesamte Ebene auswirken. Jetzt kannst du sehen, ob ich
zu- oder
abnehme, die Intensität
wird sich ändern. Das Gute daran, mittendrin
zu sein, ist, nehmen
wir an, du hattest
ein Drei-D-Spiel oder sogar ein Zwei-D-Spiel, wenn du
einen speziellen Stil kreieren möchtest. Wenn du in einem Drei-D-Spiel,
zum Beispiel einem RPG-Spiel,
in eine Höhle gehst , verändert
das das Aussehen des Spiels weil du dich jetzt
in der Höhle Die Höhle hat ein
bestimmtes Aussehen. Wenn du die
Höhle verlässt, verändert sich ihr Aussehen. Aber hier müssen wir die Effekte nicht wirklich ändern
,
je nachdem, wo wir uns befinden. Wir wollen,
dass das Ganze gleich ist. Normalerweise klicken
wir in den meisten Spielen einfach auf Infinite Extent Unbound und
wir beeinflussen das ganze Spiel Okay, für den Bloom muss
ich ihn auf Null setzen, weil wir
Bloom nicht wirklich haben oder wieder zwei D mit zwei D innerhalb einer
Drei-D-Engine ist wirklich cool weil man die
D-Beleuchtung verwenden und das zu zwei D hinzufügen kann, was dann wirklich
Spezialeffekte gibt,
die man
von zwei Engines nicht bekommt Sie können drei D-Lichter
haben, Sie können hier drei
D-Effekte haben, was Sie
bei zwei D-Engines nicht bekommen können. Es ist auch sehr cool,
damit zu experimentieren. Ich werde wahrscheinlich
später einen Kurs erstellen , falls ich
noch keinen erstellt habe, dem es darum geht, wie man spezielle
3-D-Effekte
zu zwei D hinzufügt . Aber vorerst setzen
wir Bloom auf Null. Gehen wir zur Belichtung und im Grunde zur minimalen
und maximalen Belichtung, normalerweise setze ich sie auf 1,1 Belichtung ist einfach,
wenn ich sie deaktiviere. Sie können sehen, dass die Beleuchtung mit der Zeit
zunimmt. Das ist gut für
dreidimensionale Kinoumgebungen, aber wir
müssen die Beleuchtung nicht wirklich ändern je nachdem, ob wir uns in der Nähe
oder in der Ferne befinden Stellen wir
es einfach auf eine Konstante ein, auch wenn wir nah oder weit weg sind, das
spielt keine Rolle Aber vorerst
werde ich es auf
zwei setzen, weil ich
Ihnen
nur meine
Volume-Einstellungen für die Nachbearbeitung gebe Ihnen
nur meine
Volume-Einstellungen für die Nachbearbeitung , die ich hier für
zwei D erstellt habe. Die Beleuchtung ist sehr, sehr gut, denn wie
Sie hier sehen können, müssen
wir
die Beleuchtung anpassen und wollen, dass sie wie unbeleuchtet
aussieht Wenn Sie ins Unbeleuchtete gehen, sieht es ohne Beleuchtung
so aus Das ist eigentlich das, was ich für dieses
Pixel-Kachel-Set habe. So
sieht es wirklich aus. Sie können es auch
in der rechten Ansicht sehen, in der autografischen Ansicht Wenn Sie die Ansicht vergrößern, wird es so
aussehen, wenn wir
die Beleuchtung richtig eingestellt haben Wenn wir zum
perspektivischen Modus zurückkehren und ich zum beleuchteten Modus zurückkehre, das Problem darin, dass Sie es nur im beleuchteten Modus sehen, wenn
Sie hier auf Abspielen
klicken . Wir müssen die Beleuchtung im
beleuchteten Modus tatsächlich so
ändern , dass sie der Beleuchtung im unbeleuchteten Modus
entspricht Das versuchen wir
mit dem Volumen nach der Bearbeitung zu erreichen Wir versuchen, den beleuchteten Modus genauso
aussehen zu
lassen wie den
unbeleuchteten Modus. So wie das hier Okay, lass uns hier in
den beleuchteten Modus gehen. Ich habe es drei bis vier Stunden lang versucht. Ich habe hier nur mit vielen
Einstellungen gespielt , damit es wie im unbeleuchteten Modus
aussieht Ich habe herausgefunden, dass die minimale
und maximale Belichtung auf zwei eingestellt werden
sollte Der Bildeffekt, der
im Grunde die Vignette ist, kann
man sehen, er fügt sich an den
Rändern wie ein filmischer Effekt
hinzu Wir haben das einfach auf Null gesetzt,
wir brauchen es nicht wirklich. Wir haben hier oben die Highlights und
das Diverse innerhalb der Farbkorrektur
für das Minimum, wir müssen das auf eins setzen Sehen wir uns hier die Stärke der
Tonkurve an Wir müssen sie auf Null setzen Sie können einen großen
Unterschied sehen , wenn wir diesen Wert auf Null
setzen. Es sieht fast wie
das Original aus. Wenn du jetzt in den Lit-Modus gehst. Wenn Sie in den Beleuchtungsmodus wechseln, können
Sie sehen, dass er
viel besser aussieht als zuvor. Wir müssen jedoch noch
einige Dinge anpassen , da Sie
sehen können, dass es nicht dasselbe ist. Sie können auch
auf die Abkürzungen, die
alten vier und die alten drei, klicken . Wenn ich auf die alten drei klicke, gehe
ich in den Lit-Modus. alten vier, ich gehe in
den Lit-Modus, dort kann ich sehr schnell auf die alte Version 3.4 klicken, und Sie können den
Unterschied zwischen ihnen sehen. Es gibt immer noch einen Unterschied , wenn ich zum Lit-Modus zurückkehre. Und lassen Sie uns auch hier einige
Einstellungen ändern. Nun, hier oben, eigentlich
hier unten, lass uns einfach weitermachen. Bevor ich die
Farben hier unten ändere, wir die Intensität der
Umgebungsokklusion auf Null Lassen Sie uns auch die Stärke der
Bewegungsunschärfe auf Null ändern Bewegungsunschärfe auf Null Ich brauche das wirklich. Lass uns auf Datei klicken und alles speichern. Wenn ich jetzt nach oben gehe, haben
wir
unter der Farbkorrektur etwas, das Temperatur,
globale Schatten und Mitteltöne
genannt unter der Farbkorrektur etwas, das Temperatur,
globale Schatten und Mitteltöne Jetzt sind wir bereit, die Farben zu
ändern,
vielleicht die Sättigung zu reduzieren Denn wie Sie hier sehen können, ,
wenn ich in den unbeleuchteten Modus gehe sieht
es etwas
ungesättigter aus,
wenn ich in den unbeleuchteten Modus gehe als im beleuchteten Modus Jetzt habe ich dir die
richtigen Einstellungen für diesen Modus gegeben. Dieser muss 1,0 sein. All das haben wir auf Null gesetzt, weil wir sie nicht
wirklich brauchen. Und die Belichtung ist auf zwei eingestellt. Aber jetzt
musst du auf eigene Faust vorgehen, weil du
diese je nachdem einstellen musst , wie
deine Kacheln aussehen. Denken Sie an das Globale hier, wenn ich nur das Globale geöffnet
hätte, eigentlich nicht alles. Wenn ich das Globale öffne, öffnest
du die Sättigung, den Kontrast, das Gamma und auch hier
die Verstärkung. Lass uns damit arbeiten und
korrigieren, wie es hier aussieht. Fangen wir mit der Sättigung an. Das liegt daran, dass ich mir dieses
Rot hier im Modus Beleuchtet ansehe und auf Unbeleuchtet klicke Ich kann sehen, dass es auf dem Eis
leichter ist,
was bedeutet, dass es weniger gesättigt ist Wenn ich in den Leuchtmodus gehe und dann
zur Sättigung gehe und sie hier einstelle, kannst du
jetzt die Sättigung erhöhen und
verringern. Und du kannst sehen, dass du das Aussehen ändern
kannst. Wir müssen
es jedoch nicht wirklich so stark reduzieren. Ich werde wie zuvor
zu einem zurückkehren. Und was Sie tun müssen,
ist erneut Alt gedrückt zu halten und auf 3.4 zu klicken. Sie können
zwischen Lit und On Lit wechseln, und Sie können sehen, wie es
aussieht, wenn ich auf Hier klicke. Im Lit-Modus reduziere ich es ein bisschen und
klicke auf die alten drei. Jetzt kannst du sehen
, wie es aussieht. Ich sehe mir nur dieses Rot hier
an. Anstatt es so zu haben, werde
ich es vielleicht einfach auf 95 bringen. Okay. Klicken Sie auf die alte Version 3.4
und wechseln Sie sehr schnell zwischen ihnen. Du kannst das sehen, wie es
aussieht. Ich denke, die Sättigung
ist jetzt in Ordnung, aber ich kann sehen, dass sie mehr ist, hier ist
es weißer. Ich glaube, es sind
Gamma und Gain. Lassen Sie uns versuchen,
hier zum Gamma zu gelangen und
es leicht zu erhöhen , weil
Sie das Gamma sehen können. Wenn Sie es zu stark erhöhen, gehe
ich zurück in den beleuchteten Modus
und erhöhe den Gammawert. Sie können sehen, dass dies der Effekt ist. Was Sie tun können, ist ein Trick
, den ich manchmal anwende. ich auf die alte Version 3.4 klicke, klicke ich
einfach weiter,
während ich es tatsächlich anpasse Hier kannst du sehen, ob du es
falsch einstellst, zu viel. Man kann es weit voneinander
entfernt sehen. Wenn du es zu hoch erhöhst, ist
es auch weit
voneinander entfernt. Normalerweise halte ich die Alt und drücke sehr schnell 3.4. Ich versuche einfach,
sie so nah wie
möglich beieinander zu haben . Jetzt kannst du sehen,
ob ich auf alle
3.4 klicke , um zwischen
Lit und Let zu wechseln , sie sind
fast identisch. 1,05 ist hier der richtige Wert. Nun zum Kontrast,
ich kann versuchen,
hier zu klicken und versuchen,
den Kontrast leicht zu erhöhen Ich werde ihn wieder erhöhen. Allen dreien gefällt das. 1.02 Ich denke, das ist der richtige. Nun zum Gewinn. Ich
denke, wir können ein bisschen für den Gewinn geben .
Lass uns das auch versuchen. So etwas
hier für die Schatten. Nun, wenn du den Schatten
etwas mehr Kontrast
geben
oder den Kontrast entfernen möchtest , kannst
du das tatsächlich tun, wenn
du auf die Schatten klickst. Wenn ich zu Kontrast gehe, denn wenn ich mir meine Schatten ansehe, sehe
ich mir hier nur
meine Schatten an. Ich denke, das ist es auch. Kontrast im beleuchteten Modus, Sie können sehen, dass es im beleuchteten Modus
heller ist. Wenn Sie jedoch in
den beleuchteten Modus wechseln, können
wir den Kontrast
für die Schatten etwas verringern . Wenn ich wieder auf die alte Version 3.4 klicke klicke
ich einfach weiter
, um zu sehen, wie sie aussehen. Das ist viel zu viel,
vielleicht so etwas. Nur 0,97 Auch hier, wie Sie an meinen Werten sehen
können, ändere
ich
sie nicht wirklich zu sehr Vielleicht 0,020 0,05 und so weiter. Also ändere es nicht zu sehr, nur geringfügig, damit ich diesen Look haben
kann Wenn ich jetzt vom unbeleuchteten
Modus in den beleuchteten Modus übergehe, können
Sie sehen, dass es sehr nah ist Jetzt kannst du mehr
Zeit hier verbringen als ich. Sie können vielleicht 15
Minuten oder 30 Minuten damit verbringen ,
hier hin und her zu wechseln und bessere Werte zu haben. Aber im Moment sieht
alles gut aus. Wir müssen jedoch noch
einige Einstellungen in
den Projekteinstellungen anpassen . Und das machen wir
in der nächsten Lektion.
13. 2.09 Passen Sie die Projekteinstellungen an: Das Letzte, was wir
jetzt mit der Umwelt
machen müssen, ist, dass wir das Tasing
deaktivieren müssen Wie Sie hier sehen können, ist es
vielleicht nicht
wirklich sichtbar,
aber es gibt Anti-Eliasing, wodurch die Dinge ein wenig
verschwimmen und es
nicht wie Pixelot aussieht Das ist wieder so,
weil in drei D T Elising wirklich gut ist und dein
Spiel dadurch besser aussieht,
aber in Pixelot brauchen wir es aber in Pixelot Gehen wir zum Bearbeiten und
gehen wir zu den Projekteinstellungen. Hier
müssen wir nach unten gehen und die Registerkarte Rendern
finden. auf Rendern klicken, wollen wir
versuchen,
hier einige Einstellungen für das mobile
Anti-Eliacing zu ändern hier einige Einstellungen für das mobile
Anti-Eliacing momentan
nicht wirklich wichtig Wir entwickeln
kein Handyspiel, aber es ist gut zu wissen
, dass es da ist Und du kannst jederzeit
hier klicken und es auf „Nichts“ setzen, weil wir Anti-Elycingw nicht wirklich
brauchen Wenn ich hier runter gehe und mir Einstellungen
ansehe, ist hier
alles Ich brauche es
jetzt nicht wirklich für die Beleuchtung. Stellen wir es einfach auf „Keine“ statt
auf Lumen“. Setzen wir es auf „Keine Wir brauchen nicht wirklich
ein oder
zwei
Überlegungen . Schauen wir uns das mal hier unten an. Alles sieht gut aus. Du kannst Nanite deaktivieren,
wenn du willst. Das sind
die drei D-Modelle, das neue System in
der Version 5, die
nicht religiös ist neue System in
der Version 5, die
nicht religiös Lass uns einfach später neu starten Schauen wir uns vorerst einfach hier
um. Alles sieht toll aus. Jetzt ist das Wichtigste hier in den
Standardeinstellungen, jetzt haben wir Umgebungsokklusion usw.
bereits deaktiviert Darüber müssen
wir uns nicht wirklich Gedanken machen. Wir haben das innerhalb
des Post-Process-Volumens gemacht, die Bewegungsunschärfe auch, aber Sie können sie
auch hier deaktivieren, wenn Sie Bloom und
Umgebungsokklusion
möchten , wenn Sie Aber hier beim Anti-Eliasing
spielt
das keine Rolle, das
ist Diesen willst du auf „
Nein“ setzen , du kannst den Unterschied sehen Wenn ich hier oben nachschaue, kann ich es
jetzt auf nein setzen, du kannst den Unterschied sehen. Sie können sehen, dass es gezackte Linien
gibt. Wenn ich es zum Beispiel auf diesen
setze oder dieser Super die Standardeinstellung
ist, können
Sie sehen, dass es so aussieht Sie können es auf keinen oder auf einen dieser Werte setzen, aber keiner ist der beste. Bei Pixeln sieht es
viel besser aus wie Pixel. Okay, großartig. Jetzt sieht es gut aus. Und dieser auch. Sie können es hier auf nichts setzen. Kein AA, alles andere ist in Ordnung. Lass uns eins machen. Und ich werde auf Jetzt neu starten
klicken. Sobald es neu gestartet ist, können
Sie sehen, dass wir hier
drin sind Jetzt wird
standardmäßig diese
Open-World-Ebene geöffnet . Sie
können dies ändern, wenn Sie zu Bearbeiten und
Projekteinstellungen gehen Und du gehst hier zu den
Karten und Modi. Und du kannst die
Startkarte des Editors so ändern , dass sie deine Map, Dungeon the Editor,
Spiel, Standard-Map Sie können auch zur
Karte Dungeon wechseln. Jetzt kannst du es schließen
und alles speichern. Wenn du die Engine das nächste Mal
öffnest, öffnet
sie automatisch deine Dungeon-Map Lass uns jetzt
darauf klicken. Doppelklicken Sie auf die Karte, um sie erneut einzugeben. Jetzt
sieht alles wieder gut aus. Du kannst auf dieser Seite klicken, du kannst auf Let's here klicken. Und Sie können
auf die rechte Ansicht klicken. Sie können
zur Perspektive zurückkehren. Klicken Sie auf Leuchtmodus. Leuchtmodus. Hier gibt es einen kleinen Unterschied in den Kanten, aber ich denke, das ist vorerst in Ordnung. Sie können fast keinen
Unterschied sehen. Es sieht gut aus. Jetzt können wir auf
Play klicken und wir können
dieses Spiel hier spielen und
die richtige Beleuchtung haben. Okay, alles sieht gut aus. Wie Sie sehen können, gibt
es in Picsalot mehrere Schichten in einem
echten Motor, mehrere Schichten in weil
es ein Drei-D-Motor ist Wenn ich nur die
Kamerageschwindigkeit reduziere, sieht es so aus. Es sieht komisch aus, weil die
vordere Ebene vor dieser liegt. Im Grunde. Zu diesem
Zeitpunkt haben Sie die Ebenen innerhalb der
Kachelmap erstellt, diese Ebenen. Das sehen Sie hier. Das ist die
Frontschicht der Dekoration. Dies ist die Dekorschicht oder die Vorderschicht, und dies ist die Basisschicht. Du kannst sie so
sehen. Es sieht komisch aus. Aber wenn du auf Play
klickst und nicht so, sondern wenn du
auf Play klickst, machen wir eine echte Kamera. Es
wird so aussehen. Es sieht ganz nach D aus, weil wir
es von vorne betrachten, alles sieht gut aus. Lass uns auf Datei klicken
und alles speichern. Fangen wir
in der nächsten Lektion an.
14. 3.01 Spielmodus und Spieler-Controller: Ordnung, jetzt, wo
wir mit
der Gestaltung der Umgebung fertig sind, wir weitermachen und
das Spiel programmieren Als Erstes
sehe ich eine Meldung, dass Nanite aktiviert ist,
aber nicht rendern kann Und das liegt daran, dass wir
Nant hier in den
Projekteinstellungen deaktiviert haben Nant hier in den
Projekteinstellungen Wenn Sie nach Nanite suchen, denken Sie
daran, dass wir es hier deaktiviert haben. Dort steht, dass
es immer noch aktiviert ist Hier unten in der Con siehst
du hier
unten, dass du
Nitro schreibst und ich
gehe rein und es wird Nanite
deaktivieren Und auch diese Nachricht ist weg. Lass uns hier in
den Inhaltsordner gehen. Lass uns mit der rechten Maustaste klicken und einen neuen Ordner
erstellen. Nennen wir das Blaupausen
innerhalb dieses Ordners. Jetzt klicken wir mit der rechten Maustaste
und jetzt sind wir bereit, das Spiel
zu programmieren Bei der Programmierung handelt es sich um
Baupläne in echten Engines. Fahren Sie fort und klicken Sie auf
die Blueprint-Klasse. Lass uns eins machen. Jetzt haben Sie diese Optionen
, die Sie wählen können. Nun, es könnte
zunächst
etwas verwirrend sein , wenn Sie noch nie Baupläne
verwendet haben, aber nur um sie sehr
schnell durchzugehen,
die Aktor-Klasse, die
wir hier erstellen können, ist ein Objekt, das in der Welt platziert
oder erzeugt werden kann Es ist im Grunde nur
ein statisches Objekt. Zum Beispiel ein Tisch, eine Flasche,
alles, was
sich im Spiel nicht bewegt, zum Beispiel
ist diese Kiste hier kein bewegliches Objekt Das ist ein Schauspieler. Eine Spielfigur und ein Charakter sind zwei Klassen,
in denen du sie erschaffen kannst Wenn du Bewegung brauchst,
kannst du sehen,
dass eine Pfote ein Akteur ist , der besessen werden kann und Eingaben von einem
Controller erhält Nehmen wir zum Beispiel
in deinem Spiel an,
das ist der Spieler Und der Spieler kann sich hier mit dieser Kiste
bewegen, du kannst
mit dieser Kiste herumrollen. Dann musst du tatsächlich eine Spielfigur und einen Schauspieler
erstellen. Denn wenn du einen Schauspieler
erstellst, kannst du ihn nicht
mit deiner Tastatur steuern Wenn du
ihn mit deiner Tastatur steuern musst, wenn es sich um einen Spieler handelt,
musst du eine Spielfigur bilden Wenn du jedoch einen Charakter
hast, etwas mit zwei Armen und zwei Beinen, und du
musst herumlaufen, musst
du
einen Charakter erstellen und keinen Bauern,
wenn dein Spiel zum Beispiel so ist, wenn du
wie eine herumrollende Kiste bist Oder wenn du wie ein herumrollender
Ball bist, also nicht
zwei Arme, zwei Beine hast Als Charakter
kannst du eine Spielfigur erstellen. Wenn du jedoch diesen
typischen humanoiden Charakter hast, ist
es ein Charakter, den
du erstellen musst erstellen dieser Lektion werden wir nun
einen Player-Controller und einen
Spielmodus Und ein Player-Controller
ist eine Acta, die für die Steuerung
verantwortlich ist, wenn sie vom Spieler benutzt wird Jetzt könnte es etwas verwirrend sein Dies ist nicht Ihr Controller, Xbox-Controller oder Ihr
Playstation-Controller Du kannst es dir
als Gehirn für
den Charakter vorstellen , wenn du im Spiel
spawnst Jeder Charakter, den du als Spieler-Controller
spawnst, ist nicht nur der Charakter,
wenn du ins Spiel kommst Wenn der Spieler dem Spiel beitritt, wird
der Spieler-Controller automatisch für dich
erstellt bevor der Charakter
erstellt wird . Sehr, sehr
wichtig zu wissen. Normalerweise
codieren wir bei
Player-Controllern die
Benutzeroberflächen, die Benutzeroberfläche. Wir machen auch das Spawnen. Wenn ich zum Beispiel
eine Waffe ins Spiel spawne, wenn ich eine Münze spawne, spawne ich alles in mein Normalerweise mache ich das im Player Controller
. Nun, manche Leute machen
Bewegungen auch im
Player-Controller, aber
ich schlage vor, dass die Bewegung im Charakter
erfolgt, weil
wir im Mehrspielermodus jetzt keinen Mehrspielermodus programmieren. Aber
wenn du in Zukunft Multiplayer programmieren willst, ist
es immer schön,
sich an eine Sache zu gewöhnen. Im Mehrspielermodus muss die
Bewegung in der Blueprint-Klasse
sein Wenn du Bewegungscode innerhalb
des schwarzen Controllers ausführst, wird das
im Mehrspielermodus
nicht funktionieren Ich mache Bewegung immer als Charakter
, weil das
in Zukunft auch als
Multiplikator funktioniert Wenn du etwas
mit Mehrspielermodus anfangen willst, ist
das der schwarze Controller und der Spielmodus definiert
das Spiel,
seine Regeln, Punktzahlen und
andere Facetten des Nehmen wir zum Beispiel an,
Sie haben in Counterstrike einen Rundentimer Und wie viele Punkte bekommst
du, wenn du einen
Spieler tötest und solche Dinge Die Regeln für das Spiel werden
normalerweise im Spielmodus festgelegt. Lass uns jetzt weitermachen und
auf den Spielmodus klicken und einen erstellen. Normalerweise gebe ich ihnen BP
als Präfix für Baupläne. Für den Spielmodus schreibe ich jedoch
normalerweise den GM-Spielmodus. Und ich nenne es den
Namen des Spiels,
nämlich Dungeon Clicker Nennen wir es Dungeon Liquor. Lassen Sie uns erneut klicken, eine neue Blueprint-Klasse erstellen
und einen Player-Controller erstellen, nennen
wir ihn PC für
Player-Controller Nennen wir es noch einmal den
Namen des Spiels, Liquor. Jetzt können Sie
mehrere Spielmodi haben. Das liegt nicht daran, dass
Sie
in Counter Strike
beispielsweise wieder einen Spielmodus haben können . In anderen Spielen wie Halo
hast du einen Spielmodus, in dem
du drei für alle hast, jeder kann sich gegenseitig töten Sie haben einen Spielmodus, in dem
Sie die Flagge erobern Jedes Team erobert die
Flagge bis zu seiner Basis Verschiedene Spielmodi. Sie können mehrere Spielmodi
haben. Wir
machen jedoch ein einfaches Spiel. Wir brauchen aber nur einen. Normalerweise nenne ich es hier einfach den
Namen des Spiels. Lass uns weitermachen und alles
speichern. Jetzt, wo wir damit fertig sind, müssen
wir eigentlich nichts mehr in ihnen
tun. Wir müssen
den Spielmodus jedoch so zuweisen, dass er
in der Unreal Engine verwendet wird, da er derzeit
den Standard-Spielmodus verwendet , den er erstellt
, wenn
ich die Engine öffne Lass uns weitermachen und auf
Bearbeiten klicken und die
Projekteinstellungen öffnen Gehen wir hier zu Karten und Modi. Unter Karten und Modi kannst du sehen, wie der
Standard-Spielmodus verwendet wird. Ist der Standard-Spielmodus
in Unreal Engine. Ich sage nein, ich möchte meinen eigenen benutzen Ich möchte diesen
einen GM-Clicker benutzen. Lassen Sie uns das vorerst minimieren. Lass mich statt hier meinen Spielmodus
öffnen. Es wurde hier auf
meinem zweiten Monitor im
Spielmodus in den Klassenstandards geöffnet .
Wir müssen den
Player-Controller ändern, den wir
ebenfalls erstellt haben, da er
jetzt den
Standard-Player-Controller
in Unreal Engine verwendet Standard-Player-Controller
in Unreal Ich möchte jedoch
meinen benutzerdefinierten verwenden, den ich erstellt habe,
nämlich den PC Dung Lass uns weitermachen und kompilieren. Bedeutet übrigens nur, dass Sie überprüfen, ob Ihr Code ein Kästchen
hat oder nicht. Wenn du darauf klickst,
heißt es, es kann losgehen, alles ist fertig
und du klickst auf Datei und
Alles speichern. Lassen Sie uns das schließen. Jetzt. Lass mich einfach wieder meine Projekteinstellungen öffnen und sicherstellen,
dass, wenn ich hier unten auf den ausgewählten
Spielmodus
klicke, hier unten auf den ausgewählten
Spielmodus
klicke, meine Spielersteuerung
auch in meinen
Projekteinstellungen zugewiesen ist . Und das ist normalerweise der Fall, wenn du
das in der Spielersteuerung machst. Okay, lass es uns hier unten schließen. Das Letzte, was wir tun müssen, ist hier in den World Settings. Übrigens, wenn Sie keinen Tab mit den Welteinstellungen
haben, fahren Sie fort und klicken Sie auf, lassen Sie uns das hier sehen, das
Fenster hier oben. Und öffne die
Welteinstellungen Von hier aus klicken
wir auf die
Welteinstellungen und auch auf
die Welteinstellungen im Spielmodus Override, klicken hier und weisen
deinen GM-Dungeon-Clicker zu, was der benutzerdefinierte Spielmodus ist Und wenn du
hier unten klickst, kannst du auch
sicherstellen , dass dein
Spieler-Controller zugewiesen ist In Ordnung, also lass uns
weitermachen und speichern. Und jetzt
ist unser benutzerdefinierter Spielmodus der
Karte oder dem Spiel zugewiesen. Wir können nicht wirklich viel tun
, weil wir noch nicht wirklich programmiert haben. Wir können also nicht sehen, ob es
tatsächlich funktioniert oder nicht, aber das werden wir sehr bald
tun. Jetzt haben wir das
Hinzufügen des Spielmodus und
des Player-Controllers abgeschlossen und sind bereit, die Spielerkamera hinzuzufügen.
15. 3.02 Die Player-Kamera hinzufügen: Um die Spielerkamera hinzuzufügen. Klicken wir erneut mit der rechten Maustaste
in die Blueprints und erstellen wir erneut ein
Blueprint-Glas Jetzt kannst
du die Spielerkamera als Spielfigur erstellen Da wir nicht wirklich
einen Charakter mit zwei Armen und
zwei Beinen haben, um den man herumlaufen kann, kann
man ihn technisch gesehen als Spielfigur
erstellen Ich entwickle
die Spielerkameras aber auch gerne für meine anderen Spiele als Spielerfigur, weil sie
eine Bewegungskomponente des Charakters beinhalten Damit kannst du
die Schwerkraft der Kamera,
die Bewegungsgeschwindigkeit
der Kamera und so weiter steuern . Sie werden sehen, was ich meine, aber dieser bietet mir mehr Optionen. Normalerweise
erstelle ich einfach einen Charakter. Nennen wir diesen einen P-Spieler. Ich nenne es Kamera, aber ich nenne
es einfach Player. Lass uns weitermachen und es öffnen. Und hier sind wir
normalerweise in Bauplänen. Wenn du es öffnest, hast du hier
den Aussichtspunkt, von dem aus
du den Charakter sehen kannst Wenn du importierst, siehst du das
hier rechts
im Detailbereich Es sieht fast aus wie das
Detailfenster hier drüben. Es ist dasselbe, wenn Sie auf Dinge klicken und dann hier verschiedene Optionen für das Mesh sehen
können. Wenn du einen Charakter importierst, könntest
du den Charakter
hier im Viewport sehen, so
wie du hier drüben einen
Aussichtspunkt hast Okay, in diesem BP-Player müssen
wir eine Kamera erstellen Übrigens, die Komponente zur
Charakterbewegung ist da. Wenn du darauf klickst,
kannst du sehen, dass du
Dinge wie die
Beschleunigung des Spielers steuern kannst , was in diesem Fall die Kamera
ist. Sie können die
Bodenreibung, die maximale
Bewegungsgeschwindigkeit der Kamera und vieles mehr steuern, die Luftregelung und so weiter. Ich erstelle lieber eine Figur als
eine Pfote oder die Kamera weil ich diese
Bewegungskomponente habe
und meine
Kamera viel besser steuern kann Wir müssen eine Kamera erstellen. Klicken wir hier auf Add Up und die Komponenten First
vor der Kamera. Lasst uns etwas erschaffen, das
man Frühling nennt. Wenn Sie hier eine Feder erstellen, ist
dies der Halter
für die Kamera. Wenn ich jetzt auf den Federarm klicke, klicke
ich auf D und suche nach Kamera
und erstelle eine Kamera. Wir haben den Federarm, der
die Halterung ist, und dann haben wir die
Kamera hier drüben. Klicken wir auf Compile
und dann auf
Save Everything . Lassen Sie
mich das minimieren. Lass mich
diesen Spieler einfach so in
die Welt ziehen .
Hier ist die Kamera. Wenn du es
im Hintergrund sehen kannst, aber es ist dunkel, sodass
wir nicht viel sehen können. Ich werde den
Standort dafür als 000 schreiben. Drehe auch meine Kamera, du kannst sehen, dass sie so
aussieht. Ich gehe
zurück zu meinem Player. Ich werde auf meine Quelle klicken,
nicht auf meine Kamera, sondern auf meine Quelle. Ich werde sie drehen, wenn ich auf das Drehwerkzeug
klicke. Denken Sie daran, dass die Werkzeuge hier
oben für das Verschieben-Werkzeug, für das Rotations-Werkzeug und R auf der Tastatur
für das Skalierungswerkzeug sind. auf
das Rotationswerkzeug klicke, werde
ich es auf diese Weise drehen. Jetzt kompiliere ich
erneut, wenn Sie es minimieren. Jetzt
sieht deine Kamera richtig aus. Sie können
es auch im Viewer sehen. Wenn du auf die Kamera klickst, versteckt sie sich
jetzt hier
, weil alles dunkel ist. Ich klicke auf Lit, du
kannst sehen, dass es hier ist. Wenn ich darauf klicke, siehst du
auch den Viewer. Für die Kamera hier unten kannst
du einfach
die Kamera bewegen, wie du willst Du kannst sie
im Viewer hier sehen. Bevor wir sie ausrichten, können
Sie in der Kamera sehen,
ob ich mit der rechten Maustaste auf die Kamera klicke
und auf Pilot klicke,
was bedeutet, dass ich in die
Kamera gehe und sehe, was sie sieht. Sie können sehen, dass die Kacheln hier abgeschnitten
werden. Es sieht nicht nach zwei D aus, es sieht tatsächlich nach drei D aus. Ich klicke auf diesen Button
hier oben, um aus meiner Kamera herauszukommen. Ich habe den Player wieder geöffnet. Das liegt daran, dass Sie, wenn Sie auf die Kamera
klicken, tatsächlich von
perspektivisch auf autografisch umstellen müssen den Projektionsmodus tatsächlich von
perspektivisch auf autografisch umstellen müssen. Perspektive ist der Drei-D-Modus, orthogonal ist der Zwei-D-Modus Wir benötigen hier die Zwei-D-Ansicht. Lassen Sie uns kompilieren und schauen
wir uns das an. Sie können
jetzt wieder sehen, dass es korrekt aussieht. Wenn ich mit der rechten Maustaste auf meine Kamera klicke
und auf Stapel sie anklicke, glaube
ich, dass du das auch hier machen
kannst. Du kannst auch hier im Outliner mit
der rechten Maustaste klicken
und dann auf Pile It klicken Jetzt können Sie sehen, dass es korrekter
aussieht. Es zwei D sieht auch gut aus. Lass uns von hier verschwinden.
Lass uns den Player öffnen. Das Letzte, was ich dir hier sagen
möchte, dass
wir nicht mehr
viel zu tun haben. Aber hier in der Kamera können
Sie die
orthogonale Breite ändern Und Sie können sehen, was
das macht, wenn Sie hier oben
im BP-Player auf
Ihre Kamera klicken und
die orthogonale Breite vergrößern und verkleinern Wenn ich sie vergrößere oder vergrößere,
kannst du sehen, wie du hinein- und herauszoomst. Pixel Ot, es sieht mehr
oder mehr pixelig aus. Je niedriger das
Autogrammholz ist, so
möchtest du dein Spiel vielleicht Du kannst es höher auflösend machen , wenn du so herauszoomst Nun zu meinem Spiel, ich habe versucht,
einfach damit zu spielen, als ich es getestet habe, und
ich glaube , ich bleibe bei
etwa 640. Wenn ich einfach mit der rechten Maustaste auf meine
Kamera klicke und sie
steuere, wird sie so aussehen. Ich kann meinen Player hierher bringen und
den Standort anpassen. Denken Sie daran, wir könnten den Standort
anpassen,
indem wir auf die Zahlen hier im Standort
des Spielers klicken. Und wir können mit
der Maus klicken und ziehen , um zu sehen, wie es
aussieht. Ich kann so etwas machen. Eigentlich ist es für das
Y nur Null. Für diesen ist es so. Fantastisch. Jetzt ist es zensiert Im Moment nicht wirklich
wichtig. Wir werden die
Positionierung später korrigieren. Aber für den Spieler,
nur um sicherzugehen, dass im Frühling
alles
richtig funktioniert , werde
ich
die Kollisionstests deaktivieren. Uzisionstest findet einfach statt, wenn sich ein Spieler
hinter der Mauer befindet Es wird die Kamera gedrückt, sodass die Kamera nicht
in die Wand gerät Das brauchen wir nicht wirklich
, weil es dem Spiel trotzen kann. Im Moment werde ich
es deaktivieren. Die zweite Sache ist die Kapsel. Ich möchte
alle Kollisionen entfernen, weil ich nicht möchte, dass
diese Kapsel mit meinen Feinden
oder Charakteren in
dieser Welt
kollidiert oder Charakteren in
dieser Den brauchen wir nicht wirklich. Ich gehe hier
runter und stelle
sicher , dass im
Kollisionsbereich für die Kapsel
Überlappungsereignisse generiert werden oder
die Kollisions-Voreinstellungen hier
deaktiviert Statt Bauer werde ich sagen, dass
keine Kollision behoben ist Jetzt im Mesh selbst hier. Ich stelle nur
sicher, dass es auch bei der Kollision so ist, dass der Charakter auch bei keiner
Kollision aufsteigen
kann .
Mach weiter und kompiliere. Nun zum Federarm Wir haben den
Kollisionstest entfernt. Die letzte Sache in der
Bewegungskomponente der Spielercharaktere:
Lassen Sie uns die Schwerkraft
auf Null bringen, weil wir diese Kamera
nicht brauchen, um
herunterzufallen oder sich zu bewegen. Die maximale
Beschleunigung ist Null. Mal sehen, ob wir hier mehr tun
müssen. Ich glaube nicht, dass wir mehr tun
müssen. Alles sieht gut aus. Die Höchstgeschwindigkeit
spielt eigentlich keine Rolle. Du wirst nicht herumlaufen. Aber du kannst es einfach auf
Null setzen, damit du dich nicht
auch bewegen kannst , wenn du willst.
Lass uns einfach kompilieren, alles
speichern. Und das
war's für den Spieler. Jetzt ist es eingerichtet. Sie können nach Belieben steuern, wie weit
Ihre Kamera entfernt ist Wenn Sie also möchten, dass die Kamera viel näher ist, können Sie das tun Sie können beispielsweise auf die Kamera
klicken
und die autografische
Ansicht auf 512 einstellen Und du kannst sehen, dass es hier
viel näher ist. Im Moment nicht allzu wichtig. Wir können das Spiel immer testen , wenn sich ein
Charakter bewegt.
16. 3.03 Die feindlichen Sprites extrahieren: Lasst uns jetzt weitermachen und
diese Preise für die Feinde importieren diese Preise für die Feinde Gehen wir noch einmal zurück zu dem Ordner mit Kostenmaterial
, den ich Ihnen gegeben habe. Gehen Sie hier zu den Charakteren. Hier sind alle Feinde
, die wir im Spiel haben. In Zukunft
können wir weitere Feinde hinzufügen, denn in Clicker-Spielen
gibt es Tonnen und Tonnen von Feinden Aber diese sind für den Anfang wirklich
nett. Lass uns weitermachen und auf den ersten
klicken. Halten Sie die Umschalttaste gedrückt und klicken Sie auf den letzten
, um alle auszuwählen. Gehen wir zu den Vermögenswerten. Und hier werde ich schreiben, klicken und einen neuen
Ordner namens Characters erstellen. Auch hier
werde ich mit der rechten Maustaste klicken, um wieder
einen neuen Ordner zu erstellen und
diesen einen Textures zu nennen. Gehen wir in diesen Ordner. Und jetzt klicken wir darauf und ziehen es in den Ordner
Textures. Und hier haben wir sie alle
importiert. Ordnung, klicken Sie erneut auf den
ersten, halten Sie die Umschalttaste gedrückt, klicken Sie auf den letzten, klicken Sie mit
der rechten Maustaste und gehen Sie zu Sprite-Aktionen Und denken Sie daran, das
Papier auf die Einstellungen aufzutragen, da sonst eine verschwommene Textur Sie
auf die Einstellungen anwenden können Wenn man das macht,
ist die Kunst ziemlich fix, es
sieht toll Okay, lassen Sie uns hier unten
alles schließen. Lass uns auf Datei klicken
und alles speichern. Nachdem wir nun alles
importiert haben, was Sie tun müssen, können Sie
hier sehen , dass sie alle
in einer Textur sind. Wenn ich den ersten,
den Night Death, geöffnet habe , kannst du sehen,
dass sie sich in einer Textur befinden. Wir brauchen sie
als separate Sprites. Lassen Sie uns das
schließen. Ich kann mit der rechten Maustaste auf Night
Death klicken. Ich kann hier gehen. Sprite-Aktionen, du hast
etwas, das entweder Sprite
erstellen heißt oder du kannst die Sprites
extrahieren Ein Sprite zu erstellen ist
einfach, nehmen
wir zum Beispiel an, du hattest hier
einen Charakter und du hattest sie nicht
alle zusammen Du könntest mit der rechten Maustaste auf
Sprite-Aktionen klicken und ein Sprite erstellen. Wenn du das tust, wird dieses
Sprite hier erstellt. Wenn du ein Sprite
erstellst, kannst du es tatsächlich im Spiel verwenden Du kannst
es anklicken und in die Welt ziehen. Wenn ich es einfach
nach vorne schiebe, kann
ich es so sehen. Jetzt sehe ich, dass ich es in meinem Spiel verwenden kann, zum Beispiel, wenn du eine
Kiste oder ähnliches hättest. Wenn du ein einzelnes Objekt hast, kannst
du es mit der rechten Maustaste anklicken und es als Sprite
erstellen Und dann ist es im Grunde so, als würde man
ein Drei-D-Objekt erstellen, das man in der Welt verwenden kann,
weil diese Textur hier nicht verwendet werden kann Man kann sehen, dass es
das ersetzt und
etwas Material für uns schafft und solche
Dinge,
alles ist durcheinander Ich werde auf
Strg Z klicken, um es rückgängig zu machen. Ich werde das, was es erstellt hat, nur verzögern
. Du kannst
im Spiel keine Texturen auf diese Weise verwenden. Du musst klicken, sie zu einem Sprite
machen, zum Beispiel, wenn du eine Box
oder etwas Statisches
im Spiel haben willst Und du kannst es hierher ziehen und du kannst es als Sprite verwenden Lassen Sie mich jedoch diesen löschen und lassen Sie mich auch diesen löschen Jetzt sind sie alle zusammen. Anstatt ein Sprite zu erstellen, müssen
wir es extrahieren. Klicken Sie mit der rechten Maustaste, gehen Sie
zu Sprite-Aktionen und extrahieren Sie die Und du kannst sie hier
oben so sehen. Was wir tun müssen, ist
hier oben in den Einstellungen, wir müssen daraus ein Grid machen. Jetzt müssen wir anhand der
Länge, Breite und Höhe
herausfinden ,
was die Größe ist. Normalerweise schreibt dir der Künstler, der das macht
, was es ist. Aber lassen Sie uns versuchen, dass es 32
überragend ist, so wie es hier für
die Höhe 32 der Jetzt kannst du sehen, dass es nicht passt , weil jede Box um diesen Charakter herum
sein muss Sagen wir statt 32 plus 16 Pixel. Das Gute an
Unreal Engine ist, Sie tatsächlich
plus 16 schreiben und die Eingabetaste drücken können, und das erledigt das
automatisch für Sie Okay, 16 Pixel haben funktioniert weil Sie jetzt sehen können, dass
alles korrekt aussieht Jedes einzelne Sprite
ist in seiner eigenen Box. Dies ist die richtige
Zellenbreite und -höhe. Und lass uns weitermachen
und auf Extrahieren klicken. Jetzt können Sie sehen, wie sie hier
extrahiert wurden, und jetzt sind sie in
einzelnen Bildern Wenn ich
das jetzt anklicke und in die Welt ziehe, ist
es ein einziger Charakter ,
der hier draußen ist und nicht das Ganze Das müssen wir eigentlich
für jeden einzelnen von ihnen tun. Zum Beispiel beim Nacht-Hit, du kannst mit der rechten Maustaste klicken und du
kannst zu Sprite-Aktionen
gehen, Sprites wieder extrahieren auf Grid
klicken Dann kannst du hier klicken. Ich denke, es ist dasselbe,
vielleicht 48 wie zuvor. Aber wenn du 48 schreibst, kannst
du sehen, dass es
eigentlich nicht richtig ist. Wenn ich zurück zu 32 gehe, wie bei der Höhe, kannst du sehen, dass
32 hier die richtige ist. Und du musst hier
auf Extrahieren klicken. Okay, versuchen wir es
mit dem letzten. Klicken wir mit der rechten Maustaste auf die Nacht im Leerlauf, um Sprites Doom in zu extrahieren Gehe zum Grid. Ich glaube, es ist wieder
32, genau wie zuvor. Fahren Sie nun fort und
klicken Sie auf Extrahieren. Ich zeige dir auch diesen. Danach werde ich einfach
jeden von ihnen schnell erledigen .
Sie können sehen, dass es Zeit braucht. Ich muss es für
jeden einzelnen machen. Aber lassen Sie uns mit der rechten Maustaste darauf klicken. Gehe zu Spart, Aktionen
extrahieren Sprites. Lassen Sie uns nun zu diesem Thema auf das Raster klicken. Schreiben wir 64, genau
wie die Höhe dort. Es ist ein guter Ausgangspunkt
, einfach die Zahl
der Höhe zu schreiben und Sie können sehen dass sie bereits richtig funktioniert. Und extrahiere alles richtig. Klicken Sie auf
Sprites extrahieren und gehen Sie zum Grid. Du kannst sehen, dass du sehr gut
darin werden wirst , weil du es 100 Mal
machst Manchmal, auch wenn du müde bist, kannst
du es tun, ohne
darüber nachzudenken, was du tust Es ist eine gute Übung, es einfach
oft zu tun. Jetzt haben wir sie extrahiert. Ich glaube, wenn ich einfach zum Ordner
zurückgehe, diesen hier anklicke, Idle,
Base Idle, die Sprites
auf Grid 32 extrahiere , das funktioniert, okay Das müssen Sie
für jeden einzelnen von ihnen tun. Versuche, sie in die Schachtel zu packen
und alle herauszuholen. Okay, ich mache es in
meiner Freizeit und bin sofort wieder bei dir. Ich habe sie alle extrahiert. Jetzt können Sie sehen,
dass alle extrahiert wurden. Manchmal ist es etwas schwierig, ihre Größe zu kennen
, wenn man sie extrahiert. Aber grundsätzlich gilt auch hier: Wenn Sie eine davon
öffnen, zum
Beispiel diese, war
diese am
kniffligsten, wenn Sie den Preis
für diesen hier schreiben, anklicken und extrahieren , Sie
können ihn hier sehen. Wenn du wieder zu Grid 64 gehst, richtig, 64 ist ein guter
Ausgangspunkt. Sie können sehen, dass es nicht korrekt ist
, weil das hier leer ist. Wir brauchen keine leeren. Wenn du plus 16 schreibst, sind es normalerweise bei
jeder
Erhöhung oder Verkleinerung 16 Pixel . Und dieser
passt auch nicht. Plus 16. Nochmals, jetzt können wir sehen, dass es zu allen
passt. Okay, mach einfach weiter und
tu es für alle. Ich habe es für alle getan. Lassen Sie uns nun mit der nächsten
Lektion fortfahren und Flipbooks erstellen.
17. 3.04 Flipbooks erstellen: Ordnung, jetzt, wo wir die Sprites fertig
haben, wir weitermachen und
Flipbooks Und Flipbooks sind einfach die
animierte Version davon. Wir fügen all
diese Sprites einem animierten Stück
zusammen Der Charakter bewegt sich.
Das ist ein Flipbook. Ein Flipbook ist einfach, wenn
man eine Animation
in zwei D braucht . Lass es uns
mit dem Tod in dieser Nacht versuchen. Klicke zuerst auf das erste
Sprite und du kannst
übrigens die Texturen sehen, übrigens die Texturen sehen, sie haben hier eine rote Linie. Und wenn ich hineinzoome, kannst
du es sehen. Sie haben
hier eine rote Linie bei den Texturen, während die Sprites hier eine
hellblaue Linie oder Blaugrün haben Das ist der Sprite. Du kannst den
Unterschied zwischen
ihnen auch so sehen ihnen auch so Wenn ich auf das erste Symbol klicke, gehe
ich zu Old Shift und klicke auf das letzte
Sprite in diesem Abschnitt Ich klicke mit der rechten Maustaste gehe zu Flipbook erstellen Lassen Sie mich das
B für Flipbook nennen. Nennen wir es,
nennen wir es Tod. Wir haben dieses Flipbook, Tod. Und Sie können sehen, dass es bereits animiert ist. Ich doppelklicke darauf. Das ist die
Todesanimation für den Abend. Ein Flipbook besteht einfach nur aus den Sprites, die zu einer Animation
zusammengefügt werden Siehst du, ich kann es einfach hier unten
beenden. Das ist die Animation und das sind
all die Sprites, für die wir ein
Flipbook ausgewählt und erstellt haben. In Ordnung. Sie können auch sehen, ob
ich es noch einmal spiele, Sie können die Geschwindigkeit
der Animation hier in den
Bildern pro Sekunde steuern , ich kann sie
zum Beispiel sehr schnell auf 50 einstellen. Wenn ich nur sagen würde, dass die Frames
pro Sekunde wieder auf 15 , ist
das die Standardeinstellung, so sieht es aus. Jetzt gibt es wirklich eine Regel
dafür, wie das sein sollte. Manchmal schreibt dir der Pixilatist , was es hier
sein soll Aber manchmal
spiele ich einfach nur herum,
sehe, wie schnell die
Animation abgespielt wird, und dann mache ich das
zu meinem Spiel Ich habe es mit zehn
Bildern pro Sekunde versucht, und ich glaube, das ist genau das, was
ich mir für die Geschwindigkeit wünsche. Jetzt gibt es keine Regel. Du kannst mit 12 gehen,
du kannst mit 15 gehen, was auch immer du denkst, dass es
gut für dein Spiel ist. Ich nehme zehn für mich. Ich werde es hier schließen. Und jetzt haben wir dieses Flipbook. Jetzt können wir darauf klicken und es in den Charakter ziehen und „Hier bewegen“ auswählen, und jetzt haben wir das
Flipbook hier draußen. Der Grund, warum wir
diesen Ordner „Texturen“ erstellt haben, ist
,
dass wir uns das alles später nicht wirklich
ansehen müssen, wenn wir hier alle
Flipbooks für die Charaktere erstellen. Wir brauchen das alles nicht
im Textures-Ordner. Auch hier können Sie es nicht löschen , da dabei
Daten aus den Texturen verwendet werden. Sie können sie also nicht wirklich löschen. Ich lege sie einfach in einen Texturen-Ordner, damit ich sie mir nicht
noch einmal ansehen muss. Aber lass uns hier reingehen.
Lass uns das für alle machen. Für den Treffer klicken Sie
auf den ersten, halten die Umschalttaste
gedrückt, klicken Sie
auf den letzten, klicken Sie mit der rechten Maustaste und drehen Sie das Buch um. Ruf es nochmal an. Mach es auf, aber du kannst es später machen. Als ob du die
Bilder pro Sekunde später ändern kannst. Das werde ich vorerst nicht
tun. Fahren Sie mit dem nächsten fort, klicken Sie mit der rechten Maustaste, Flipbook. Nenn es untätig. Gehen Sie
hier zum nächsten, klicken Sie mit der rechten Maustaste. Nenn es oder ich
nenne es einfach oder statt Base, oder gehe zum nächsten hier, Rechtsklick, Flipbook. Nennen Sie es B. Ich werde nur einige davon machen damit Sie den Arbeitsablauf sehen können. Und dann mache ich
es wieder in meiner Freizeit. Klicken Sie mit der rechten Maustaste darauf.
Flip Book, nenne es. Oder untätig. Lass uns
den nächsten hier nochmal runtergehen. Ich mache das
einfach als Letztes. Rechtsklick, Flipbook. Nenn es B oder Rogue. Das ist ein Schurke, so wie dieser. Sie können hier sehen, dass sie
alle animiert sind. Okay. Ich mache
es in meiner Freizeit. Ich werde einfach Flipbooks
erstellen und dann bin
ich wieder bei dir. Jetzt habe ich
für alle Flipbooks erstellt , wie
Sie hier sehen können. Und ich werde auf
Datei klicken und alle speichern. Klicken wir nun
auf das erste, halten die Umschalttaste gedrückt und klicken hier
auf das letzte
Flipbook. Und ich werde sie
zu den Charakteren verschieben. Hier haben wir alle
Flipbooks. Lassen Sie mich jetzt die
Bilder pro Sekunde anpassen. Anstatt
es nacheinander zu tun,
was viel Zeit in Anspruch nimmt, können
Sie jetzt was viel Zeit in Anspruch nimmt, auf das
erste klicken und die Umschalttaste gedrückt halten. Klicken Sie auf den letzten
, um alle auszuwählen. Klicken Sie mit der rechten Maustaste und gehen Sie zu Asset Actions und
wählen Sie diese aus. Auswahl in der
Eigenschaftenmatrix bearbeiten, wählen Sie diese aus. Dies ist normalerweise immer dann der Fall, wenn Sie eine Einstellung
für jeden von ihnen bearbeiten
möchten. Es ist immer schön, die
Eigenschaftenmatrix zu schreiben, zu
klicken und sie
zu verwenden , um dieselben
Einstellungen für alle zu ändern. Hier im Sprite kann
ich die Frames pro
Sekunde ändern und daraus zehn machen Es kommt rein und
es macht es für alle. Fahren Sie fort und klicken Sie auf Alle
speichern, schließen Sie es. Und Sie können jetzt sehen,
dass sie in Bildern pro Sekunde tatsächlich
alle zehn sind . Das gilt nicht nur für
Flipbooks, sondern für alles. Zum Beispiel normale
Textur, bei der, sagen wir, ich möchte die Helligkeit
für alle Texturen ändern Sie könnten alle Texturen auswählen , zum
Beispiel diese. Wenn ich die Taste gedrückt halte, wähle
ich die nächste Textur aus, diese Textur und diese
Textur, die ich schreiben kann. Klicken Sie hier in den Einstellungen, zum Beispiel bei den Anpassungen, auf „Asset-Aktionen “ und „Auswahl über
Eigenschaftenmatrix
bearbeiten “. Ich könnte die Helligkeit
für alle gleichzeitig bearbeiten. Es ist immer schön zu wissen, dass es
diese Option gibt. Okay, hier sind alle
Flipbooks, die wir erstellt haben. Sie sehen alle toll aus. Wenn Sie einen von
ihnen vergessen haben, ist das kein Problem. Wir können jederzeit zurückkommen und es später als Flipbook
erstellen, aber ich glaube, ich habe sie jetzt
alle. Alles sieht toll aus. Fahren Sie fort und speichern Sie alles, und fahren wir
mit der nächsten Lektion fort.
18. 3.05 Elternkurs vs. Kind Blaupausenkurs: Nachdem wir die Flipbooks
erstellt haben, wir mit der Erstellung
der Blueprint-Klassen fortfahren Gehen wir zum Blueprint-Ordner. Lass uns
hier mit der rechten Maustaste klicken. Und lassen Sie uns einen neuen Ordner namens Enemies erstellen. Gehen wir zuerst
in diesen Ordner. Klicken Sie mit der rechten Maustaste, und jetzt können wir eine neue Blueprint-Klasse
erstellen. Lass uns weitermachen und es hier
erstellen. Anstatt diesen
Charakter für den Feind zu erstellen, handelt es sich um einen Drei-D-Charakter. Um
einen Charakter mit zwei D zu erstellen,
klicken wir einfach auf diesen kleinen Pfeil mit allen Klassen. Hier siehst
du tatsächlich mehr Klassen, die du mit der Blaupause
erstellen kannst Hier sind die normalen Klassen , die du fast ständig
erstellst Und du gehst fast nie
hierher , es sei denn, es gibt
bestimmte Dinge. Wenn du zum Beispiel
ein Spiel zum Speichern und Laden deines
Spiels erstellst , ist
es tatsächlich auch hier unten. Hier unten können wir nach Papier
suchen, das sind die zwei D
in der Unreal Engine Wir können sehen, dass er Papa-Charakter
genannt wird. Dieses Zeichen ist ein Drei-D-Zeichen, und dieses, das
Papier-Zeichen, ist ein Zwei-D-Zeichen Sie können auch sehen, dass wir noch andere
Dinge haben, die wir erstellen können, wie zum Beispiel Flipbooks, die
wir gerade erstellt haben. Sie können
Kachelmaps, Sprites usw. erstellen , aber wir
möchten einen Charakter erstellen Jetzt klicken wir darauf und fahren
fort und klicken auf Auswählen. Nun zu diesem hier nenne ich
es BP Enemy Base. Der Grund, warum ich
es Enemy Base nenne
, ist , dass dies jetzt
eine übergeordnete Klasse ist. Ich werde dir hier
in dieser Lektion erklären, was eine Elternklasse und
was eine Kinderklasse ist. Lassen Sie uns zunächst mit der rechten Maustaste
hier klicken und Sie können sehen,
dass es hier oben heißt: Create
child print class. Lassen Sie uns weitermachen und das erstellen. Nennen wir es vorerst BP Knight. Ich nenne es im Grunde nur
die Charaktere, die ich habe. Wenn ich in meinen
Charakterordner gehe, haben wir die Nacht. Lass uns auch den
nächsten erstellen. Oder ich erkläre, was
ein Blueprint-Kind ist. Rechtsklick auf die feindliche Basis, Kind
erstellen, Blueprint-Klasse Nennen wir das P Ork. Okay, lass uns weitermachen
und alles speichern. Jetzt habe ich diesen hier. Die feindliche Basis, wenn du
die Maus über die Nacht
hältst, kannst du sehen, dass die übergeordnete Klasse
die gegnerische BP-Basis ist . Das
Gleiche gilt für das Oder. Die übergeordnete Klasse
ist die feindliche BP-Basis oder hier die feindliche Basis. Wir können jetzt
die feindliche Basis öffnen. Nehmen wir an,
ich möchte in
dieser Blueprint-Klasse auf die Bewegungskomponente meines
Charakters klicken Wir haben also diese
Komponente, weil es sich hier
um einen Charakter Nehmen wir an, ich möchte ändern, wie hoch mein Charakter springen kann. Du kannst im
Detailfenster sehen, dass
du Dinge an der Bewegung,
der Schwerkraft, der
Höchstgeschwindigkeit usw.
ändern kannst . Sagen wir, die
Höhe des Sprungs, sagen
wir, mein Charakter, ich wollte viel höher springen. Wenn ich zum Beispiel hier
klicke und stattdessen 800
schreibe. Jetzt kann ich höher springen,
wenn ich auf Compile klicke. Wenn ich
das nun minimiere und zu den Blueprint-Kursen
meiner Kinder gehe , sind
diese beiden Kinder Kinder
der feindlichen Basis, weil wir sie mit der rechten Maustaste angeklickt und sie als Kinder
erstellt Was bedeutet das?
Wenn ich jetzt in die Nacht gehe und hier nachschaue und
auf die Komponente
Charakterbewegung klicke . Wenn ich auf die
Sprunggeschwindigkeit heruntergehe, die ich gerade auf
der feindlichen Basis geändert habe, kannst
du sehen, dass sie auch hier 800 ist. Wenn ich jetzt standardmäßig auf
Oder gehe und auf die
Komponente zum Verschieben
des Charakters klicke und nach unten gehe, kann
ich sehen, dass sie auch in Awesome
auf 800 gesetzt ist. Interessant. Jedes Mal, wenn ich eine Einstellung
in der feindlichen Basis
ändere, bei der es sich um die übergeordnete
Blueprint-Klasse handelt, wird
diese Einstellung, die
ich hier ändere auf alle Kinder
angewendet
, die ich dafür erstelle Und das ist eine sehr schnelle Methode und auch die
beste, mit der man arbeiten kann, weil ich sie häufig verwende Stellen Sie sich vor, Sie haben Fortnight und Sie haben viele
Skins in Fortnights Nehmen wir an,
Sie haben auch hier
in diesem Clicker 100 Feinde Sie Du erschaffst hier 100
dieser Kinder. Anstatt jedes einzelne dieser
untergeordneten Objekte zu ändern, nehmen
wir an, Sie möchten
die Schwerkraft-Skala ändern , 1.2 Anstatt
jedes einzelne untergeordnete Objekt einzugeben und den Wert auf 1,2 zu ändern, können
Sie einfach den Wert innerhalb
der übergeordneten Klasse ändern und .
Anstatt
jedes einzelne untergeordnete Objekt einzugeben und
den Wert auf 1,2 zu ändern, können
Sie einfach
den Wert innerhalb
der übergeordneten Klasse ändern und
er wird automatisch für
alle Kinder übernommen, die Sie erstellen. Dies ist eine schnelle Methode,
wenn ich auf meine feindliche Basis klicke
und einfach
auf diesen Pfeil klicke, um sie auf die Standardeinstellung 420
zurückzusetzen, und ich kompiliere und
speichere alles. Wenn ich jetzt zu meiner Nacht gehe, kannst
du sehen, dass sie ebenfalls auf
420 eingestellt ist, genauso wie bei den Orks. Das ist eine optimale Arbeitsweise, denn du kannst dir vorstellen,
wenn du 100 Feinde hast, ist
es eine Menge Arbeit, auf
jeden einzelnen dieser
hundert zu klicken und den Wert zu ändern Du kannst ihn einfach ändern, sobald du dich
in der feindlichen Basis befindest. Das ist es für den Eltern
- und Kinderunterricht. Lass uns den Rest von ihnen erstellen. Wir haben die und wir
haben die Nacht. Wir erschaffen den Schamanen. Klicke mit der rechten Maustaste auf den Feind. Bauplan für
Kinder erstellen. Nennen wir das BP, Roku. Klicken wir erneut mit der rechten Maustaste auf die
feindliche Basis. Erstellen Sie eine untergeordnete Blueprint-Klasse. Nennen Sie es BP oder Shaman. Gehen wir wieder zurück. Wir
müssen sie alle erstellen. Wir haben den Warrior und wir
haben den Roque P Warrior. Jetzt erstelle ich sie einfach viel schneller als zuvor, weil
es einfach dasselbe Wir machen es immer wieder. Das Skeleton Mag und
die Skeleton Base, ich nenne es
einfach BP Skeleton. So wie das. Skeleton
und das Skeleton Mag. Magazin Skeleton Mal sehen, was uns fehlt. Wir haben den Skeleton Rogue
und den Skeleton Warrior. P Skeleton Rogue, BP
Skeleton Warrior. Vergewissere dich nur
, dass du mit der rechten Maustaste auf die feindliche Basis klickst
und sie erstellst Um sicherzugehen, dass du
immer mit der Maus darüber fahren kannst und die richtige Klasse ist die gegnerische
Basis. Klicken Sie hier mit der rechten Maustaste darauf und erstellen Sie den
letzten Eintrag mit dem Namen BP Wizard. Nur um zu überprüfen, ob ich etwas
verpasst habe. Der Zauberer ist der
letzte und das war's. Ich weiß, dass ich 11 Charaktere habe. Klicken Sie einfach hier, halten Sie die Umschalttaste gedrückt und
klicken Sie auf den letzten. Sie können sehen, dass Sie 11
ausgewählt haben und das ist richtig. Ich habe hier 11 Charaktere. Okay, lass uns auf
Datei klicken und Alles speichern. Jetzt haben wir sie alle erstellt. Und das sieht gut aus, also sind wir bereit,
in der nächsten Lektion weiterzumachen.
19. 3.06 Das Feind-Kurs-Setup abschließen: Lasst uns den Feind erledigen. Lass uns jetzt zur Nacht gehen. Wir müssen sie eins nach dem anderen öffnen. Wir öffnen
zuerst den Abend, hier drinnen. Wenn Sie mit
Blueprint-Klauseln noch nicht vertraut sind, haben Sie
im Grunde genommen Sie haben verschiedene Komponenten. Zum Beispiel der Sprite. Lass uns vorerst zum
Aussichtspunkt gehen. Hier im Viewport, genau wie im Viewport
hier im Spiel. Im Viewport für
die Blueprint-Klausel können
Sie Dinge visuell können
Sie Zum Beispiel das Sprite, wir haben nichts angewendet Und das werden wir tun.
Lassen Sie uns das jetzt tatsächlich tun. du
auf dieses Monster klickst, siehst
du, dass es ein Flipbook
braucht Es ist eine Animation, weil es
ein Charakter ist , den wir hier geschaffen haben Es braucht eine animierte Figur, die auf das Flipbook
klickt. Let, das ist die Nacht. Wir müssen die Nacht
im Leerlauf wählen. Lass uns weitermachen und es auswählen. Sie können es entweder
so auswählen oder auf das Sprite
klicken Du kannst
hier in die Charaktere klicken und ziehen, du kannst das anklicken
und ziehen und es
hier oben ablegen. Das funktioniert auch. Jetzt können Sie visuell sehen, Sie können sich bewegen, genau wie im
Viewport normal Du kannst jetzt sehen, dass wir diesen Charakter
haben. Wenn du darauf doppelklickst, der Framer pro Sekunde Ich habe
es für dieses nicht geändert. Ich glaube, ich habe vergessen, es zu ändern. Lassen Sie mich einfach alle auswählen. Ich glaube, ich habe es schon einmal geändert. Wie auch immer, wähle sie alle aus. Wenn Sie
dasselbe haben, klicken Sie mit der rechten Maustaste und gehen Sie zu Asset-Aktionen. Es ist die Auswahl in der Eigenschaftsmatrix. Ich gehe zu Sprite
und ändere die Bildrate pro Sekunde auf zehn
Bilder pro Sekunde Lass uns rausgehen und
es schließen. Anstatt in
jeden einzelnen von ihnen zu gehen und die Frames
pro Sekunde auf zehn zu ändern, mache
ich das einfach,
indem ich alle auswähle. Klicken Sie mit der rechten Maustaste auf die Eigenschaftsmatrix
und machen Sie es hier so. Sie könnten die
hellen Bilder pro
Sekunde ändern . Schnell, ich weiß nicht. Ich glaube, ich habe es schon einmal gemacht. Vielleicht mein
Motorwappen, ich bin mir nicht sicher. Aber jetzt haben wir das. Gehen wir zurück zum Blueprint-Glas Lass es uns wieder öffnen.
Ich gehe zu Blueprints In der Nacht, in der
wir gearbeitet haben, machen sich Feinde breit. Gehen wir zu den Viewports. Hier kannst du meinen Abend sehen. Hier sieht alles
viel besser aus. Okay? Im Viewport können
Sie Dinge visuell sehen Und innerhalb des Ereignisdiagramms
fügen Sie den Code hinzu, zum Beispiel bei
Bewegung und so weiter Konzentrieren wir uns vorerst nicht darauf, gehen
wir zum Viewport
innerhalb von hier. Wir müssen es für
jeden einzelnen von ihnen tun. Wir müssen das Flipbook zuordnen. Gehen wir zum Klick hier oben. Öffnen Sie den vollständigen Blueprint-Editor. Diese Ansicht wird angezeigt, weil Sie diesen
Blueprint
noch nicht bearbeitet Öffnen wir sie, klicken auf
den Sprite und weisen ihm das Oder zu. Wenn du zum Beispiel einfach nach Orc suchst und dieses oder
Idle auswählen kannst Wenn Sie zum Darstellungsfenster gehen, können
Sie sehen, dass es korrekt
aussieht Hier ist es, okay, großartig. Du musst es für
jeden einzelnen von ihnen tun. Ich werde dir nur diesen
zeigen und dann werde ich es alleine
machen. The Orc Rogue, klicke auf Sprite oder gehe zum Schurken
und wähle das nur darauf, dass du für jedes einzelne von
ihnen das Idol auswählst für jedes einzelne von
ihnen das Idol auswählst Ich werde es einfach
für den Rest von ihnen tun. Okay. Das war der letzte. In jedem einzelnen von ihnen habe ich
den Charakter einfach
so zugewiesen und es
sieht schon aus wie ein Spiel. Fantastisch. Auch wenn wir noch nicht viel
gemacht haben, werde
ich einfach
auf jeden einzelnen von ihnen
klicken und ihn kompilieren . Das ist eine gute Praxis. Es würde momentan nicht viel
ändern,
zu klicken und zu kompilieren. Aber es ist immer schön, sich einfach so
daran zu erinnern. Übrigens, auch
gut zu wissen Sie können auf diese drei
Punkte klicken und speichern und kompilieren,
und Sie können auf
diesen Punkt klicken, Erfolglos. Das einzige, was das macht, ist, dass jedes
Mal, wenn ich auf Kompilieren klicke, es automatisch
hier gespeichert wird, anstatt, sagen
wir, ich habe hier einen
Wert wie diesen geändert. Anstatt zu kompilieren und dann zu speichern,
können Sie einfach kompilieren Sie können den Stern sehen, das
bedeutet, dass er nicht gespeichert ist. Wenn Sie auf Kompilieren klicken, wird
es automatisch ebenfalls gespeichert. Das ist wirklich nett. Normalerweise setze ich das nur auf erfolglos. Sie können auch
alles speichern, wenn Sie möchten. Im
Moment nicht wirklich notwendig. Okay, hier sind wir. Lass uns jetzt etwas anderes machen. Diese Kapsel hier ist die
Kollision für diesen Charakter. Wir brauchen
Kollisionen nicht wirklich, weil die Charaktere in
der Umgebung einfach still
stehen. Was wir tun können, ist, alles zu
schließen. Lasst uns die feindliche
Basis für diese Kapsel öffnen. Nur damit es nicht so groß ist. Es geht darum zu wissen
, dass es so groß und der Charakter so klein
ist. Normalerweise passt es zum Charakter. Anstatt auf
diese Kapselkomponente zu klicken und den Wert hier in
der Kapselhöhe und
dem Kapselradius so
zu
ändern der Kapselhöhe und , dass er so zum
Charakter passt. Anstatt dies für
jedes einzelne Zeichen zu tun,
denken Sie daran, dass ich nur auf diesen Pfeil
klicken werde , um ihn zurückzusetzen. Denken Sie daran, dass wir standardmäßig die feindliche Basis
haben, die die übergeordnete Klasse ist. Gehe zum Viewport. Ich werde einfach hier klicken
und versuchen, es so
auf 12 mal 12
zu setzen und zu kompilieren Und jetzt kannst du
sehen,
wie es in der Nacht aussieht , weil es jetzt automatisch für jeden einzelnen von ihnen geändert wird. Sie haben all diese
Einstellungen angewendet. Lassen Sie mich einen Blick darauf werfen und
so sieht es aus. Diesen verwenden wir, wenn du mit der Maus klickst
und dem Feind Schaden zufügst. Ich werde es
etwas größer machen, damit wir den Feind viel leichter treffen
können. Vielleicht machen wir es statt 12 mal 16 mal 16. Lass uns das versuchen. Wir können es
immer vergrößern, wenn die Trefferbox zu
klein ist, 16 mal 16. Sieht gut aus für die
Kapselkomponente. Ich werde darauf klicken. Ich gehe
hier in die Kollisionseinstellungen
und sage „Überlappungsereignisse generieren“. Nein, nein, hier wegen der Kollision, wir müssen später eine
Kollision hinzufügen. Aber vorerst klicken wir einfach
hier und sagen „Keine Kollision“, können wir es später
benutzerdefiniert machen. Geh und kompiliere und
speichere alles. Jetzt ist für jede einzelne
dieser Blueprint-Klassen auch
die Kollision auf
„Nicht“ gesetzt Was das Sprite angeht, stell einfach
sicher, dass es
keine Kollision in der feindlichen Basis Denken Sie auch hier an die
Sprites der gegnerischen Basis bei der Kollision. Ich setze hier ein, keine Kollision und alles
sieht toll auch bei der Komponente der
Charakterbewegung
darauf, dass die Schwerkraft
Null ist, damit wir nicht herunterfallen. Diese maximale Beschleunigung ist Null. Wir können die maximale
Gehgeschwindigkeit auf Null setzen. Alles sieht gut aus. Ich glaube, wir
müssen nicht wirklich viel ändern. Lassen Sie uns hier kompilieren.
Lasst uns alles speichern. Und das war's für die Feinde. Sie können immer einen von ihnen ziehen. Zum Beispiel das Skelett. Sie können
das Y so eingeben, dass es Null ist. Wir bringen es nach
vorne und hier ist es. So
sieht es aus, wenn Sie auf „
Denken Sie daran“ klicken, ist die Spielansicht. Sie können also darauf klicken, um
die Symbole auszublenden , und Sie können
sehen, wie es aussieht. Sie können mit der
rechten Maustaste auf den Player klicken und die Kamera
steuern. Sie können hier auf F 11 klicken
, um das Darstellungsfenster zu maximieren. Denken Sie daran, dass 11 bedeutet, wenn ich hier klicke, es ist der immersive Modus 11, wir maximieren den Viewport Wenn Sie die
Position der Kamera ändern möchten, können
Sie jederzeit
hier klicken und
die Position der
Kamera so ändern , dass sie zentriert wird Ich kann
hier den Drehpunkt der Kamera sehen. Du kannst es so ändern,
dass es auf den Charakter passt. Sie können zum Beispiel auf 11
klicken, um zu maximieren. Ich schaffe es sogar so
weiter nach unten. 11 hier ist mein Charakter animiert und alles
sieht toll aus. Ich möchte jedoch auf meinen Charakter
oder meine Spielerkamera
klicken. In der Kamera werde ich hier einfach
640 schreiben. Stattdessen werde ich nur ein bisschen rauszoomen. Ich denke, es ist ein bisschen
zu groß herangezoomt. Ich glaube, das war viel zu
vergrößert. Lass mich einfach versuchen, mit der
rechten Maustaste zu klicken und es zu stapeln. Und klicken Sie auf 11. Und so sieht es aus, sieht viel besser aus als zuvor. Und ich bin mit den Ergebnissen zufrieden. Lassen Sie mich auf diese Schaltfläche klicken , um die Kamera wieder zu verlassen. Ich werde hier klicken.
Lösche das vorerst. Ja, alles
sieht gut aus. Wir haben die Gegner
jetzt in Blauprint-Klassen eingeteilt. Lassen Sie uns jetzt weitermachen
und alles speichern. Lass uns mit dem nächsten weitermachen.
20. 3.07 Die Player-Kamera als Standard anwenden: Was wir jetzt tun müssen, bevor wir fortfahren, ist
sicherzustellen, dass die Spielerkamera Spiel
betrachtet,
wenn wir das Spiel spielen Denn du kannst sehen,
wenn ich auf „Spielen“ klicke, dass das Spiel von dem Punkt aus betrachtet wird, an dem ich mich gerade
im Viewport befinde Und es benutzt nicht wirklich unsere
Kamera, die wir hier eingerichtet haben. Lassen Sie uns weitermachen und das tun. Klicken Sie auf diesen BP-Player
und löschen Sie ihn, denn was Sie jetzt
tun müssen, ist hier oben zu klicken. Gehen Sie stattdessen zu Basic und wählen Sie diese Komponente aus, die als
Player-Startstart-Komponente
bezeichnet wird . Wenn ich
es jetzt nach vorne ziehe, kannst
du sehen, dass es einen Pfeil hat. Ich muss es hier drehen. Klicken Sie auf das
Drehwerkzeug und drehen Sie es so, dass der
Pfeil auf die Karte zeigt. Der Start ermöglicht es dem Spieler
, hier zu
spawnen, wo ich es eingestellt habe Jetzt musst du nur noch sicherstellen, dass innerhalb
des Spielmodus,
wenn du in den Spielmodus gehst und alles innerhalb des Spielmodus in
den
Klassenstandards speicherst,
sicherstellst , dass die Standard-P-Klasse,
du sie von der Standardklasse abänderst, weil wir den BP-Spieler zum
Spawnen als unseren Spieler verwenden
wollen Die
Standard-Punktklasse ist BP-Player und kompiliere und speichere
alles, wenn du willst Du kannst auch sichergehen, dass die
Standardpunktklausel auch BP-Player ist,
indem du hier in den Projekteinstellungen auf Projekteinstellungen
bearbeiten klickst
und dort zu den Karten und Modi gehst. Dies sollte automatisch geschehen
, wenn du dich für
den Spielmodus sowie für die Einstellungen
innerhalb der Welt entscheidest. Auch hier gilt: Wenn du
die Welteinstellungen nicht geöffnet
hast, kannst du hier oben auf Fenster klicken die Welteinstellungen
öffnen Aber hier
im Spielmodus kannst
du hier unten auf
diesen Pfeil klicken und du kannst sehen, kannst
du hier unten auf
diesen Pfeil klicken dass der BP-Spieler
die Standardklausel ist. Auch hier sollte das alles
automatisch übernommen werden , wenn
du es hier änderst Mach dir darüber keine Gedanken. Aber es ist immer
schön zu wissen, dass es hier korrekt sein muss und dass es auch
in den Projekteinstellungen korrekt sein muss. Wenn ich jetzt auf Play klicke, wird
der BP-Player als Standardklasse verwendet, um in
der Welt zu
spawnen Wenn ich auf 11 klicke, sieht es so aus Was du tun kannst, ist, dass du
immer auf die
Starts des Spielers klicken kannst und du kannst X,
Y und Z ändern . Ich kann sagen, dass
es
sich hier nicht wirklich ändert, weil ich glaube es liegt daran, dass ich dort spiele. Wenn ich es einfach nach unten bewege
und auf Abspielen klicke, kannst
du sehen, dass
sich die Position ändert. Du kannst immer versuchen, es hier zu
zentrieren, was auch immer. Weil der Feind vielleicht auf dieser Seite spawnen wird
. Und ich werde es
etwas mehr zur Seite bewegen. Lass uns auf Play klicken. Es ist
nicht wirklich wichtig. Ich denke, das ist vorerst in Ordnung. Wir werden
es auch später reparieren, aber das ist gut für mich. Lass uns auf Datei klicken
und alles speichern. Und jetzt verwenden
wir jedes Mal, wenn
wir auf Play klicken, diesen Spawner,
um die Kamera zu starten Und wir spielen aus dieser Ansicht. Speichern Sie alles
und fahren wir mit
dem nächsten fort .
21. 4.01 Den Feind-Spawn-Punkt erstellen: Was wir jetzt tun können, ist den Spawnpunkt
für den Feind hinzuzufügen , denn jetzt ist es an der Zeit, den Feind in der Welt
erscheinen zu lassen Lassen Sie uns dazu
einen Spawnpunkt erstellen. Die Art und Weise, wie wir
einen Spawnpunkt erstellen können. Jetzt denkst du vielleicht, du könntest einen weiteren
Spielerstart
hinzufügen und versuchen, den Startort dieses Spielers festzulegen, um den Feind zu spawnen Aber das ist nur für
den Spieler und es wird verwirrend, wenn
ich auf Play klicke Jetzt
benutzt es tatsächlich dieses, und wenn ich
erneut auf Play klicke, benutzt es dieses. Es wechselt ständig zwischen
diesen und wird verwirrt. Lass uns
jetzt stattdessen diesen zweiten für die
Spawnpunkte löschen , lass uns auf die Blueprints klicken Und lass mich mit der rechten Maustaste klicken
und einen neuen Ordner erstellen. Nennen wir es
Spawnpunkte. Lass es uns öffnen. Lass uns mit der rechten Maustaste klicken und
eine neue Blueprint-Klasse
als Spawnpunkt erstellen eine neue Blueprint-Klasse
als Spawnpunkt Machen wir einfach einen ganz
einfachen
Namen namens Actor Base oder einfach
Actor und klicken darauf Nennen wir das
BP Spa Point Base. Auch hier mache ich normalerweise
Blueprint-Kurse, weil ich gerne Blueprint-Klassen für
Kinder erstelle , die wir später verwenden können Wenn wir
einen bestimmten Wert für alle ändern müssen, können
wir das im
Hauptmenü, also den Eltern, tun. Aber vielleicht müssen wir nicht
mehr als einen
Punkt für Spanien erstellen , ich bin mir nicht sicher. Aber es ist immer schön,
eine Basis zu erstellen, klicken Sie mit der rechten Maustaste hier. Dies ist auch der Fall, wenn
Sie ein größeres Spiel entwickeln. Sie sind sich nicht sicher, ob Sie
mehr als einen Spanien-Punkt benötigen. Aber es ist immer schön,
ein übergeordnetes zu erstellen , weil Sie es später vielleicht bereuen werden, wenn
Sie es nicht erstellen und Sie
alle erneut erstellen müssen. Lass uns hier mit der rechten Maustaste klicken und
einen Blueprint-Kurs für Kinder erstellen. Nennen wir es EP
Enemy Spa Point. Jetzt kann ich
das anklicken und in die Welt ziehen. Lass uns das Y auf Null setzen. Es ist hier vorne. Du kannst den Feind spawnen,
wo immer du willst. Zum Beispiel kannst du den Feind
hier spawnen. Was auch immer gerade nicht so
wichtig ist, wenn ich auf Spielen klicke, spawnt der
Feind Okay, jetzt haben wir den Spawnpunkt
erstellt. Lassen Sie uns vorerst alles speichern. Lasst uns auf diesen
gegnerischen Spawnpunkt klicken. Stellen Sie sicher, dass wir keine Einstellungen ändern
müssen. Wir
haben nicht wirklich viel. Sie können hier in den Komponenten
sehen, wir haben nur das Symbol, das wir nicht haben, das wir
hier machen können , weil wir nichts hinzugefügt
haben. Das müssen wir nicht. Ich benutze
nur diesen Schauspieler. Finde den Standort
und die Rotation in der Welt, damit wir den Feind spawnen
können Okay, das war es
für den Spawnpunkt. Und lass uns mit dem nächsten
weitermachen.
22. 4.02 Spawn Schauspieler des Kurses: Der Sinn von all dem
ist jetzt , dass wir den Feind spawnen müssen Und wie bringen wir
Dinge in die Welt? in Unreal Engine Lassen Sie uns das in Unreal Engine
im Player Controller machen Also, was ich normalerweise
im Player Controller mache , ist, Dinge in die
Welt zu bringen Wenn es ein Charakter ist,
muss ich spawnen, wenn es eine Waffe ist, ich muss spawnen, wenn es eine
Goldmünze ist, ich muss Das alles geschieht innerhalb
der Kontrolle des Spielers. Öffnen wir es und
gehen wir zum Event-Graph. Weil ich jetzt programmieren möchte. Übrigens, Sie können die rechte
Maustaste gedrückt halten und sich hier bewegen. Lassen Sie mich einfach beide auswählen. Drücken Sie auf meiner Tastatur auf Löschen. Und lass uns hier anfangen. Wenn du anfängst
zu programmieren, musst
du dir im Grunde überlegen,
was muss ich tun? Okay, ich muss es aufschlüsseln. Okay, ich muss hier einen Feind
spawnen. Das ist es, was ich will.
Was muss ich tun? Ich muss die Hauptfunktion verwenden, die verwendet wird
, um Dinge zu spawnen Ich klicke mit der rechten Maustaste. Wenn du nicht
weißt, wie es heißt, kannst
du es jederzeit
zum Beispiel spawnen Du kannst versuchen,
einen Blick darauf zu werfen und herauszufinden , welcher am besten zu deinem passt Es sind nicht all diese Castings, die Funktionen wurden hier gestoppt, Sie können sehen, dass sie aufgerufen wurden, das
sind die Funktionen, die Sie verwenden können. Wenn du nicht weißt,
wie es heißt, suche
einfach nach dem Wort. Ich muss zum Beispiel
etwas spawnen . Ich
suche nur nach Spawn Eigentlich dieser eine
Spawn-Darsteller aus dem Unterricht, ich werde ihn hier anklicken Das ist die Funktion, die Dinge für uns hervorbringen
wird Um nun Code innerhalb einer
anfälligen Engine
auszuführen , benötigen
Sie ein Ereignis Ohne ein Ereignis können Sie keinen Code
ausführen, wenn Sie klicken
und hier nach Ereignissen suchen. Falls ich ihn hier finden kann. Event-Dispatcher,
es ist nicht hier oben. Wenn ich hochgehe, kann ich
tatsächlich diesen, es ist ein Ereignis in der Werbeveranstaltung Sie können sehen, dass dies die
Symbole für die Ereignisse sind. Und Sie haben viele Ereignisse, mit denen Sie Ihren Code starten
können. Zum Beispiel
ist Begin Play am einfachsten. Wenn Sie darauf klicken, können Sie sehen, dass Ereignisse rot und Funktionen blau markiert sind. Das rote hier, Beginplay sagt einfach, dass
es sich um ein einfaches Event
handelt Was sollte passieren, wenn ich
anfange, das Spiel zu spielen? Wenn du hier klickst
und es verbindest. Wenn Sie jetzt auf Play klicken, wird
diese Funktion hier ausgeführt. Ohne ein Ereignis können Sie die Codierung nicht auf einer echten Engine
ausführen. Wir müssen diesen
einen Spawn-Akteur verwenden anstatt ein normales Ereignis zu verwenden Lassen Sie uns mit der rechten Maustaste klicken und
ein benutzerdefiniertes Ereignis erstellen. Lassen Sie uns einfach ein benutzerdefiniertes Ereignis erstellen. Der Unterschied besteht darin Sie
dem benutzerdefinierten Ereignis
einfach einen benutzerdefinierten Namen geben können. Ich nenne es einfach Spawn M. Das
wollen wir machen Ich werde es
hier verbinden und los geht's. Für diese Spawn-Funktion müssen
wir definieren, was
wir spawnen müssen Zum Beispiel
müssen wir den Schurken spawnen,
wir müssen den Krieger spawnen und so weiter Jetzt kommt es wirklich darauf
an, auf welchem Level du bist, denn in Clicker
Heroes zum Beispiel hängt
es wirklich von mir ab, in
welchem Level In Level eins willst du vielleicht den Krieger
spawnen und Level zwei willst du vielleicht den Ok Shaman spawnen Wir können also nicht wirklich angeben
, welchen wir
spawnen wollen, anstatt hier nur
anzugeben, was wir spawnen
wollen, hängt vom hier nur
anzugeben, was wir spawnen
wollen, hängt spawnen
wollen, Ich werde diesen Pin hier anklicken und in
die Funktion
ziehen und
wir können uns später entscheiden Anstatt es Klasse zu nennen, nenne
ich es Feind
, den wir hier spawnen wollen Das ist die Variable, die wir hinzugefügt haben. Wirklich coole Sache, diese
Spawn-Transformation auch. Wir können es hierher ziehen. Aber anstatt eine Variable zu
erstellen, können
Sie entweder
hier auf das Ereignis klicken und auf das Plus klicken
und die Variable erstellen. Zum Beispiel kann ich hier auf
den Variablentyp klicken und Transformation
auswählen,
genau wie bei dieser. Und ich kann sie miteinander verbinden. Ich kann es so machen, oder wenn ich dieses wieder lösche, kann
ich es einfach wie zuvor anklicken und
ziehen, es in das Event einfügen und es wird automatisch für
mich erstellt. Sehr coole Methode,
da ich den Feind spawnen werde Nun zur Spawn-Transformation, es hängt wirklich davon ab, wo sich
dieser Spawnpunkt befindet. Ich werde einfach beide in das
Event einbeziehen. Wenn wir dieses Event später verwenden, können
wir angeben, wo sich der
Spawnpunkt befindet und wir können auch angeben, welchen
Feind wir spawnen möchten Aber im Moment können wir uns hier nicht
wirklich entscheiden. das Spawnen angeht, klicke ich hier und sage, versuche den Standort anzupassen, aber spawnen Sie immer,
um sicherzustellen, dass mein Feind hier drüben spawnen wird.
Es ist immer schön,
eine Variable darüber zu haben, welchen
Feind Sie
gespawnt Es ist immer schön,
eine Variable darüber zu haben , welchen
Feind Sie Ich klicke mit der rechten Maustaste darauf und mache
daraus eine Variable Ich werde das Spawn nennen
. Feind. Okay, wir
spawnen
einfach einen Feind und speichern diese
Information dann in einer Variablen, die wir später verwenden können Weil es
wirklich nett ist, diese zu verwenden, wenn wir etwas
mit diesem generierten Feind machen müssen Wir haben diese Daten
in einer Variablen Okay. Das ist die
einfache Funktion, der Spawn-Akteur der Klasse Sie können hier sehen, ob
ich dieses Ereignis
später aufrufe , weil Sie diesen Code nicht ausführen
können Wenn ich also auf Play klicke,
erwarte nicht, dass der Code ausgeführt wird, denn in Unreal Engine musst
du
in der Engine angeben, musst
du
in der Engine angeben wann du dieses Event ausführen
möchtest Ich kann zum Beispiel hier mit der
rechten Maustaste klicken und meinem Spawn-Feind suchen Event, Spawn-Feind. Und du kannst es hier sehen
und es heißt Anruffunktion. Also kann ich darauf klicken und meinen Code Spawn Enemy
nennen. Ich kann es hier aufrufen,
wann immer ich es anrufe, ich kann dann diesen Code ausführen Wenn ich nur Begin,
Play schreibe, nur um dir den Anfang zu zeigen, ist
Play das einfachste Ereignis.
Ich kann es hier verbinden. Immer wenn ich anfange, das Spiel zu
spielen , wird
es dieses Event aufrufen, das
dann diesen Code hier ausführt. So passiert es.
Nehmen wir zum Beispiel an, ich möchte den Zauberer spawnen Lassen Sie mich zunächst diesen nehmen,
anstatt einen Wert zu schreiben, lassen Sie mich ihn nehmen und sagen, dass ich selbst eine Transformation nur manuell vornehmen
werde Wir werden es nicht so
machen, aber ich werde es Ihnen nur
zeigen,
lassen Sie uns zum Beispiel die Position
dieses Spawnpunkts kopieren Ich sage 170 mal
Null mal -120 Hier an
der Stelle 1700 -120 werde
ich kompilieren Wenn ich jetzt auf Spielen klicke, kannst
du sehen, dass mein Feind an diesem
bestimmten Ort erschienen
ist Es ist der Zauberer
, der all
diese Funktionen hervorgebracht hat , oder
so nennen wir Ereignisse Du musst eine Veranstaltung haben. Du führst diesen Code aus,
sagst es der Engine, führst meine Spawn-Enemy Events Und es wird deine Events mit
den angegebenen Dingen
ausführen , die du hier angegeben
hast Ich möchte den Zauberer
zum Beispiel an diesem Ort spawnen zum Beispiel an diesem Es wird diese
Informationen hier, hier einfügen. Und es wird den Feind
spawnen und
ihn in einer Variablen speichern Lassen Sie uns das jetzt löschen.
Wir brauchen es nicht. Ich wollte es dir gerade zeigen. Lass uns alles kompilieren und
speichern. Gehen wir jetzt in den Spielmodus. Wir können es immer von
hier aus spawnen, von Beginn des Spiels an. Aber nur um den Code
etwas sauberer zu machen, lassen Sie uns den Feind
im Spielmodus spawnen Nun, da wir diesen Code haben, mit
dem wir den Feind spawnen, lassen Sie uns den Code
im Spielmodus ausführen Da der Spielmodus die
Spielregeln festlegt, ist
es sauberer,
es hier drinnen zu machen Aber im Einzelspielermodus
spielt es eigentlich keine Rolle. Ob du den Feind
von hier aus spawnst oder den Feind von hier aus
spawnst ,
ist nicht wirklich wichtig Aber nur um einen saubereren Code zu erstellen, machen
wir das im Spielmodus Ich werde es
im Startspiel machen. Ich werde einfach dieses
auswählen und es hier
löschen. Lass uns ziehen und nach einem
Spawn-Feind suchen. Du kannst hier sehen,
wenn du das tust, du kannst nichts sehen Das liegt daran, dass dieser
Spielmodus jetzt nicht erkennt was Sie in
dieser anderen Blueprint-Klasse erstellt haben dieser anderen Blueprint-Klasse Denkt daran, dass es sich dabei um zwei
verschiedene Blueprint-Klassen handelt. Jetzt müssen Sie sich tatsächlich mit
etwas befassen, das als
Blueprint-Kommunikation bezeichnet wird Muss mit einer
anderen Blueprint-Klasse kommunizieren, da dieser Spielmodus dies vom
Play-Controller aus verwenden muss Play-Controller aus verwenden Wir müssen etwas namens
Casting verwenden , um
mit diesem anderen Blueprint zu kommunizieren Und das werden wir in
der nächsten Lektion tun.
23. 4.03 Blueprint-Kommunikation – Casting: Jetzt kommen wir zur
Blueprint-Kommunikation. Und jetzt müssen wir mit dem
Spieler-Controller innerhalb des Spielmodus
kommunizieren Spieler-Controller innerhalb des , um
dem Spieler-Controller
oder hier
im Spielmodus mitzuteilen, dass er
diesen
Spawn-Feind benutzen und als Feind bezeichnen soll Um das zu tun, lassen Sie uns hier unten mit der
rechten Maustaste klicken und sagen
, rechten Maustaste klicken und sagen worüber Sie sich
Gedanken machen müssen worüber Sie sich
Gedanken machen müssen, womit Sie
kommunizieren müssen Ich muss mit
dem Player-Controller kommunizieren. Lass uns nach dem
Player-Controller suchen. Wir brauchen diese Funktion namens Get Player Controller. Wir bekommen diesen
Standard-Layer-Controller von Unreal Engine Jetzt müssen wir
hier sagen, dass wir diesen speziellen
Controller
verwenden müssen , den wir erstellt haben Wir müssen diesen
Standard-Player-Controller nicht verwenden. Wir müssen direkt
von hier aus sagen: Besetzung zwei. Das ist Casting. Sie teilen der
Engine mit, dass Sie diesen benutzerdefinierten
Controller verwenden
möchten. Sie müssen
den Namen für PC Dungeon Clicker schreiben PC Dungeon Clicker Mach weiter und verbinde es. Was wir
hier machen ist, dass wir den
Standard-Player-Controller nehmen auf diesen
PC-Dungeon-Clicker Im Grunde sagen wir also, dass wir Dinge innerhalb
unseres eigenen benutzerdefinierten Player-Controllers verwenden
wollen unseres eigenen benutzerdefinierten Player-Controllers anstatt diesen von hier aus Wir können jetzt alles, was wir hier
erschaffen,
diesen Spawn-Feind nennen hier
erschaffen,
diesen Spawn-Feind Dann kann ich jetzt zum Beispiel
von hier wegziehen und Spawn Enemy sagen Jetzt kann ich es benutzen.
Denken Sie daran, dass Sie nicht
einfach klicken und Spawn Enemy
sagen können , weil
es nicht angezeigt wird Es wird nur angezeigt, wenn
du von hier ziehst und
Spawn Enemy sagst , weil
es sich hier drinnen befindet Und jetzt kannst du es tatsächlich benutzen. Jetzt kommunizieren Sie
mit diesem Bauplan. Das Problem
beim Casting ist jedoch, dass Sie in Unreal Engine harte Referenzen
erstellen Wenn du ein Spiel
erstellst und ein großes Spiel
erstellst, kannst du dir vorstellen, wie oft
du Casting verwendest , weil du mit
vielen Bauplänen gleichzeitig
kommunizierst vielen Bauplänen gleichzeitig Davon hast du eine Menge
. Das ist jetzt ein Problem, weil es harte Referenzen
erzeugt. Und was harte Referenzen sind,
ist, dass Sie
diese Referenzen
jedes Mal laden müssen , wenn Sie das
Spiel starten. Manchmal siehst du wenn du ein altes Spiel
öffnest und es
etwa 15 Sekunden lang geladen wird , bevor dir das Hauptmenü
angezeigt wird. Das liegt daran,
dass es alle harten Referenzen lädt , bevor es überhaupt starten
kann.
Das ist wirklich schlimm. Ich sage nicht, dass du Casting nirgends verwenden
solltest, aber benutze es einfach, benutze es
nicht überall. Benutze es, wo immer du es findest. Es ist gut, es zu benutzen, um es zu erreichen. Mit der Erfahrung werden Sie
wissen, wann Sie Casting verwenden
möchten. Und warum nicht versuchen,
Casting so weit wie möglich zu vermeiden? Also lass mich
dieses Casting jetzt einfach löschen, oder lass es einfach hier
sein. Lass mich einfach Alt drücken und die Verbindung trennen. Hier. Lass
es mich vorerst nach unten verschieben. Anstatt Casting zu verwenden, verwenden
wir jetzt etwas, das als
Blueprint-Schnittstellen bezeichnet wird Lassen Sie uns mit
der nächsten Lektion fortfahren und sehen, was
Blueprint-Schnittstellen
24. 4.04 Blueprint-Kommunikation - Schnittstellen: In Ordnung, kommen wir zu den
Blueprint-Schnittstellen. Nun, dieses Thema ist für viele Anfänger
schwierig, aber ich werde versuchen, es wie
immer so gut ich kann
zu erklären, um es Ihnen zu erklären Um hohe Referenzen
beim Casting zu vermeiden, verwenden
wir Blueprint-Schnittstellen Klicken wir zunächst mit der rechten Maustaste hier und erstellen Sie einen neuen Ordner
namens Interfaces Bleiben wir hier
drinnen organisiert. Lass uns jetzt mit der rechten Maustaste klicken. In Blueprint sehen Sie
etwas, das als
Blueprint-Schnittstelle bezeichnet wird Lassen Sie uns weitermachen und es erstellen. Normalerweise nenne ich es als Anfänger die Leute nennen es BPI für Blueprint Interface.
Lass uns das tatsächlich machen Nennen wir es BPI,
Blueprint Interface. Nennen wir das hier. Der Name ist das worauf Sie sich beziehen
wollen, mit
was auch immer Sie kommunizieren
möchten. In diesem Fall versuche ich,
eine Funktion von meinem
Player-Controller aus zu verwenden . Ich werde diesen einen
PI-Controller nennen .
Darauf möchte ich mich beziehen. Lass es uns öffnen. In einer Blueprint-Oberfläche können
Sie sehen, dass Sie ein Viewport haben Sie können wirklich nichts tun. Da steht nur Lesen, du kannst hier nichts ziehen oder so. Das Einzige, was du tun kannst, ist Funktionen
hier an der Seite zu
erstellen. Lass uns hier auf die
erste Funktion klicken. Lassen Sie mich auf
zwei klicken, um sie umzubenennen. Lassen Sie mich das „
Get Play Control Reference“ nennen . Holen Sie sich die Referenz zur Spielersteuerung. Genau das versuche ich zu tun. Ich versuche,
die Referenz für
den Player-Controller zu bekommen , damit ich alles verwenden kann, was darin enthalten ist. Genau wie das, was wir beim Casting
gemacht haben, kann
ich diese
Funktion hier verwenden . Gehen wir zurück zur Benutzeroberfläche. Die
Player-Controller-Referenz finden Sie hier. Ich möchte hier eine
Ausgabevariable erstellen. Jetzt ist
der Variablentyp der auf den Sie verweisen
möchten. Ich versuche, auf meinen Player-Controller
zu verweisen. Ich muss hier unten
danach suchen, nach PC-Controller suchen, wir nannten ihn PC,
Net Player-Controller. Wir nennen PC Dung Clicker. Lass uns darauf klicken.
Lass uns das einfach so
in Play Controller umbenennen. Lassen Sie uns kompilieren und wir sind
alle hier fertig. Das einzige, was wir
erstellt haben, ist diese Referenzfunktion zum
Abrufen des Player-Controllers. Und wir haben der Ausgabe hier eine Variable
namens
Player-Controller hinzugefügt . Wir werden dies verwenden, um diesen
Player-Controller hier zu definieren. Nachdem wir nun
die Blueprint-Schnittstelle erstellt haben, gehen
wir nun
zum Player-Controller
und in den Klasseneinstellungen müssen
wir diese
Schnittstelle hier hinzufügen. Klicken wir in
den Klasseneinstellungen auf, suchen
wir nach dem BPI und fügen wir den
Player-Controller Beachten Sie nun, wenn Sie den
Player-Controller hier in
der Benutzeroberfläche hinzufügen , dass
Sie hier tatsächlich eine Leiste erhalten, die
als Schnittstellen bezeichnet wird Und Sie können diese
Funktion zum Abrufen der
Player-Controller-Referenz sehen , die Sie gerade erstellt haben, die Liste, doppelklicken Sie darauf. Und hier ist sie,
du kannst sie bearbeiten. Was Sie hier tun
müssen, ist einfach per
Drag-and-Say es
einfach per
Drag-and-Say selbst hierher zu ziehen. Jetzt haben wir eine Selbstreferenz. Selbstreferenz
bedeutet im Grunde, dass wir diese
Spielersteuerungsvariable definieren. Weil ich auf
Alt klicke und hier klicke , um die Verbindung zu trennen. Wenn
wir das nicht getan wissen wir, was diese Variable
ist, sie ist leer, haben,
wissen wir, was diese Variable
ist, sie ist leer,
hat keine Informationen, aber wir wissen nicht wirklich, dass es
dieser Player-Controller ist , in dem
wir uns gerade befinden. Das ist es, was
Selbstreferenz bedeutet. Wenn wir das einstecken,
haben wir dieser Variablen
einen Wert gegeben. Wir sagen
dieser Variablen im Grunde, dass der Player-Controller,
über den
wir sprechen , eigensinnig ist. In welchem Plan
wir uns auch gerade befinden, das ist eine Selbstreferenz. Lassen Sie uns jetzt weitermachen, damit es
nicht verwirrend wird. Und ich werde den gesamten
Prozess erklären, wenn wir fertig sind. Nun, da wir
das getan haben, lassen Sie uns es schließen. Lass uns den Spielmodus öffnen. jetzt wie zuvor an, Nehmen wir jetzt wie zuvor an, holen Sie sich den Player-Controller und holen Sie sich den
Standard-Player-Controller. Anstatt zu casten, können
wir jetzt die
Controller-Referenz ziehen und sagen. Jetzt können Sie sehen, dass dies
von der Blueprint-Oberfläche stammt. Es ist auch eine
Blueprint-Schnittstellenfunktion. Wenn Sie diese Nachricht am
Ende sehen, klicken wir darauf. Das bedeutet auch
dieses Symbol. Es bedeutet, dass es von
einer Blueprint-Schnittstelle stammt. Lass uns weitermachen und es verbinden. Lassen Sie uns von hier aus den Drag & Sage „Feind
spawnen“ sagen , genau wie zuvor Und jetzt können wir
alles nennen, was darin ist. Jetzt siehst du, wann ich
zum Player-Controller gehe. Und wenn ich eine neue
Variable hinzufüge, die
zum Beispiel Enemy we save heißt . Haufen. Jetzt im Spielmodus kann
ich
von hier aus Regie führen
und sagen, Gegner töten. Und jetzt können Sie sehen, dass ich
diese Variable sehen kann , die ich gerade erstellt habe. Was auch immer ich hier erstelle
, ich kann jetzt mit
dem Player-Controller kommunizieren und alles von dort aus
verwenden. Okay, lass mich einfach
den ganzen Prozess erklären , bevor
ich dieses Video beende. Wenn Sie es bereits
verstanden haben, können
Sie mit der nächsten Lektion fortfahren. Ich werde diesen einfach
löschen. Also werde ich nur den ganzen Prozess
erklären. Also ist es leicht zu verstehen. Zunächst haben wir diese
Blueprint-Oberfläche mit einem Rechtsklick
erstellt Und im Blueprint haben wir die
Blueprint-Schnittstelle erstellt. In dieser Schnittstelle haben wir gerade eine Funktion
namens Get Player
Controller Reference erstellt namens Get Player
Controller Weil wir die
Player-Controller-Referenz abrufen wollen. Was auch immer Sie referenzieren müssen, Sie müssen eine Variable erstellen
und den Variablentyp festlegen. Hier ist, worauf
Sie verweisen möchten. Wir versuchen, auf
diesen Player-Controller
namens PC Dungeon Clicker zu verweisen diesen Player-Controller
namens PC Dungeon Clicker diesem Grund
habe ich ihn hier
im Variablentyp auf PC Dungeon Clicker gesetzt Suchen Sie einfach hier danach, PC Dungeon Clicker, und
Sie finden Okay, gib ihm einfach einen Namen. Ich habe es gerade
Player Controller genannt. Und denk daran zu kompilieren. Wenn Sie nicht kompilieren,
wird es hier nicht angezeigt. Denken Sie also daran, alles zu kompilieren und zu
speichern. Jetzt musst du diese
Blueprint-Schnittstelle
zum Player-Controller hinzufügen , denn darauf versuchst
du hier zu verweisen Wir sind in die Cloud-Einstellungen gegangen und haben die
Blueprint-Oberfläche hinzugefügt Wenn Sie dies tun,
erscheint die Funktion hier links Sie öffnen diese
Funktion hier drinnen. Wir haben im Grunde
eine Selbstreferenz erstellt denn wenn du die Verbindung
trennst und kompilierst und versuchst, das hier im
Spielmodus zu tun, wenn du auf Play klickst, bin
ich mir nicht sicher,
ob ich jetzt eine
Fehlermeldung erhalte. Das wird es, weil
wir das
beim Start des Spiels ausführen und
es mir eine Ära geben wird. Es wird sagen, dass kein Zugriff möglich ist. Ich versuche, die Eigenschaft zu lesen und Spieler-Controller-Referenz im Spawn-Feind Wenn ich hier darauf klicke,
klicke ich auf dieses. Lass es mich einfach minimieren,
damit es dir angezeigt wird, wenn ich hier rüberfahre und auf diesen Spawn-Feind
klicke Die Ära ist da. Da steht Access. Ich versuche, die Eigenschaft zu lesen und Player-Controller-Referenz abzurufen. Es heißt Access non,
was bedeutet, dass ich
keine Informationen von dem habe , was
Sie mir geben wollen. Ich versuche, ihm diesen Player-Controller
als Referenz zu geben. Aber es sagt nichts. Das bedeutet, dass es hier keinerlei
Informationen gibt. Und ich kann damit nichts anfangen weil
wir
bei der Spielersteuerung, in den Blueprint-Schnittstellen, in den Blueprint-Schnittstellen, dieses Selbst nicht miteinander verbunden Denn wenn es leer ist, weiß
die Engine nicht
wirklich, was dieser Play-Controller
ist. Wir müssen es sagen. Der Player-Controller, von dem ich
spreche, bin ich hier. Der Player-Controller.
Dieser Blueprint-Kurs ich gerade schon teilnehme Nachdem wir
es jetzt im Spielmodus definiert haben, können
wir dieses
Blueprint-Interface jetzt aufrufen Aber zuerst müssen wir daraus
den
Standard-Player-Controller abrufen ,
dieser bezieht sich auf die
Play-Controller-Referenz. Aber von hier aus können wir
von der Blueprint-Oberfläche aus
auf alles zugreifen Denken Sie daran, dass
wir
im Play-Controller diese
Selbstreferenz hier erstellt haben Er weiß, über welchen
Play-Controller wir sprechen. Okay, ich weiß, dass es für Anfänger etwas
verwirrend ist, aber glauben Sie mir, das Konzept ist
sehr, sehr einfach. Wenn Sie nur 23 Mal
damit üben, versuchen Sie, das
Ende des Videos erneut anzusehen. Versuchen Sie vielleicht einfach,
es zu verstehen. Wir werden das
in diesem Kurs
mindestens fünfmal machen , sodass Sie auch andere Beispiele
sehen werden, nicht nur den Play-Controller, sondern wir werden auch andere
Beispiele sehen Ich lasse dich das auch zuerst
machen, bevor ich es mache, damit du auch hier etwas
üben kannst. Aber vorerst sind wir fertig. Wir haben
das verbunden. Sie können hier jedoch sehen, dass wir
den Spawn-Standort benötigen Wir müssen den Feind
an diesem Ort hier spawnen. Anstatt
einen statischen Wert zu erstellen, wie zum Beispiel durch Ziehen und
Aufrufen von Transform einen
statischen Wert zu erstellen, können
wir hier einfach einen Wert schreiben Wir wollen wissen, wo
dieser Spawnpunkt ist. Wir müssen diesen Feind spawnen. Je nachdem, wo sich
der Spawnpunkt befindet, werden
wir das in der nächsten Lektion tun
25. 4.05 Die Spawn-Punkt-Werte erhalten: Hier habe ich
das Projekt
erneut geöffnet und jetzt sagt es mir
wieder, dass Nenite aktiviert ist,
aber nicht rendern kann weil das Projekt
Nani in einem I deaktiviert hat. Und ich erinnere mich, dass wir
Nanite jetzt in den
Projekteinstellungen deaktiviert haben , anstatt Anite hier in der Konsole 2047 zu schreiben der Konsole 2047 Jedes Mal, wenn
Sie
das Projekt schließen und erneut
öffnen, wird diese Meldung angezeigt Stattdessen möchte ich, dass Sie
in Ihren Projektordner gehen und ihn in Dokumenten finden. Und wenn Sie zu den
Unreal Projects gehen, hier Ihre Unreal
Engine-Projekte gespeichert Dann gehe
ich in den
Dungeon Clicker und möchte, dass du die Konfiguration öffnest und diese
namens Default Engine I Ich möchte, dass
du hier eine findest
, oder? eine findest
, oder Project enabled ist hier unten gleich
False. Ich werde
hier
meinen benutzerdefinierten Code anstelle des
Konsolenbefehls schreiben . Lass es uns hier schreiben. Nt ist gleich Null. Ich möchte, dass du Folgendes schreibst
, R ist gleich Null. Lass es uns speichern. Ich verwende übrigens Notepad Plus Plus. Sie können Ihren
normalen Texteditor verwenden. wirklich egal, was Sie verwenden, wenn Sie einfach R n
schreiben, entspricht
Null. Lass es uns schließen Lassen Sie uns auch dieses
Projekt schließen. Lassen Sie mich erneut
versuchen, mein Projekt auszuführen und zu sehen, ob die Nachricht
weg ist. Und sie sollte weg sein. Es sollte nicht
da sein. Da haben wir's. Die Nachricht wird nicht mehr
erscheinen. Okay, großartig. Anstatt hier wollen
wir jetzt Wert
des Spawnpunkts Denken Sie daran, wo
wir im Modus aufgehört
haben, wir haben das Blueprint-Interface erstellt Wir nannten das
Spawn-Feemy-Funktion oder Event, besser gesagt, wir nannten dieses Ereignis sich innerhalb
des Player-Controllers Dieser. Lassen Sie mich übrigens
meine UI-Skala noch einmal erhöhen , denn jedes
Mal, wenn ich die Engine schließe, muss
ich sie hier tatsächlich
auf 1,25
erhöhen , damit Sie besser sehen können Ich hoffe, ich vergesse es nicht. Lass uns wieder öffnen. Hier und hier siehst du den Spawn-Feind. Das ist das Event, das wir im Spielmodus
aufgerufen haben. Jetzt müssen
wir
ihm sagen, wo wir diesen Feind spawnen
wollen Das ist die Spawn-Transformation.
Wie machen wir das? Wir müssen dahin gelangen, wo
das auf der Welt ist. Jetzt gibt es eine Funktion, die
Sie verwenden müssen, und sie
heißt Actor of Class. Actor of Class ist
eine Funktion, etwas
abgerufen wird, das bereits
in die Welt eingeführt wurde Da ist zum Beispiel dieser
feindliche Spawpoint, den wir kriegen können. Wenn du das Spiel „Spieler der Klasse
holen“ öffnest, wenn du hier klickst und
nach einem Spawn suchst,
dann kannst du sehen, dass du BP für einen gegnerischen Spawpoint
bekommen kannst Oder du kannst dir die
BP-Spawpoint-Basis holen und so weiter. So kannst du dir
diese Blaupausen besorgen. Wenn du zum Beispiel einen Plan bekommst, der
nicht erzeugt wurde, sagen
wir, ich nenne BP Night, das ist die Nacht, die wir
erstellt Sagen wir, hol dir den Abend zum Star of Class und ich spiele das Spiel Es wird dir einen Fehler geben. Das liegt daran, dass die Nacht
ein Teich in der Ebene ist. Das sind all die Dinge, die
wir in unserem Level haben. Die Spieler starten das
Post-Process-Volumen, die Kachelkarte und
den gegnerischen Spawpoint Was wir tun können, ist, nach einem feindlichen Spa-Punkt zu
suchen. Dieser eine feindliche Spa-Punkt. Wir holen uns diesen Schauspieler. Was können wir mit dem machen? Lass es uns tatsächlich
in das Startspiel integrieren. Bevor wir das alles hier machen, lass mich das hier entlang ziehen
und ich werde
das hier so platzieren und ich werde es verbinden. Was wir hier tun wollen, ist, dass
wir einfach mit der rechten Maustaste klicken und das zu einer Variablen heraufstufen. Nennen wir es feindlichen Spawnpunkt. Jetzt haben wir es in
einer Variablen gespeichert und
verbinden es Jetzt können wir diese
Variable hier verwenden. Nehmen wir diese Variable, ziehen sie hierher
und klicken Sie auf Get. Oder Sie können die Steuerung gedrückt halten
und sie per Drag & Drop ziehen. Es wird es automatisch bekommen. Sie können auch Alt gedrückt halten, Alt
gedrückt halten und ziehen. Und es wird diese Variable setzen anstatt einfach
per Drag-and-Click auf Get zu klicken. Und stellen Sie entweder die Taste
gedrückt halten und ziehen oder die Alt-Taste gedrückt halten und ziehen. Jetzt haben wir diesen
feindlichen Spinpoint. Und sagen wir nochmal, wenn Sie nicht wissen, wie
die Funktion heißt, suchen Sie
einfach nach dem Wort Ich
möchte die Transformation bekommen. Sie erhalten entweder die
Position dieser Variablen, dieses Akteurs, den Standort
des
Schauspielers. Sie können das verwenden, Sie
können von hier aus weiterleiten, Sie können sehen, dass Sie sie nicht
wirklich verbinden können. Aber es wird das
für dich konvertieren , auf einer echten Engine
wird es das für dich konvertieren. Jetzt ist es so nicht ganz
korrekt. Sie können von
hier aus Regie führen und Transform sagen. Und wenn du eine Transformation
durchführst, dann zerlegst du diese Transformation. Denn wenn Sie nicht wissen,
was eine Transformation ist,
dann ist es das, was eine Transformation ist. Sie können es tatsächlich
hier im Detailbereich sehen. Wenn Sie auf etwas klicken, sehen
Sie die Position, Drehung und Skalierung eines Elements. Das ist die Transformation. Die Transformation kann in Position,
Drehung und Maßstab
unterteilt werden. Diese orange Farbe
ist die Transformation. Du kannst es so aufschlüsseln. Und Sie können den
Acta-Standort hier verbinden. Und es wird gut funktionieren. jedoch kürzer zu machen es jedoch kürzer zu machen, können Sie dies
tatsächlich löschen. Und Sie können hierher ziehen und
nach Transformation suchen, und Sie können auch die
Acta-Transformation abrufen Manchmal
musst du vorsichtig sein, weil es sowohl die Position,
die Rotation als auch den Maßstab berücksichtigt und mit diesen Werten den
Feind beeinflusst Wenn du auf dieses Objekt klickst, wird die Position angezeigt, was Ordnung
ist. Ich möchte hier spawnen. Es bekommt auch die Rotation , die 000 ist, was in Ordnung ist Stellen Sie sich vor, dieser Akt
hätte diese Rotation, sagen
wir, er hätte diese
zufällige Rotation. Das wird auf deinen Charakter
angewendet. Seien Sie vorsichtig, wenn Sie
Get Actor Transform verwenden. Manchmal hast du für
dieses Asset
eine solche Rotation festgelegt , die du nicht auf deinen Charakter
anwenden möchtest. In diesem Fall solltest du
dir einen Standort von selbst bestimmen. Sie können die Drehung
selbst verwenden, wenn Sie nicht möchten, dass die Rotation
von hier aus erfolgt, und Sie sagen Transformation
durchführen, und Sie können stattdessen die Position
verwenden. Und dann können Sie
die Drehung einfach auf 000 belassen. Aber in unserem Fall
ist die Skala eine, die in Ordnung ist. Die Zeichenskala ist ebenfalls eins. Die Rotation ist
000, was in Ordnung ist. Und das ist der
Ort, den wir mit dem Get-Act
transformieren
wollen, völlig in Ordnung ist, in diesem Fall hier.
Jetzt haben wir es. Lassen Sie uns einfach kompilieren und geben
wir ihm einfach einen Feind, zum Beispiel den Ork Mal sehen, ob der Ork tatsächlich
spawnt, das ist hier drüben
, der Fc hier drüben
, der Man kann sehen, dass der Ork tatsächlich
spawnt. Fantastisch. Es funktioniert. Wir können jetzt hier spawnen. Wählen wir zum Beispiel
das Skeleton Mag. Wenn ich auf Play klicke, denke
ich, anstatt auf Play zu klicken und immer
so zu minimieren, um zu sehen, ob es funktioniert, spiele
ich lieber hier. Sehen wir uns das Spielen als
neues Editorfenster an, es öffnet sich für mich und es ist auf meinem zweiten Monitor
aufgetaucht Aber im Grunde ist das hier, das ist der Skelettkamerad, und es funktioniert einwandfrei Okay, das Laichen funktioniert. Nun, was wir definieren müssen, welchen Feind wir spawnen
wollen Nun, dieser ist etwas komplexer,
weil, wie ich schon sagte, jedes einzelne Level im
Clicker-Spiel seinen eigenen Feind hat Level eins hat zum Beispiel
diesen Kerl hier, Level
zwei hat diesen Wir müssen definieren, welches
Level welchen Feind hat. Wir können hier nicht einfach nur
einen bestimmten Feind angeben. Um das zu tun, müssen wir ein paar Dinge
lernen. Strukturen, Daten,
Tabellen, Bibliotheken. Aber es wird eine Menge Spaß machen und es kann auch
auf Ihre zukünftigen Spiele angewendet werden. Konzentrieren Sie sich auf
die nächsten paar Lektionen. Sehr, sehr wichtige
Dinge stehen bevor. Lass uns mit dem nächsten weitermachen.
26. 4.06 Einführung in Strukturen: Ordnung, willkommen.
Und jetzt werden wir eine
Einführung in Strukturen haben. Wenn Sie nun bereits wissen,
was eine Struktur ist, können
Sie mit der nächsten Lektion fortfahren. Und wenn Sie nicht wissen,
was eine Struktur ist, fangen wir hier an. Gehen wir zu den Feinden über. Nun zu den Feinden, lasst uns zur feindlichen Basis gehen. Denken Sie daran,
wenn ich in der feindlichen Basis etwas erstelle, wenn ich eine Variable erstelle
und
zum Beispiel Feindgesundheit sage, dann ist der
Variablentyp, den wir setzen, ein Float. Da ein Float
ein numerischer Wert
mit einer
Dezimalstelle ist , wenn ich kompiliere, kannst
du ihn
hier rechts sehen. Wenn ich auf die
Variable Gesundheit des Feindes klicke. Und ich kann sie
zum Beispiel auf
25,6 setzen, was auch immer das ist,
die Gesundheit des Feindes Jetzt kann ich auch eine neue machen. Nennen wir es zum Beispiel Feindtyp. Die Art von Feind, mit der wir es
hier zu tun
haben . Wir können
ihm einfach einen Namen geben, was auch immer. Wir können viele Variablen haben. Wir können die
Gesundheit des Feindes, den Feindtyp, den Namen des Feindes, die Leerlaufanimation des
Feindes,
die Todesanimation des Feindes haben. Sie können sehen, dass wir hier unten eine
Menge Variablen
für den Feind haben können , die diesen Feind
definieren. Um es jedoch
sauberer zu halten, verwenden wir Strukturen. Anstatt das
Ganze mit Variablen zu füllen, lassen Sie uns versuchen, Strukturen
zu verwenden. Lassen Sie mich diesen löschen. Und
lösche auch diesen. Kompilieren Sie, lassen Sie mich das minimieren. Gehen wir zum
Blueprints-Ordner. Klicken Sie mit der rechten Maustaste und
erstellen Sie einen neuen Ordner. Nennen wir das Strukturen. Gehen wir rüber, klicken wir mit der rechten Maustaste, gehen wir zum Bauplan und schon sehen
Sie, dass es sich um eine sogenannte Struktur handelt Machen Sie weiter und erstellen Sie,
ich nenne es ST oder Struktur Nennen wir es Feindinfo. Diese Struktur enthält Daten über diesen Feind.
Lass es uns öffnen. Okay, hier sind wir
innerhalb einer Struktur. Das einzige, was wir tun, ist hier Variablen zu
erstellen. Hier in den Feindinformationen können wir den Namen des Feindes
angeben, wir können die
Gesundheit des Feindes angeben, wir können angeben, auf welcher Stufe
er spawnt, und so weiter Wir können hier viele Variablen
angeben, die diesen Feind
definieren Anstatt
alle Variablen hier unten zu haben, können
wir
sie stattdessen hier haben. Und es ist viel besser, es so
zu verwenden, es ist jetzt besser organisiert. Das ist eigentlich genau das, was eine Variable oder was eine
Struktur ist, und Sie können die Standardwerte
oder die Variablen sehen , die
Sie erstellt haben. Sie können sie hier sehen. Sehr einfach. Dies ist gesamte Datenstruktur die einige Variablen enthält
, die Sie verwenden können. In diesem Fall definieren wir Daten
des Feindes,
die Feindinformationen. Lassen Sie uns zur
nächsten Lektion und die Feindinformationen ausfüllen.
27. 4.07 Level-Info und feindliche Info-Strukturen: Ordnung,
lassen Sie uns für
die Feindinformationen einige Variablen definieren, die wir für Feinde verwenden werden Der erste ist der
Name des Feindes. Für diesen werde ich es
auf eine Zeichenfolge setzen. Wenn Sie nun den Unterschied
zwischen einer Zeichenfolge und einem Text nicht
kennen , wenn Sie eine Zeichenfolge auswählen und auf Speichern
klicken und
zu den Standardwerten wechseln, können
Sie sehen, dass eine Zeichenfolge
im Grunde eine Textzeile ist. So können wir den
Namen des Feindes schreiben. Ein Text ist aber auch eine
Textzeile , in die Sie den Namen des
Feindes
schreiben können . Was
ist also der Unterschied? Der Unterschied besteht darin, dass ein Text
lokalisierbar ist und Sie können auch sehen, dass, wenn Sie
die Maus darüber halten, eine lokalisierbare
Textzeichenfolge angezeigt
wird Lokalisierung bedeutet, dass Sie dies in
verschiedene Sprachen übersetzen
können , wenn
Sie möchten, dass Ihr Spiel auf Deutsch oder auf Chinesisch,
Japanisch, Russisch oder was auch immer sein soll Japanisch, Russisch Du kannst
dein Spiel übersetzen, wenn dein Dialog oder
dein Charaktername mit einer Textvariablen
erstellt wurde. Wenn der Name
des Charakters nun mit einer Zeichenkettenvariablen erstellt wurde, kann
er nicht übersetzt werden. Vielleicht würdest du sagen, warum verwenden
wir nicht einfach Text wie für alles, da wir ihn
übersetzen können und
alles gut wird. Das liegt daran, dass mehr
Speicher als eine Zeichenfolge verwendet wird. Wir verwenden Zeichenketten, wenn Sie nicht wirklich lokalisieren müssen,
was auch immer Sie tun Ich muss den Namen
des Charakters nicht übersetzen. Ich behalte es einfach als Zeichenfolge. Ich möchte
mein Spiel auch nicht übersetzen. Wenn du es übersetzen möchtest, zum Beispiel, wenn dein
Charaktername Skeleton ist. Skeleton kann in viele Sprachen übersetzt
werden. Wenn Sie das übersetzen möchten, müssen
Sie stattdessen Text auswählen. Behalte das einfach im Hinterkopf. Was auch immer Sie als Text
tun, möchten Sie es
in eine andere Sprache übersetzen oder
möchten Sie es in derselben Sprache behalten
, in der Sie dieses Spiel programmieren? Ich werde einfach eine Zeichenfolge auswählen. Ich will nichts
übersetzen. Was wir auch
hinzufügen wollen, ist die Klasse. Die feindliche Klasse ist P M Base. Suchen Sie also nach PPN M base und wählen Sie
die Klassenreferenz Falls ihr nicht wirklich wisst,
was eine Klassenreferenz
ist, wenn ihr den
Spielmodus öffnet, dann ist es wieder einmal
das, woraus wir
hervorgegangen sind , eine Klassenreferenz für
Schauspieler Das kannst du sehen, wenn du mit der
Maus darüber fährst. Das ist also die Klassenreferenz, wir brauchen sie, um die
Klassenreferenz
der Feinde zu definieren und wir können diese
Information hier einfügen. Als Nächstes benötigen
wir den Feindtyp. Mit welcher Art von Feind haben
wir es zu tun? Ist es ein normaler
Feind? Ist es ein Boss? Wir können dem Spiel einen
Busmechaniker hinzufügen. Anstatt einfach
alle als normale Feinde zu haben, können
wir auch einen Busfeind haben Machen wir einen Feindtyp. den Feindtyp angeht, muss
ich einen
sogenannten Enumerator verwenden, dem wir nicht wissen,
was genau das ist Lassen wir es vorerst einfach
so, kann ich es dir in der
nächsten Lektion beibringen. Lass uns weitermachen. Lasst uns vorerst
den Feind gesund machen. Und dieser ist einfach ein Festwagen. Und ein Float ist wiederum eine
Zahl mit einer Dezimalstelle. Lass uns erneut auf das Plus klicken. Und wir wollen die Animation im Leerlauf. Inaktive Animation für
diesen Charakter. Das ist einfach ein Flipbook. Denken Sie daran, ein Flipbook ist eine animierte Version
dieses Charakters hier, bei dem es sich um ein Flipbook aus Papier handelt. Lass uns ein neues machen. Auch hier wollen
wir die Hit-Animation. Es ist wieder ein Flipbook. Lass uns ein neues hinzufügen. Wir wollen auch
die Todesanimation. Das ist ein Flipbook. Okay, das sind alle Daten
, die wir für den Feind benötigen. Und wir sind hier eigentlich
fertig. Bevor wir fertig sind, lassen Sie uns auch die andere
Struktur erstellen, die als Level-Info bezeichnet wird. Wenn ich zur Struktur gehe und
mit der rechten Maustaste klicke, erstelle ich Blueprint
eine neue Struktur in einer neuen Struktur Nennen wir das One Level Info. Okay, lassen Sie uns
diese Level-Info öffnen. Nun, was ich in den Level-Informationen
tun musste, wir müssen im Grunde definieren welcher Feind
auf welchem Level spawnt Grundlegend brauchen wir hier das Level
, das nur eine Zahl ist. Es ist eine Ganzzahl, jetzt ist
es kein Float, es ist keine Zahl
mit einer Dezimalstelle. Da die Stufe eins,
Stufe zwei,
Stufe drei ist ,
brauchen wir hier nicht wirklich eine Dezimalstelle. Stattdessen können Sie
eine Ganzzahl verwenden, die
eine Zahl ohne
Dezimalstelle ist , wie Sie hier sehen können. Verwenden Sie eine Ganzzahl als Ebene
und erstellen Sie dann eine neue. Und wir brauchen den Namen des Feindes. Der Name des Feindes ist
wieder eine Zeichenfolge. Auf welchem Level oder welcher Feind
auf welchem Level spawnt, müssen
wir das Level schreiben Level eins ist
zum Beispiel Level zwei ist der Orcam, Level drei ist der
Krieger und so weiter Das müssen wir später definieren. Jetzt haben wir die
Struktur dafür. Wir haben die Struktur
für die Level-Informationen. Wir haben die Struktur
für die Feindinformationen. In der nächsten Lektion
wollen wir etwas über die
Aufzählung lernen, damit wir
diesen Feindtyp hier beenden können
28. 4.08 Den Feindtyp Enum erstellen: In Ordnung, schauen wir uns die
Aufzählungen an. Weil hier in der Struktur. Wenn ich also zu den Strukturen
zurückkehre und die Feindinformationen öffne, haben wir das
als Feindtyp bezeichnet. Wir müssen definieren, was es ist, und wir müssen
eine Aufzählung erstellen Jetzt könnten wir einfach hier für
den Feindtyp klicken und eine Zeichenfolge erstellen Jetzt können wir hier
definieren, ob dieser Feind
ein normaler Feind ist oder ob dieser
Feind ein Feind im Spiel ist. Ich möchte
normale Feinde und Feinde haben , die Bosse sind Okay? Anstatt eine
Zeichenfolge zu erstellen und sie hier zu schreiben, ist es besser, eine Aufzählung zu erstellen.
Mal sehen, was es ist Lass uns zu Blueprints gehen. Klicken Sie mit der rechten Maustaste, erstellen Sie einen neuen
Ordner, nennen Sie ihn Oms. Lass es uns hier öffnen. Klicken wir mit der rechten Maustaste auf „
Gehe zu Blueprints“. Und Sie haben diese Methode, die als Aufzählung bezeichnet wird . Fahren Sie
fort und klicken Sie darauf Nennen wir es
Feindtyp. Lass es uns öffnen. O Enumeration, sehr einfach, ist nur eine Liste von allem, was
Sie erstellen möchten Es kann eine Liste von Lebensmitteln sein, zum Beispiel Tomaten,
zum Beispiel Tomaten, Cola, Ketch Up, was auch immer Es kann eine Liste von allem sein,
indem ein Listenelement hinzugefügt wird, und Sie können alles
hineinschreiben Es kann auch eine Liste von
Waffen sein , die du für einen
Ego-Shooter baust. Es kann AK 47 sein, es kann eine 41 sein, es kann ein Deagle sein
und was auch immer Sie aufzählen
wollen , es ist
einfach nur eine Liste von Gegenständen In diesem Fall
möchte ich eine Liste des Feindes oder
des
Feindtyps für unsere Feinde erstellen oder
des
Feindtyps für unsere Feinde Wir haben normale Feinde Wenn ich wieder hier
klicke und
wir haben Boss-Feinde, kannst
du auch
andere Typen erstellen , wenn du ein größeres Spiel
hast, wenn du schon deine
Idee für dein Spiel hast. Du kannst zum Beispiel
legendäre Gegner,
Loops, legendäre Gegner haben . Du kannst auch epische
Feinde haben und so weiter. Du kannst also mehr
Feinde haben, aber für mich habe ich nur
normale Feinde und Bossfeinde, die wir retten können. Lassen Sie uns nun diese Liste schließen. Jetzt kann ich hier im Typ danach
suchen. Wenn ich für
den Feindtyp darauf klicke, suche ich nach dem Feindtyp, das ist meine Aufzählung und ich
kann weitermachen und darauf klicken und speichern. Jetzt haben wir
diesen Feindtyp, und wenn du auf
die Standardwerte
klickst, kannst du hier sehen, dass er besser ist
als eine Zeichenfolge, denn jetzt hast du eine Liste, aus der
du auswählen kannst, was sehr cool ist Das ist viel besser, als das Ding ständig
abzutippen . Wir können es jetzt aus
der Liste auswählen , ob es ein Boss ist
oder ob es ein normaler Boss ist. Okay, wir
müssen hier nicht wirklich etwas definieren, denn für jeden einzelnen Feind werden
sie alle ihre
eigenen Informationen haben. Für all diese Dinge müssen
wir uns vorerst nicht auf die
Standardwerte
konzentrieren. Mach weiter und speichere alles. Und das war's mit
den Aufzählungen. Fahren wir mit
der nächsten Lektion fort.
29. 4.09 Einführung in Datentabellen: Ordnung,
bevor wir fortfahren, möchte
ich Ihnen die Datentabellen vorstellen Nachdem wir unsere
Strukturen erstellt haben , müssen
wir auch Datentabellen erstellen. Wenn ich zum Ordner
Blueprints gehe, klicke
ich mit der rechten Maustaste auf Neuen Ordner erstellen und nenne diesen Ordner Datentabellen Ich klicke hier, mit der rechten Maustaste. Jetzt sind die Datentabellen
nicht mehr in den Blueprints enthalten. Es ist tatsächlich hier unten im Verschiedenes und Sie können
es hier finden, Datentabelle Du klickst darauf und
wählst aus, von welcher Struktur
du sprichst. Ich möchte nur
eine für meine Feindinformationen erstellen, wir müssen auch
eine für die Levelinformationen erstellen. Aber lass uns einfach einen
für die Feindinformation machen. Klicken Sie vorerst auf.
Okay, nennen wir es zum Beispiel DT meine
Infodatentabelle. Meine Informationen. Und lass es uns öffnen. Okay, was ist eine Datentabelle? Eine Datentabelle ist
diejenige , die tatsächlich
jeden einzelnen Feind definiert. Zum Beispiel die Leerlaufanimation, die Trefferanimation usw. Also haben wir eine Struktur erstellt, aber jeder einzelne Feind hat seine eigenen Werte dieser
Variablen in der Datentabelle. Ich kann
hier in der Zeile auf D klicken. Sie können hier sehen, dass dies
die neue Zeile ist. Und du kannst sogar den
Namen für die Zeile ändern , zum Beispiel den Zeilennamen, du
kannst sie einfach so
nennen oder was auch immer du willst. zum Beispiel für den
ersten Charakter Wenn ich zum Beispiel für den
ersten Charakter zu Assets-Charakteren gehe, ist
der erste Charakter die Nacht. Was ich zum
Beispiel tun kann, ist, dass ich hier die Klasse
des Abends
auswählen kann . Und ich kann auswählen, welche Art
von Feind die Nacht ist. Es ist ein normaler Feind. Wie viel hat er? Nehmen wir an, es hat 100 Lebenspunkte. Jetzt muss ich die
Edlin Imation dafür auswählen. Ich muss die
Hid-Animation dafür auswählen, und ich muss auch
die Todesanimation dafür auswählen Jetzt habe ich all
diese Informationen und kann wieder auf
das Plus klicken. Für den nächsten möchte ich
zum Beispiel mein Oder definieren. Ich kann schreiben, dieser
Typ heißt Ork. Es ist die BP Or-Klasse. Zum Beispiel ein Boss, er hat 500 Lebenspunkte und das
sind alle Animationen
dafür und so weiter. Jeder einzelne Feind hat also seine eigenen Werte und du kannst sie jetzt nutzen, um es viel schneller zu
machen. Anstatt
dies in der Engine zu tun, können
wir es in
Google Sheets tun. In einem Google-Blatt können
wir das viel schneller machen. Und auch Leute, die keine
Spieleentwickler sind , können
dort arbeiten, zum Beispiel Spieledesigner. Gehen wir zur
nächsten Lektion über und schauen wir uns an, wie wir das in Google Sheets
machen können.
30. 4.10 Level-Info und Feind-Info-Datentabellen: Ordnung, lassen Sie uns weitermachen und Google
innerhalb von Google öffnen, direkt in Ihrem Laufwerk Und du kannst es
hier in Drive finden. Gehen Sie einfach in Ihr Laufwerk, klicken Sie mit der
rechten Maustaste auf eine beliebige Stelle, machen Sie
eine neue Faltung oder was auch immer. Aber erstelle
hier ein Google Sheets und erstelle eines. Ich nenne diesen
einen beleuchteten Tisch oder was auch immer. Du kannst es nennen,
wie du willst. Okay, hier klicke ich gerne auf Control, um alles auszuwählen. Ziehe die Spalten einfach nach unten damit ich mehr Platz
zum Arbeiten und Steuern habe.
Wähle alles aus und mache
daraus eine Wähle alles aus und mache
daraus andere Schrift, auf die ich hier klicken
kann, horizontale Linie, Mitte,
diese und diese. Ich
fange einfach damit an und wähle
den oberen Teil aus und klicke auf Fett. Jetzt bin ich bereit, mein Dokument zu
verwenden. Jetzt ist das alles optional. Sie
müssen das alles nicht wirklich tun. Was ich hier zuerst tun muss,
ist die ID zu schreiben. Wir brauchen eine ID, weil
man
in Unreal Engine eine ID haben muss können Sie nicht wirklich, das
ist die ID, der Name Ron, Sie können
dieses Google-Sheet nicht wirklich verwenden . Wenn
du keinen Ausweis hast. Das ist notwendig. Wir müssen alle Variablen
für unsere Struktur
schreiben. Wenn ich zurückgehe und meine Feindinformationen
öffne, muss ich
das hier schreiben. Ich muss den Namen schreiben, Typ
Feind. Lass uns wieder hierher gehen. Feindtyp, du musst
es speziell so schreiben. Du kannst es nicht anders schreiben. Du musst
es genau
so schreiben , wie du
es geschrieben hast. Drinnen hier. Inaktiv, schlag ihn. Das ist falsch, Gesundheit, untätig,
und der letzte ist Tod. Okay. Jetzt haben wir das. Jetzt können wir die
Informationen hier unten definieren. der ersten, die ich habe, habe ich mir das nur durch den Kopf gedacht. Der erste, den ich hier
schreiben möchte, ist der Oder. Der zweite ist der Schurke. Jetzt kannst du diese Feinde
in beliebiger Reihenfolge haben in beliebiger Reihenfolge haben Du musst
die Reihenfolge nicht wie ich haben, aber ich will
sie so haben oder Sam, wir haben den Zauberer. Dann haben wir das Skeleton. Dann haben wir Skeleton, Roe, Skeleton Warrior wie
diesen und Skeleton Mag. Dann haben wir The
Roe und The Night. Wir haben 11 Charaktere,
die alle hier sind. Sie müssen es nicht
in derselben Reihenfolge haben. Aber ich dachte einfach,
das wäre eine Sequenz, vielleicht für die ID. Ich kopiere das
hier einfach so, weil es
nicht wirklich wichtig ist. Die ID ist einfach, dass sie da sein
muss, damit sie funktioniert. Wir müssen einfach
den Namen der Klasse
kopieren und einfügen . Wir müssen definieren,
was die Klasse ist. Wie bekommen wir nun diese
feindliche Basisklasse? Weil wir müssen,
klickst du darauf. Auch hier müssen wir diese Klasse
definieren. Was Sie tun können, ist
diese
Datentabelle mit feindlichen Informationen hier drin zu verwenden . Erstellen Sie hier einfach eine neue Zeile. Und was du tun kannst,
ist klicken, der erste ist der Ork. Für mich kann ich den Ork auswählen, ich kann schreiben, hier klicken und eine Kopie
schreiben. Oder klicken Sie auf Kopieren Jetzt kann ich
meine Datentabelle öffnen und
auf meiner Tastatur auf Strg V klicken, um sie einzufügen. Und hier haben wir es. Ich werde es nur ein bisschen
größer machen , damit du es so sehen kannst. Jetzt haben wir es also hier
drin. Jetzt können Sie
als Nächstes das Or Roe nehmen. Ich kann das Roe erneut auswählen, rechten Maustaste auf Kopieren klicken oder
Sie können die Tastenkombination drücken , indem
Sie die Umschalttaste gedrückt halten und rechten Maustaste klicken, um es zu kopieren. Dann kann ich es
hier einfach so einfügen. Oder was Sie tun können, ist, dass Sie diesen auch einfach kopieren
können. Fügen Sie es hier ein
und ändern Sie es. Oder zu oder Shaman für diesen Fall auch daran denken, hier zu
wechseln oder Shaman, du kannst es auf beide Arten tun Jetzt ist es für mich viel schneller, einfach Aria auszuwählen. Halten Sie zum Beispiel die Umschalttaste
gedrückt und klicken Sie mit der rechten Maustaste, um Steuerung V zu kopieren und hier einzufügen Und mach das
auch für den Zauberer, so und so weiter. Ich
mache es einfach für die. Du kannst das alles
selbst als Übung machen. Nun zum Feindtyp: Wir haben entweder normale Gegner
oder Busgegner. Dieser ist normal und ich werde ihn einfach hier kopieren und einfügen. Und ich denke, der Zauberer, wir können so einen Boss machen. Sie können auswählen, welche
normale Feinde sind , und Bossgegner
geben ihnen die Gesundheit. Für die Gesundheit würde ich
gerne einfach
eine Formel schreiben,
zum Beispiel gleichwertig machen . Fangen wir bei diesem mit
100 an. Schreiben Sie eigentlich einfach
100 für diesen. Wir brauchen keine Formel
für die erste, aber wenn die zweite
dieser entspricht , kannst du hier klicken. Multipliziert mit 1,2
wird das automatisch
berechnet Und ich kann
darauf klicken und es
bis zum letzten Punkt
nach unten ziehen bis zum letzten Punkt
nach unten Ich kann es hier
oben auswählen und
auf diese Schaltfläche klicken , um
die Dezimalstellen zu entfernen. Auf diese Weise können Sie
auch die Gesundheit verbessern. Du kannst es zum Beispiel
mit 1,5 multiplizieren, du kannst es
hierher ziehen , wir haben viel mehr
Gesundheit, einfach so. Zum Beispiel können
Sie für die
Animation, genau wie zuvor, für die Adline-Maschine für die Adline-Maschine hier die
Outline-Maschine auswählen Oder machen wir
es stattdessen hier unten,
für die Adline Mal sehen, der
erste war der,
wenn ich das schließe und
den einen finde, kannst
du mit der rechten Maustaste klicken und die Referenz
kopieren Diese Referenz kopieren, ich gehe zurück und klicke auf Strg
V und füge sie hier ein. Für diese kannst du sie
vielleicht auf
diese Weise etwas größer machen . Hier ist es. Nun zur
Trefferanimation Ich kann mit der rechten Maustaste auf meinen
Treffer klicken und die Referenz kopieren. Ich kann es hier
für den Tod einfügen, ich kann mit der rechten Maustaste auf Referenz
kopieren klicken. Dann kann ich es hier einfügen. Jetzt zeige ich
es dir auch hier. Und ich werde
das alles alleine machen. Hier, Rogue, kann ich auf Referenzen kopieren
klicken. Klicken Sie mit der rechten Maustaste auf, klicken Sie auf
eins, fügen Sie es hier ein. Und klicken Sie mit der rechten Maustaste auf den Rogue. Kopieren Sie die Referenz und fügen Sie
sie in die endgültige ein. So fügen Sie
all das hinzu und wieder, oder die Klasse geht zur
Datentabelle über und
kopiert die Klasse. Oder du kannst diesen Teil
hier einfach in den Namen
des Charakters
ändern und
du kannst definieren, ob
es sich um des Charakters
ändern und
du kannst definieren, ob einen normalen oder einen Bossfeind handelt. In Ordnung, also hier habe ich meine Datentabelle
fertiggestellt. Alle Informationen
sind hier, hier unten. Ich gebe ihm nur gerne einen Namen. Nennen wir es DT me info. Lassen Sie uns auch eine neue
Datentabelle erstellen. Ich klicke auf das Plus
hier unten auf den Blättern und erstelle eine neue Datentabelle. Eigentlich
löschen wir einfach diesen. Lass mich
es einfach duplizieren, damit ich es nicht noch einmal
mit der Schrift formatieren muss und so weiter. Klicken Sie mit der rechten Maustaste, das
wurde dupliziert und lassen Sie uns eine Information zur DT-Ebene hinzufügen Dafür lösche ich alles, drücke mit einem
Klick auf Löschen Dafür brauchen wir die ID, wir brauchen auch das Level. Denken Sie daran, dass Sie
jederzeit zu
Ihrer Struktur zurückkehren und die Level-Informationen
öffnen können. Wir brauchen das Level
und den Namen des Feindes. Wir öffnen es hier, wir brauchen
das Level und den Namen des Feindes. Ich werde es hier nur kleiner
machen, brauche nicht den ganzen Platz. Und es auf diese
Weise auch für den Ausweis kleiner machen. Jetzt kopiere ich einfach die Level hier und
füge sie ein. Level 1234, wir haben 11 Feinde. Ich klicke einfach und
ziehe es nach unten bis 11. Ich werde das einfach
kopieren und
hier für den Namen des Feindes einfügen. Wir können im Grunde
zu den Feindinformationen gehen, all das
kopieren und wir
können es auch hier einfügen. Wir müssen auf Stufe eins
die Spanne auf Stufe
zwei finden , den Roll-Spawn Wenn das E erscheint, müssen wir die Gesundheit der Schurken,
den Gegnertyp
der Büste,
die Adle-Animation und
all diese Informationen finden Gegnertyp
der Büste, die Adle-Animation und Hier verwenden wir das um auszuwählen, welcher Feind auf einer Ebene erscheinen
soll Wenn der Feind erscheint, haben wir die Informationen über diesen Feind
, die wir verwenden können Mach weiter und automatisches Speichern
kann hier nicht wirklich speichern. Lass uns weitermachen und
auf Herunterladen klicken. Und lade
es als CSV-Datei herunter, lade die Feindinformationen herunter und gehe auch
zu den Level-Informationen. Klicke auf Datei und lade
sie als CSV-Datei herunter. Wenn Sie jetzt
Ihren Download-Ordner öffnen , sind sie
hier. Ich werde sie umbenennen, es heißt nur T Level Info und ich benenne diese
auch in T Enemy Info Bevor wir das tun, vergewissere dich einfach,
dass im Inneren der Engine, wenn ich zurückgehe und das alles
schließe,
vergewissere dich, dass du in den
Datentabellen
die Feindinformationen hast und sie leer Ich werde
diesen löschen. Klicken Sie auf Speichern. Ich muss auch einen für
die Level-Info erstellen. Klicken Sie mit der rechten Maustaste. Gehen Sie zur Tabelle mit verschiedenen Daten, wählen Sie die Ebeneninformationen aus, klicken Sie auf OK und nennen Sie
sie T-Ebeneninformationen. Ich habe diese, und was
Sie tun müssen, ist beide
anzuklicken, sie
hierher zu ziehen und sie dort abzulegen, und
sie sollten erfolgreich importiert werden. Wenn Sie nun
in einem der
Namen eine Ära definiert haben ,
wenn Sie zum Beispiel hier eine Ära im Namen
des Feindes gemacht haben , nehmen
wir an, Sie haben
Feindname ohne
E geschrieben. Das wird
Ihnen sagen , dass es in Ihrer Datentabelle eine
Ära gibt. Und keine Sorge, du kannst es hier
im Grunde korrigieren, es erneut
herunterladen und es
einfach anklicken und hierher
ziehen. Wenn du jetzt die Tabelle mit den
Feindinformationen
öffnest, hast du hier auch alle Informationen über jeden einzelnen Charakter, wie viel Gesundheit er hat, über jeden einzelnen Charakter,
wie viel Gesundheit er hat,
welchen Feindtyp er hat und alle
seine Animationen.
31. 4.11 Einführung in Bibliotheken: In Ordnung, jetzt sind wir mit den Datentabellen
fertig. Lassen Sie uns
weitermachen und uns die Bibliotheken ansehen. Dies ist der letzte Schritt, bevor wir alles fertigstellen
und den Feind spawnen Schauen wir uns das jetzt an
und erstellen wir einen neuen Ordner. Nennen wir das Bibliotheken. Wenn ich Bibliotheken
wieder einfach so buchstabieren kann, gehen
wir jetzt in diesen Ordner. Klicken wir mit der rechten Maustaste
und gehen wir zu Blueprint. Und Sie sehen diese Bibliothek, die
als Blueprint-Funktionsbibliothek
und als Blueprint-Makrobibliothek bezeichnet als Blueprint-Funktionsbibliothek
und als Blueprint-Makrobibliothek und als Blueprint-Makrobibliothek Jetzt arbeiten wir
mit Funktionen. Lassen Sie uns einfach eine
Blueprint-Funktionsbibliothek erstellen. Und ich werde
sie BP-Funktionsbibliothek nennen, weil ich normalerweise nur eine in meinem Spiel
habe Also werde ich
es einfach Funktionsbibliothek nennen. Öffnen Sie es jetzt in
dieser Bibliothek. Sie können sehen, dass es sich,
wie der Name schon sagt, im Grunde um eine Funktionsbibliothek
handelt. Sie können hier also viele
Funktionen erstellen. Das Gute an
einer Funktionsbibliothek sind die Funktionen, die
Sie hier erstellen. Sie können sie
global für alle Blueprints verwenden. Lass uns einfach zum Spaß einen erstellen. Rufen wir zum Beispiel Funktion
Get Health Test auf. Wir werden es nicht verwenden, aber wenn ich auf Kompilieren klicke. Wenn ich das nun minimiere und
zum Beispiel einen anderen Blueprint
öffne ,
öffnen wir den Spielmodus Hier drin kann ich schreiben, klicken und Get Health sagen Hier kannst du sehen, dass es
aus meiner Funktionsbibliothek stammt. Wir müssen keine
Blueprint-Schnittstellen und was auch immer erstellen. Wir können einfach schreiben,
auf Get Health klicken, wir können diese Funktion verwenden Nun könnten Sie versucht sein, all Ihre
Funktionen hier zu erstellen Denn vielleicht denkst du, warum erstelle ich überhaupt Blueprint-Schnittstellen
und rufe sie Warum
erstelle ich sie nicht einfach in einer Funktionsbibliothek Das liegt daran, dass das Spiel langsamer
wird. Wie ich recherchiert habe, wird
Ihr Spiel langsamer, wenn Ihre
Funktionsbibliothek zu groß ist Benutze es, wann immer es Sinn macht. Füge hier nicht einfach Funktionen hinzu, denn wenn das zu groß ist, wird
dein Spiel auch etwas langsamer. Benutze es einfach, wann immer
es Sinn macht. Was ich normalerweise mache, verwende ich
normalerweise immer dann, wenn ich Datentabellen erstelle, weil
ich das
in vielen Bauplänen verwenden muss in vielen Bauplänen Vielleicht kannst du
es dir so vorstellen. Wenn Sie eine Funktion haben
, die Sie in fast jedem
einzelnen Blueprint
verwenden müssen in fast jedem
einzelnen Blueprint
verwenden Zum Beispiel, um
die Feindinformationen hier abzurufen. Dann ist es besser, es in
einer Funktionsbibliothek zu
erstellen , damit Sie in
jedem Blueprint
einfach darauf zugreifen können in
jedem Blueprint
einfach darauf zugreifen Normalerweise verwende ich es immer dann, wenn ich Strukturen
und Datentabellen erstelle, und ich brauche
diese Informationen, ich erstelle sie innerhalb
von Funktionsbibliotheken Lass uns weitermachen und das löschen. Lassen Sie uns alles kompilieren und
speichern. Und jetzt sind wir bereit, mit der nächsten Lektion
fortzufahren.
32. 4.12 Erstellen der Bibliotheksfunktionen: Lassen Sie uns weitermachen und
die Funktionsbibliotheken erstellen. Lass uns auf Ad klicken und hier
eine Funktion erstellen. Die erste, die wir
erstellen werden, dient der Feindinformation. Für diesen werde ich sagen bevor ich es wieder vergesse, lass mich einfach
hier oben in den Tools
Debug klicken , was Reflektor ist, und daraus
Lodgust machen Wir können hier drinnen einfach
besser sehen. Wie ich
es nennen werde, ich nenne
es „ Feindinformationen abrufen“. Und ich werde auch
eine neue Funktion erstellen, eine neue Funktion namens Get Level
Info. Wir brauchen die beiden. Fangen wir mit dem ersten an. Was wir tun müssen, ist mit der rechten
Maustaste zu klicken und zu sagen, hol dir einen Tisch. Du siehst diesen hier unten. Zeile in der Datentabelle abrufen. Das ist die Funktion, die
wir versuchen zu verwenden. Wir versuchen aus
einem Namen
eine Datentabellenzeile hier, aus
einem Namen
eine Datentabellenzeile abzurufen, damit wir die Informationen verwenden
können. Lassen Sie uns weitermachen und
es wird
viel besser zu verstehen sein ,
wenn wir fertig sind. Sehen wir uns nun die Datentabelle an, wir sprechen über diese, in diesem Fall sind es
die Feindinformationen. Lassen Sie uns die
NM-Informationen für diesen Zeilennamen auswählen. Bevor wir es hier einfügen, klicke
ich normalerweise gerne mit der rechten Maustaste und sage: Lass uns hier zuerst eine Zeichenfolge
hinzufügen. Hinzufügen einer Eingabe und einer Zeichenfolge.
Mach weiter und mach das. Hier benötigen wir die Eingabe
des Feindesnamens. Denn wenn Sie
zu Ihrer Datentabelle zurückkehren, sind
dies die Namen
der Feinde. Wir benötigen die Eingabe
eines Feindesnamens. Aus diesem Namen wird es diese Information
extrahieren,
diese Zeile hier. Gehen wir von hier zurück. Bevor ich es
anschließe verwende ich gerne die
Ersetzungsfunktion . Bei einer
Ersetzungsfunktion ist das,
was sie tut,
hier im Formular, Sie werden
ein Leerzeichen wie dieses schreiben. Sie haben hier ein kleines Leerzeichen, wie Sie an den beiden sehen können. Du machst gar nichts. Du hast einen Platz hier oben
und du hast nichts hier. Das bedeutet, dass dieser
Name hier verwendet wird ,
wenn Sie ein Leerzeichen haben, denn wie Sie im Zeilennamen
sehen können, können
Sie kein Leerzeichen haben. Die Nal-Engine
akzeptiert nicht, dass Sie
ein Leerzeichen im Zeilennamen haben .
Und das ist es. Das ist der Zeilenname. Sie
müssen Informationen extrahieren, wenn Sie ihm einen Feindnamen geben und
der Feindname
später ein Leerzeichen hat . Ich werde
Ihnen später zeigen, wie das geht. Wenn es ein Leerzeichen hat, wird
es nicht lesen, es wird sich reissen. Was ich gerne mache,
ist der Name des Feindes.
Ich möchte das Leerzeichen entfernen, bevor ich etwas unternehme Dann kann ich
das einfach hierher ziehen und es wird diese Zeichenfolge
in eine Namensvariable umwandeln. Wir können das verbinden,
dann können wir
hierher ziehen und Return sagen
, weil wir für diese Funktion
einen Rückgabeknoten benötigen . Für den Rückkehrknoten werden diese feindlichen Informationsdaten
ausgegeben. Nennen wir das eine
Feindinformation und lassen Sie uns kompilieren. Und jetzt sind wir
mit diesem fertig. So sieht es aus.
Wir bekommen den Namen des Feindes, dann extrahieren
wir diese Information. Nehmen wir zum Beispiel an, der Name des
Feindes ist Skeleton Rogue, wodurch das Leerzeichen entfernt wird, sodass er tatsächlich von hier aus
lesen kann Dann wird es all
diese Informationen für
Sie abrufen und es wird sie hier einlesen, damit Sie sie verwenden können Lassen Sie uns das auch für die
Level-Informationen tun. Nun zu den Level-Informationen, du kannst es
selbst machen, wenn du etwas anderes üben
möchtest . Lass es uns zusammen machen, wenn
du mehr Übung brauchst. Okay, lassen Sie uns hier mit der rechten Maustaste klicken, um eine Tabellenzeile nur
für die Level-Informationen zu erhalten. Wenn Sie zu den
Ebeneninformationen zurückkehren, sind die Ebeneninformationen Zahlen. Wir brauchen eine Zahl
statt einer Zeichenfolge. Hier drüben werde ich Plus sagen. Und nehmen wir hier eine Ganzzahl. Nehmen wir für die Ganzzahl eine Ebene an. Lass uns weitermachen und es verbinden. In diesem Fall müssen wir
nicht wirklich alles
ersetzen,
weil es nur eine Zahl ist. Und wir können das einfach in den Namen ziehen
. Jetzt konvertiert
es es nicht automatisch für uns,
das liegt daran, dass es nur die Zeichenfolge
konvertiert. Lassen Sie uns zwei
Zeichenketten erstellen und diese auswählen. Und dann fahren Sie fort und ziehen Sie es hinein und es wird es für Sie
konvertieren wieder einen Rückknoten erstellen. Bevor wir etwas tun, können
Sie sehen, dass es grau ist. Das liegt daran, dass wir hier nichts
ausgewählt haben. Wählen wir die Level-Informationen und fügen sie hier ein. Und nennen wir es Level-Info. Lassen Sie uns alles kompilieren und
speichern. Wenn wir nun zum Beispiel versuchen,
sie im Spielmodus zu verwenden ,
löschen wir get health. Das war eine alte Version für die Feindinformationen, die wir
schreiben können, um Feindinformationen abzurufen. Und hier kannst du es sehen. Jetzt haben wir diese
Funktion, die wir verwenden
können, und wir haben
die Feindinformationen. Im Grunde kannst du
von hier aus ziehen und Pause sagen. Sie teilen diese
Struktur in mehrere Pins auf, die Sie hier sehen können. Dies sind alle Variablen, die Sie hier in
Ihrer Struktur
erstellt haben. Dies sind alle
Variablen, die Sie
jetzt erstellt haben . Sie können jetzt von Ihnen verwendet werden. Sie können den
Namen des Feindes, die Klasse, den Feindtyp, die Gesundheit des
Feindes usw. angeben. Hier
erhalten Sie im Grunde Informationen, Sie benötigen diese
Hinrichtungsstifte nicht. Wie Sie sehen können,
sind einige
Funktionen grün. Sie sind nicht blau. Sie sind grün. Das liegt daran, dass
sie im Grunde Informationen
erhalten. Dieser sorgt für eine Transformation der
Schauspieler. Wenn Sie einfach hier klicken, finden
Sie Acta in Ihrer Nähe Es geht nicht wirklich darum,
irgendwelche Informationen einzustellen, es geht nur darum,
Informationen für Sie zu bekommen Wenn Sie Informationen erhalten, benötigen
Sie diese
Ausführungs-Pins nicht. Gehen wir zurück zur
Funktionsbibliothek. Lass uns auf die Feindinformationen klicken und diese auf Pure
setzen. Lass uns auch auf die Level-Info
klicken und sie auf Pure setzen. Gehen wir jetzt zurück,
und hier können Sie sehen wir es in
eine grüne Funktion umgewandelt haben. Wir
bekommen im Grunde nur Informationen. Wir bekommen Informationen über den Feind und sie benötigen den Namen des Feindes. Wenn wir dann den Namen des
Feindes eingeben, zum Beispiel Skeleton Mage, schreibe ich hier ein Leerzeichen. Ich kann es einfach ganz normal schreiben, Skeleton Mage hier drinnen. Es wird das Leerzeichen
automatisch entfernen , da wir einen Ersatz hinzugefügt
haben. Wenn du es einfach so
ohne Leerzeichen schreibst , ist es
nicht wirklich wichtig. Es findet keine Leerzeichen. Es wird einfach weitergehen. Es ist eine Präferenz,
aber normalerweise würde ich die Namen
gerne komplett so
schreiben. Dann kannst du von hier aus schreiben, Pause
schreiben und
schon hast du die Informationen über den Feind. So benutzt du es. Das Gleiche gilt für
die Level-Informationen. Wenn Sie Level-Informationen abrufen sagen
, fügen Sie ein
Level ein, zum Beispiel Level drei, und Sie brechen
diese Information. Und jetzt weißt du ab Stufe drei, dass du weißt, welcher
Feind erscheinen wird. Denn in deiner
Datentabelle auf Stufe drei
hast du ihm gesagt, dass der
Auktoman Jetzt weißt du, dass der
Auktoman spawnen sollte. Und du kannst es quasi hier
einstecken, jetzt kannst du sehen, wie du sie miteinander verbinden
kannst Aber lassen Sie uns das vorerst löschen. Lassen Sie uns kompilieren und
fahren wir mit der nächsten Lektion fort.
33. 4.13 Die Namen des Feindes hinzufügen: Ordnung, jetzt
müssen wir die Namen der Feinde hinzufügen,
weil wir diese Namen benötigen,
um Informationen aus
der Datentabelle mit feindlichen Informationen
in den Bibliotheken zu extrahieren der Datentabelle mit feindlichen Informationen
in den , die
wir gerade hier erstellt Aber wir müssen die Namen
der Feinde eingeben, wir müssen die
Namen für jeden Feind hinzufügen. Wir machen
das, indem wir zu
den Feinden und hier
in der feindlichen Basis zurückkehren . Öffnen wir das. Öffnen Sie hier den vollständigen
Blueprint-Editor. Lassen Sie uns zum Beispiel eine Variable
namens Name erstellen, oder Sie können sie
Feindname nennen. Das ist in Ordnung. Ich werde daraus eine
Schnur machen. Mach weiter und kompiliere. Und denk dran, wenn du eine Variable innerhalb
der feindlichen Basis
erstellst , sind das alles Kinder
der feindlichen Basis. Wenn du hier eine
Variable erstellst, werden
sie auch für alle
erstellt. Lass uns den ersten öffnen. Öffnen Sie den vollständigen
Blueprint-Editor und die Standardwerte der
Klasse Sehen wir uns hier die Klassenstandardwerte an. Wenn wir hier nach unten scrollen, können
Sie die von uns erstellte
Namensvariable sehen Jetzt kannst du diesem
Charakter einen Namen geben. Nennen wir das zum Beispiel eine Nacht. Lass uns jetzt den nächsten öffnen. Es ist der Ork. den vollständigen
Blueprint-Editor zu
öffnen, können
Sie es auch
hier unten tun , um Ihnen
das Detailfenster zu zeigen Dieser ist der Ork, der
nächste ist der Schurke, der nächste ist
der Schamane,
und dann haben wir den und dann haben wir Dann haben wir den Schurkenzauber. Korrekt. Nun, wenn Sie es falsch
buchstabieren, wird
es nicht in der
Lage sein , die Informationen
aus der Datentabelle zu extrahieren. Manchmal, wenn etwas
nicht
funktioniert, werden keine Informationen extrahiert Stellen Sie einfach sicher, dass Sie diesen Namen richtig
geschrieben haben. Da dieser Name mit dem übereinstimmen
muss was Sie hier geschrieben haben
, werden diese
Informationen von hier extrahiert. Wie ich Ihnen bereits
gesagt habe,
können Sie ein Leerzeichen erstellen, weil
wir das ersetzt haben.
Es spielt keine Rolle, ob
Sie ein Leerzeichen erstellen, es wird
das Leerzeichen für Sie entfernen. Deshalb habe ich
den Ersatz hier hinzugefügt. Das ist ein Skelettmagier. Ich gehe zurück zu den Feinden und öffne den nächsten
, Skeleton Rogue Dann haben wir das
Skelett wie dieses. Dann haben wir den Zauberer. Jetzt haben wir
sie alle und gehen raus und klicken bei jedem von ihnen
auf Kompilieren. Dann bist du hier fertig. Jetzt haben sie alle Namen. Jetzt
funktioniert es so, dass es den Namen des Feindes
annehmen wird . Zum Beispiel wird dieser Typ
hier Krieger genannt. Das ist ein Krieger, er wird hier seinen
Namen annehmen, ein Krieger. Und es nimmt
diese Informationen und dann weiß es, welche Informationen
der Krieger hat. Deshalb haben wir den Namen hinzugefügt. Wir werden
ihn benutzen. Lassen Sie uns alles schließen und mit der nächsten Lektion
fortfahren.
34. 4.14 Den Feind spawnen: Lass uns jetzt weitermachen
und den Feind spawnen. Lass uns zum Spielmodus zurückkehren. Hier haben wir das letzte Mal
aufgehört. Denkt daran, dass wir die
Schauspielertransformation
für den Spawn-Punkt haben für den Spawn-Punkt Wir wissen im Grunde, wo wir
den Feind spawnen müssen. Lassen Sie uns jetzt weitermachen und ihm
sagen, welcher Feind auf welchem
Level erscheinen soll Jetzt haben wir diese Informationen,
weil wir die
Funktionsbibliotheken
jetzt hier erstellt haben.
Lassen Sie uns mit der rechten Maustaste klicken und
sagen
wir, wir benötigen tatsächlich die aktuelle Ebene und wir haben sie
nicht als Variable Ich werde es
im Spielmodus erstellen , weil es am
sinnvollsten ist. Denken Sie daran, dass der Spielmodus die Spielregeln bestimmt. Er weiß, wie hoch das
aktuelle Level ist. Lassen Sie uns eine neue Variable erstellen. Es ist eine Ganzzahl, weil
es nur eine Zahl ist. Nennen wir es aktuelles Niveau. Lassen Sie uns kompilieren
, weil wir den Standardwert sehen müssen. Lassen Sie uns für
den Standardwert kompilieren. Wir beginnen auf Stufe eins. Ich werde
das auf Stufe eins ändern. Lass uns das hier reinschlagen. Okay. Wir
wollen damit arbeiten, Feindinformationen zu bekommen, weil wir die feindliche Klasse hier
brauchen. Stecken Sie T ein und sagen Sie Pause. Nun zu dem Kurs, an den wir es hier anschließen
können. Wenn du nicht
all diese anderen Pins sehen möchtest, kannst
du darauf klicken und „Nicht verbundene Pins ausblenden“
sagen Was nun den Namen des Feindes angeht,
denkt daran, dass wir eine andere Funktion
namens Levelinformationen abrufen haben namens Levelinformationen abrufen Von hier aus kannst du
sehen, welcher Feind auf welcher Stufe spawnen
sollte Von hier aus kannst
du wieder Pause sagen. Jetzt kannst du diesen Feindnamen verwenden. Wir müssen ihm
das aktuelle Level geben. Jetzt ist alles gut. Wir können hier klicken, nicht verbundene Pins
ausblenden und das dann nach unten ziehen Du kannst sie alle
auswählen und Q auf
deiner Tastatur drücken , um sie wie folgt zu
glätten Okay, lass uns das hier hinstellen. Und stell das hier hin.
Und jetzt wird es funktionieren. Wie Sie sehen können, haben wir
das aktuelle Level, wir bekommen die
Informationen für Level eins. Es geht in
die Datentabelle, Level-Informationen,
schaut sich Level eins an
und dann weiß es, dass es
der Ork ist , den es
ausgeben wird, und den Namen des Feindes Und das wird mit den
Feindinformationen verknüpft,
wodurch dann Informationen
aus den Feindinformationen extrahiert werden wodurch dann Informationen
aus den Feindinformationen extrahiert Oder jetzt haben wir alle Informationen über
den Ork, einschließlich
dessen, was als letztes erscheinen soll Denken Sie daran, dass wir ihm in der
Google-Tabelle gesagt haben, dass die Klasse, mit der er
spawnen muss, BP Orc ist Es wird den BP Orc-Blueprint
hervorbringen. Und hier
spawnen wir den Feind. Wenn ich jetzt
darauf doppelklicke, werde ich zum Player Controller weitergeleitet, wo wir dieses Event gemacht haben Es wird den Ork spawnen, und es wird auch das
Or an dem
Spawnpunkt und es wird auch das
Or an dem
Spawnpunkt spawnen, den Lass uns weitermachen und alles kompilieren
und speichern. Lass uns auf Play klicken.
Und jetzt können Sie sehen, dass es das Oder
ist, wir können das testen. Wenn ich auf die aktuelle Ebene klicke, habe ich die aktuelle Ebene auf
beispielsweise Stufe drei geändert . Auf Stufe drei
sollte es den Schamanen spawnen. Wenn ich kompiliere, nach oben
klicke und spiele, siehst
du, dass es der Schamane ist, der Das funktioniert korrekt. Um es ein bisschen übersichtlicher zu
machen, können wir das
alles nehmen und ich kann mit der rechten Maustaste klicken und zu einer Funktion
zusammenklappen. Ich werde einfach eine Funktion
daraus machen , nur um es sauberer zu
machen. Nennen wir diesen einen Feind
zum Spawn oder zum aktuellen Level. Lassen Sie uns eine reine
Funktion daraus machen, denn denken Sie daran, dass wir nur Informationen
zur reinen Funktion bringen Lass uns umbenennen, lass uns hier
doppelklicken. Ich werde das
so nach unten verschieben. Nun zum ersten
ist es der Feind. Also finden wir heraus
, welcher Feind wir spawnen sollen. Die zweite hier ist die Spawn-Transformation,
genau wie diese Lass uns alles kompilieren und
speichern. Jetzt hier draußen ist es
viel sauberer und wir haben
diese Leitung nicht hier draußen. Alles sieht gut aus. Okay, so
spawnt man Feinde. Lass uns auf das
aktuelle Level klicken und es auf eine Standardeinstellung zurücksetzen Jetzt funktioniert es also. Und lass uns der nächsten Lektion
weitermachen.
35. 5.01 Die Benutzeroberfläche für den Namen des Feindes entwerfen: Jetzt, da die Gegner auf der
Karte korrekt spawnen, machen
wir weiter und
arbeiten mit der Benutzeroberfläche Wir haben noch keinen Ordner. Wenn ich zum Inhaltsordner gehe
und mit der rechten Maustaste klicke und
einen neuen Ordner erstelle, nennen
wir diese eine Benutzeroberfläche
innerhalb dieses Ordners. Lassen Sie uns mit der rechten Maustaste klicken und zur
Benutzeroberfläche gehen und
einen Widget-Blueprint erstellen Jetzt hier, fahren Sie einfach fort und
wählen Sie hier oben das Benutzer-Widget aus. Nennen wir diesen einen Feindnamen. In dieser Lektion
werden wir nur den Namen des Feindes zu
einer sehr einfachen Benutzeroberfläche machen . Hier ist er. In einem großen Blueprint haben
Sie das Viewport, auf das Sie klicken können. Klicken
Sie mit der
rechten Maustaste, halten Sie
einfach die rechte Maustaste gedrückt
und drehen Sie mit dem Stift herum, fast genau wie Und hier können Sie
sehen, was Sie zu Ihren
UI-Elementen hinzugefügt haben zu Ihren
UI-Elementen hinzugefügt Hier sind alle
Elemente, die Sie hinzufügen können. Auch hier haben Sie ein
Detailfenster, genau wie hier, in dem Sie auf Dinge klicken,
zum Beispiel den Text, und es werden
Details zu dem Ding
in einem Widget-Blueprint angezeigt in einem Widget-Blueprint Sie haben den Designer
, wo Sie die Benutzeroberfläche entwerfen. Und Sie haben das Diagramm, in dem Sie Dinge auf der Benutzeroberfläche
programmieren. Was passiert zum Beispiel,
wenn Sie die Taste drücken? Wenn ich jetzt zum
Designer zurückkehre, lassen Sie uns einfach den Text entwerfen. Es ist nur der Name des Feindes, also ist es nur ein Text. Aber bevor wir entwerfen,
müssen wir eine Leinwand hinzufügen. Bevor Sie in der Benutzeroberfläche,
in Unreal Engine, etwas tun ,
müssen Sie ein Canvas-Panel hinzufügen Klicken Sie hier, ziehen Sie es und legen Sie es hier oben ab Jetzt hast du diese Leinwand. Jetzt können wir Dinge hinzufügen. In diesem Fall benötigen
wir beispielsweise nur dann einen Text, wenn Sie nur
nach Text suchen. Oder du kannst auch einfach
hier runter gehen, du findest ihn hier. Dies sind die
häufigsten Elemente hier. Sie können sich auch einfach
umklicken, um zu sehen, was es gibt. Wenn du willst, nur zum Üben, kannst
du es jederzeit anklicken und hierher
ziehen. Du kannst sehen, was es macht. Du kannst versuchen, mit
einigen Einstellungen zu spielen, tut nicht weh. Wenn du mit dem Training fertig bist, kannst
du einfach hier klicken und auf deiner Tastatur auf
Löschen klicken
und es wird gelöscht. Wir haben das Canvas-Panel, lassen Sie uns etwas
Text darüber hinzufügen. Sie können
es entweder
hier oben hinzufügen oder Sie können es hier
hinzufügen. Das ist dasselbe.
Normalerweise ziehe ich , es
stattdessen
einfach per Drag & Drop hierher zu ziehen, aber das ist vorerst nicht wirklich
wichtig. Für diesen Text
brauchen wir nicht wirklich den ganzen Platz. Was ich tun werde, ist auf Vollbild zu klicken. Und dann wollte ich, dass es nur um diesen Text herum
ausgefüllt wird. Jetzt können Sie sehen, dass es nicht mittig
ist. Sie können sehen, dass das daran liegt,
dass an dieser Ecke ein
sogenannter Ankerpunkt verankert Und was das bedeutet,
der Ankerpunkt, was er ist, ist, sagen wir, das ist dein Spielfenster,
du spielst das Spiel Wenn du jetzt
das Spielfenster neu skalierst, wird
der Text nicht hier unten bleiben Es war deine Absicht , dass der Text hier unten
bleiben sollte Wenn Sie das Fenster neu skalieren, bewegt sich
der Text
in Richtung dieses Ankerpunkts Wenn Sie beabsichtigen, dass der Text hier unten auf dem Bildschirm bleiben
soll, dann tun Sie das falsch,
weil er sich
bei der Größenänderung des Bildschirms nur langsam in diese Richtung bewegt Es ist sehr wichtig, die
Ankerpunkte richtig zu setzen. Nun zu diesem Ankerpunkt wollte
ich ihn nur auf dem Text zentrieren. Ich werde auf meinem Bildschirm auf die
Mitte klicken .
Das ist dein Bildschirm. Ich werde es auf
meinen Bildschirm zentrieren und 00 in die Position
von X und Y
schreiben. Wenn Sie
jetzt 00 schreiben, springt
der Ankerpunkt in
die obere linke Ecke Um dieses Problem zu beheben, können Sie mit der Ausrichtung
spielen. Hier können Sie sehen,
dass 0,5 die Mitte und eine die andere Seite
ist. Normalerweise ist es 0-1
in der Ausrichtung. Das Gleiche gilt für das Y. 0,5 ist in der Mitte und einer
ist auf der anderen Seite, 0,5 und 0,5. Dadurch wird es zum Sensor
hinzugefügt Jetzt kannst du meinen Text sehen, und so
möchte ich ihn haben Okay, klicken Sie auf Kompilieren
und speichern Sie alles. Lassen Sie uns das nun
stilisieren. Aber bevor wir das tun, müssen Sie beim Entwerfen der Benutzeroberfläche innerhalb
der Neural Engine sicherstellen, Entwerfen der Benutzeroberfläche innerhalb
der Neural Engine sicherstellen, dass
Ihre Benutzeroberfläche auf Laptops gut aussieht.
Sie
sieht auf Noble-Monitoren,
24-Zoll-Monitoren und
27-Zoll-Monitoren gut aus 24-Zoll-Monitoren und
27-Zoll-Monitoren Es muss zum Beispiel auch auf meinem Vier-K-Monitor gut
aussehen. Wenn Sie es auf
meinem Vier-K-Monitor nicht gut designen ,
könnte es so aussehen. Und ich werde eine schlechte
Zeit haben, wenn ich dein Spiel spiele. Wie stellen wir sicher
, dass die Benutzeroberfläche auf allen Bildschirmen
gut bleibt ?
Sie tun das, indem Sie hier oben auf
die Bildschirmgröße klicken. Normalerweise entwerfe ich meine Spiele für
ein generisches 14-Zoll-Notebook. Fahren Sie fort und klicken Sie darauf, und wird es aussehen. Achten Sie jetzt einfach
auf den Zoom
hier oben , damit Sie nicht
herangezoomt sind, plus acht Wenn ich rauszoome, kannst du jetzt
sehen, dass es auch minus zehn ist. Wenn du einfach zoomst, bis es 11 ist, dann
sieht es auf einem Laptop tatsächlich so aus. Wie sieht es
auf meinen vier Monitoren aus? Nun, wenn du hier unten
auf diese Einstellungsschaltfläche klickst, dann kannst du sehen,
wie stark sie skaliert. Im Moment entwerfen wir
es für einen 14-Zoll-Laptop, aber auf meinem Bildschirm, auf einem Vier-K-Monitor, wird
es die
Benutzeroberfläche um das 3,8-fache skalieren. Es wird das
3,8-fache skaliert sein. Jetzt ist es zu viel. Lass uns das einfach herunterskalieren. Und ich kann dir zeigen, wenn ich hier auf der Skala Acht nach
oben klicke, kannst
du es anklicken und dann kannst
du es hier reduzieren. Normalerweise finde ich es auf meinem Vier-K-Monitor
gut. Wenn ich es auf 2,5 setze, wird es auf allen Bildschirmen gut
skaliert. Es wird auf meinem Bildschirm nicht
schlecht aussehen, denn für einen Laptop oder
für meinen Vier-K-Monitor skaliert
es um das
1,6-fache und es wird auf meinem Bildschirm
gut aussehen. Das habe ich gefunden,
es wird gut aussehen. Normalerweise sind drei zu groß. Auf meinem Vier-K-Monitor die USA zu groß. 2,5 ist wirklich gut. Okay, jetzt wird es auf allen Bildschirmen
korrekt skaliert. Lass uns weitermachen und
kompilieren und speichern. Klicken wir nun hier
auf den Text. Und lass
es uns ein bisschen stilisieren, oder? Wir stilisieren es so, dass
wir einen Fonds auswählen müssen. Sie können sehen, dass
wir momentan keine Fonds haben, wir haben den normalen
Fonds und wir müssen einen benutzerdefinierten Fonds
herunterladen, um ihn zu stilisieren Lassen Sie uns also vorerst in
der nächsten Lektion weitermachen und diesen Text
stilisieren Wir können einen benutzerdefinierten Fonds herunterladen
und ihn zur echten Engine hinzufügen.
36. 5.02 Eine benutzerdefinierte Schriftart hinzufügen: Ordnung. Wenn Sie also zu Google gehen und nach Google-Fonds
suchen, sehen
Sie diese Website namens Funds.google.com.
Und hier können
Sie
jeden beliebigen Fonds herunterladen Jetzt können Sie auch einfach nach Geldern
suchen und
sogar kostenlose Gelder herunterladen . Es gibt auch eine Website namens
The Fund, The Fund. Dieser ist auch gut. Es hat eine Menge Geld, von dem
Sie herunterladen können. Es gibt auch bezahlte. Jetzt liebe ich die Google-Fonds, sie haben viele coole Styles. Von hier aus habe ich
einen namens Playpen gefunden. Suche nach Playpen, und das
ist der, den ich benutzen möchte. Jetzt kannst du wählen,
welchen Fonds du willst, es muss nicht
derselbe sein wie ich Und Sie können den Fonds jederzeit
testen. Wenn du
hier zum Beispiel etwas schreibst, können
wir sagen, Skeleton
Mage für unser Spiel. Und du kannst es verkleinern, um zu
sehen, wie es aussieht, wenn es so wäre und es fett
ist und so weiter. Also ich mag diesen Fonds. Ich werde auf Herunterladen klicken und
es hier öffnen, hier ist es. Nun, für diesen Fonds
muss ich ihn herausholen. Ich nehme einfach diesen statischen Ordner und entpacke
ihn in meinen Download-Ordner. Und ich gehe in
meinen Download-Ordner und doppelklicke darauf. Dieser, den ich hier
extrahiert habe , ich
habe alle Mittel. Jetzt werde ich den dünnen nicht
brauchen. Normalerweise sind sie innerhalb der
anfälligen Engine
zu dünn für Spiele, die ich mag Nehmen wir vielleicht auch die
regulären. Mittel, halbfett, extra fett, fett. Das ist es. Wenn ich zu meiner Engine zurückkehre, minimiere
ich das hier, und ich minimiere es auch. Lassen Sie uns das jetzt
minimieren. Lass uns meinen Ordner öffnen. Jetzt kann ich
das alles in den UI-Ordner importieren. Ich möchte, dass du einen neuen Ordner erstellst
und ich nenne ihn Fonds. Wenn ich in diesem
Fonds-Ordner buchstabieren kann, werde
ich
alles anklicken und es hierher ziehen. Denken Sie daran, dass Sie zuerst
das Geld abheben müssen. Bevor Sie das tun, wie wir es getan haben, möchten Sie
ein neues Fondsvermögen anlegen? Ich sage nur, gilt für alle DS. Und hier haben wir es. Sehr einfach, Gelder zu importieren. Mach weiter und speichere alles. Wenn Sie jetzt zum Namen des
Feindes zurückkehren, klicken wir darauf. Jetzt können wir diesen
maßgeschneiderten Fonds dafür auswählen. Nun, ich
glaube, ich werde
diesen namens Extra
Bolt wie diesen hier verwenden . Das sieht gut aus für mich. Hier. Zur Rechtfertigung werde
ich es zentrieren. Ich werde hier auch
tatsächlich auf diesen Text klicken. Ich werde
Größe zum Inhalt sagen. Es wird nur so groß sein, wie groß dieser Text
auch sein mag. Ich muss mir keine Gedanken über
die Größe von X und Y machen. Du musst
es in deinem Spiel testen Aber ich glaube, für mich werde
ich 28 nehmen . Und was die Frontgröße angeht, können
wir ihr auch eine Farbe geben Wenn du hier oben auf
die Farbe und Deckkraft wird es eine Farbe. Ich gebe ihm einfach eine leicht rote Farbe, etwa
so Und wenn ich auf Okay klicke, werde
ich es skizzieren. Wenn ich hier in der
Gliederung klicke, kann ich eine schreiben. Sie können zum Beispiel sehen,
dass der Text eine Gliederung enthält. Ich denke, ich werde mich für zwei entscheiden
, weil man es
fast nicht sehen kann , wenn
man zwei herauszoomt Ich werde auch die Farbe
ändern, damit es einfach die Farbe
von der ersten Farbe kopiert Was Sie eigentlich tun
können, Sie können auch die Umschalttaste gedrückt halten und mit der rechten Maustaste klicken, um die Umschalttaste zu kopieren, und mit der linken
Maustaste, um sie hier einzufügen. Ich werde es einfach machen, Daca und ich denke, das ist gut für mich Nun, ein sehr cooler
Effekt, den Sie mit
Oral Engine erzielen können , ist hier
im Schatten-Offset Wenn du dieselbe
Farbe kopierst, also ich das kopiere, klicke auf die
Schattenfarbe und ich kann sie auch
hier in die Schattenfarbe einfügen ,
hier im Offset. Ich werde
Null in das X schreiben. Lass uns
so etwas wie drei in das Y schreiben. Du kannst einen sehr coolen Effekt sehen, du hast den Text und
dann hast du einen coolen braunen
Hintergrund dahinter Wir können es jederzeit im Spiel testen
, um zu sehen, wie es aussieht. Manchmal
warte ich sogar mit dem Entwerfen bis ich es im Spiel habe damit du sehen kannst, wie es im Spiel
aussieht. Aber im Moment finde ich
das wirklich gut. Nur um sicherzugehen, dass der Text
nichts im Spiel blockiert. Du musst runter gehen und in
der Sichtbarkeit
musst du einstellen, nicht auf Testbar. Das heißt, wenn
Sie versuchen, mit der
Maus auf etwas
hinter dem Text zu klicken Maus auf etwas , wird
es funktionieren Wenn Sie es auf sichtbar gesetzt haben, blockiert der Text
Ihre Mausklicks, und wenn sich hinter
dem Text etwas befindet ,
können Sie nicht darauf klicken. Jetzt haben wir
die Blockierung hier verhindert. Fahren Sie fort und klicken Sie auf
Datei und speichern Sie alle. Und hier ist der Name des Feindes. Jetzt sind wir bereit,
es in der nächsten Lektion hinzuzufügen.
37. 5.03 Hinzufügen der Enemy Name-Benutzeroberfläche: Fügen Sie nun den Namen des Feindes hinzu. Gehen wir zu den Bauplänen. Lasst uns die Feinde öffnen. Und wir müssen es der
feindlichen Basis hinzufügen. Denkt daran, dass die feindliche Basis die Grundlage für all
diese Kinderpläne Gehen wir zu einer feindlichen Basis. Und wenn wir es hier hinzufügen,
wird es zu allen hinzugefügt. Ich werde bei den Komponenten
auf Hinzufügen klicken. Und wenn Sie nach einem
Widget suchen, hier ist es. Mach weiter und füge das
Widget zu diesem Feind hinzu. Wir können es einfach Feindname nennen. Vielleicht nenne ich
es sogar Feindnamen-Widgets. Also wissen wir es. Also lass uns weitermachen
und alles speichern. nun für dieses feindliche Widget Gehen Sie nun für dieses feindliche Widget zum Viewport Und jetzt müssen wir es auch nur ein bisschen nach unten
drücken,
damit es unter dem Feind ist Der Name steht unter dem Feind. Was das Feind-Widget
im Detailbereich angeht, stelle
ich es auf den Bildschirm. Der Text kann Welt oder Bildschirm sein. Ich werde
dir hier tatsächlich ein Beispiel zeigen, Sophie Klicke
einfach auf die Widget-Klasse
und wähle unser
Widget aus, das wir gerade erstellt Das wird der
Name des Feindes sein. Hier ist es. Mach weiter und kompiliere. Ich werde
dir tatsächlich zeigen, wie es aussieht. Nur damit du sehen kannst, wenn ich das Roe einziehe, schreibe
ich Null in das Y. Hier ist der Name des Feindes Sie können sehen, ob ich den Feind so betrachte
.
Wir können den Text nicht sehen, weil
er so angezeigt wird Was passiert, wenn du
auf den Bildschirm klickst, ist, dass du diesen Text einfach in Richtung
Bildschirm
zeigst, einfach so. Wenn ich auf Jetzt abspielen klicke,
siehst du , dass er zum Bildschirm
hin angezeigt wird. Das sieht jetzt
gut aus. Lass es uns öffnen. Lass uns noch einmal darauf klicken. Ich werde einfach auf Eine gewünschte Größe
zeichnen klicken. Und jetzt sind wir
mit diesem fertig. Lass uns auf Compile klicken. Und du kannst es auf diese Weise
noch weiter nach unten drücken. Sie können jederzeit einfach auf
Play klicken und sehen, was es ist. Jetzt denke ich, den Namen des Feindes werde
ich auf
vielleicht
-22 erhöhen , nur ein bisschen mehr. Hier ist es Sieht gut aus. Lass mich diesen einfach löschen, damit nicht
zwei Feinde spawnen. Das ist der Name des Feindes
, den wir angezeigt haben, und alles sieht gut
38. 5.04 Die Enemy Info-Benutzeroberfläche programmieren: Ordnung, anstatt nur den Namen des Feindes zu
haben, habe ich beschlossen, auch das
Feind-Level hinzuzufügen Es wird ein bisschen cooler aussehen. Lass uns den Feind
wieder öffnen, hier drinnen. Lass uns tatsächlich zur Benutzeroberfläche gehen und den Namen des Feindes
öffnen. Ich werde
es stattdessen einfach in Feindinfo umbenennen. Wenn du jetzt hier draufklickst, brauchen
wir hier drinnen eigentlich nichts zu
tun weil wir den Text programmieren werden. Wir müssen hier nichts
ändern. Aber jetzt gehen wir
zur feindlichen Basis. Anstatt den Namen des Feindes zu verbreiten. Ich werde es einfach in Info Widget
umbenennen. Und das liegt daran, dass
wir den Namen und das Level angezeigt haben. Beschlossen. Okay, wir müssen hier nicht
wirklich viel tun. Aber was wir jetzt
tun müssen, um es zu programmieren,
ist, zur Grafik zu gehen. Lassen Sie uns jetzt all
diese Ereignisse löschen. Klicken wir mit der rechten Maustaste auf
Benutzerdefiniertes Ereignis erstellen. Nennen wir das Update
Enemy Info I für dieses. Wenn du jetzt
etwas im Code machst, musst
du darüber nachdenken ,
was
du versuchst zu tun. Ich versuche diesen
Text zu aktualisieren. Dieser Text hier. darauf klicke, muss ich es auf seine Variable
setzen, sonst kann
ich es hier nicht
als Variable sehen und ich
kann nichts damit anfangen. Also nenne ich diesen einen Text Enemy Info
und setze ihn auf ist variabel. Und dann gehe ich zur Grafik. Jetzt kann ich es sehen, ziehen Sie es hinein. Wir versuchen, den Text festzulegen, den Text festzulegen. Und Sie können diese
Funktion auswählen, die als Text festlegen bezeichnet wird. So legen Sie hier einen Text fest. Nun, das versuchst
du zu tun. Wir versuchen, aus diesem Text den Namen des Feindes zu machen. Offensichtlich haben wir hier nicht
den Namen des Feindes. Denken Sie daran, wir haben den
Namen des Feindes. In der
Bibliotheksfunktion, die wir erstellt haben, benötigen
wir auch das Level des Feindes. Was nun das Level angeht, so haben
wir es im
Spielmodus. Wenn du zu Blueprint gehst, um den Spielmodus zu
öffnen,
denke daran, dass wir hier auch das
aktuelle Level haben Die beste Methode, dies zu tun, besteht
darin , den Namen des Feindes jedes Mal zu aktualisieren,
wenn der Feind erscheint. Ich denke, hier
in der feindlichen Basis
wird
jedes Mal, wenn der Feind erscheint ,
dieses Startspiel abgespielt Es ist schön, diesen
Code hier einzufügen. Wir müssen das tun, anstatt den Text hier zu
schreiben. Jetzt brauchen wir zwei Eingaben. In dieser Funktion
benötigen wir den Namen des Feindes, und das ist eine Zeichenfolge. Machen wir es etwas größer, damit wir sehen
können, dass dies der Name
des Feindes ist. Nennen wir diesen einen Feind Namen. Dann müssen wir das Level des Feindes hier
suchen und Ganzzahl auswählen. Und das ist das gegnerische Level, genau wie der
Name dieses Feindes und das Level des Feindes. Um das hier einzufügen, wie Sie sehen können,
haben wir nur einen Textblock. Um zwei dynamische Werte
zu einem Textblock hinzuzufügen, müssen
Sie etwas verwenden, das als Formattext
bezeichnet wird. Auf diese Weise können Sie mehrere Eingaben
hinzufügen
oder mehrere Eingaben
in den Text einfügen, wenn Sie hierher
ziehen und
Text wie diesen formatieren sagen. Wie du das jetzt benutzt, ist, dass du mit einer ecuren Klammer
anfängst. Als Erstes
brauchen wir den Namen des Feindes. Sagen wir den Namen des Feindes. Das muss nicht präzise sein. Du kannst hier schreiben
, was du willst. Lass uns die geschweiften Klammern schließen. Wenn Sie das tun und die Eingabetaste drücken, können
Sie sehen, dass Sie
hier einen Einstiegspunkt
haben , an den Sie
es wie folgt anschließen können Jetzt brauchen wir auch noch
das Level des Feindes, wie wir es anzeigen wollen. Zum Beispiel, nur
um es zu visualisieren, sagen
wir zum Beispiel Ork, wir haben ein Komma und es steht Level eins oder Level 12,
ungefähr so Hier müssen wir es auch
formatieren. So hier
haben wir den Namen des Feindes. Dann haben wir A. Hier drüben
gehe ich nach rechts und nivelliere. Dann haben wir das Level. Ich öffne
wieder
die geschweifte Klammer und sage Feindeslevel Und schließe es wieder so. Jetzt kann ich diese Eingabe hinzufügen ,
jetzt wird sie mir direkt
angezeigt. In Ordnung, diesen können wir jetzt der feindlichen Basis
hinzufügen. Wenn ich kompiliere und zur feindlichen Basis
zurückkehre, löschen wir das
alles vorerst. Und wie wir das machen,
nehmen wir das feindliche Info-Widget. Zuerst musst du ein Widget schreiben und dieses
auswählen, das als
Get User Widget Object bezeichnet wird. Jetzt koste ich
hier normalerweise, sagen wir, zwei. Normalerweise verwende ich keinen
Widget-Blueprint für die Benutzeroberfläche, weil ich finde, dass es zu viel ist,
einen Widget-Blueprint für jede einzelne Benutzeroberfläche
zu erstellen .
Sie müssen nur die Benutzeroberfläche kosten, die sich innerhalb eines Feindes befindet Zum Beispiel die Benutzeroberfläche des Hauptmenüs, Sie werden jedoch nicht zwei
kosten Das Menü, das hier eingerückt
ist, ist eine Komponente, die
Sie kosten werden, um User Bridge auf mehr als zwei zu
bringen Und wir nannten es Enemy Info. Wählen Sie es hier aus, und lassen Sie uns weitermachen
und es verbinden. Okay, hier haben wir es. Jetzt können wir das
Update Enemy Info,
Update Enemy Info Ui nennen . Jetzt müssen wir
den Namen des Feindes eingeben. Und denk dran, das
haben wir schon hier. Denken Sie daran, dass wir auf
jeden einzelnen Feind klicken und den
Namen des Feindes angeben, alle hier. Und das ist, wenn wir es benutzen. Jetzt schlagen wir das an, schließen wir es an, das ist
der Name des Feindes. Nun zum Level der Gegner Wir haben dieses als
aktuelles Level im Spielmodus. Ich kann mich nicht erinnern, dass wir in
den Benutzeroberflächen ein Interface für den
Spielmodus
erstellt haben, wir haben es nicht getan. Lassen Sie uns also weitermachen und
das Blueprint-Interface erstellen. Lassen Sie uns hier nach rechts schauen, gehen Sie zu Blueprint und wählen Sie
Blueprint-Schnittstelle Nennen wir das BPI. Ich nenne
es einfach Spielmodus, weil wir nur einen im Spiel
haben.
Lass es uns öffnen. Lass es uns hier drinnen die
Spielmodus-Referenz abrufen nennen , weil wir genau das versuchen. Für die Ausgaben müssen Sie im Variablentyp
auswählen, worauf Sie verweisen
möchten. Jetzt versuche ich, auf meinen Spielmodus zu
verweisen. Ich werde nach
dem GM Dungeon Clicker suchen. So habe ich es genannt,
das ist mein Spielmodus. Und ich werde hier
Objektreferenz auswählen. Ich
nenne es einfach Spielmodus. Fahren Sie fort und kompilieren Sie, speichern Sie alles. Und jetzt sind wir hier
drinnen fertig. Lassen Sie uns das
schließen. Jetzt müssen wir diese
Blueprint-Oberfläche zum Spielmodus
hinzufügen Wenn ich zu Blueprints zurückkehre, öffne meinen Spielmodus hier
drin Gehen wir zu den Klauseleinstellungen in den implementierten Schnittstellen Fügen wir die
Blueprint-Schnittstelle und den Spielemodus hinzu. Wenn Sie dies tun, wird diese
Funktion angezeigt. Doppelklicken wir darauf, klicken von
hier aus und sagen wir Selbst. Jetzt definieren wir
diese Variable. Wir sagen ihr, dass diese
Spielmodus-Variable selbst ist. Das heißt, egal in welcher
Blaupause wir uns gerade befinden und der Engine
sagen, dass
diese Spielmodus-Variable GM
ist, Dung Clicker Okay, jetzt sind wir fertig.
Lass es uns schließen. Lasst uns den
Feind noch einmal öffnen. Und lassen Sie uns die Arbeit fortsetzen. Anstatt das zuerst zu tun, lassen Sie mich einfach alles hierher verschieben. Lassen Sie uns die Verbindung trennen, indem wir die Alt-Taste
gedrückt halten und der rechten Maustaste klicken und „Spielemodus abrufen“
sagen. Für diesen Spielmodus erhalten
wir nun den
allgemeinen Spielmodus, den Standardspielmodus
und Unreal Engine Anstatt von Kosten für GM zu sprechen, statt
das zu tun, können wir es jetzt sagen, Referenz zum Spielmodus. Und wir können die
Blueprint-Schnittstellenfunktion verwenden. Und du weißt das, weil
es am Ende Botschaft heißt. Sie wissen, dass es von
einer Blueprint-Schnittstelle stammt. Lass uns den Sound schließen. Lass uns jetzt rausgehen und es verbinden. Jetzt
können wir mit der rechten Maustaste darauf klicken und zu unserer Variablen
hochstufen und es Spielmodus nennen. Wir müssen das alles nicht
noch einmal machen . Es ist viel sauberer. Jetzt können wir einfach
die Spielmodus-Variable verwenden. Lass uns das verbinden, lass uns
alles zusammen angehen. Lass uns weitermachen und es
benutzen. Jetzt können wir also das aktuelle Level verwenden. Wenn Sie in den Spielmodus zurückkehren und sich nicht erinnern, haben wir
diese Variable, die als
aktuelles Level bezeichnet wird. Genau das versuchen wir hier im Break-Game-Modus zu
verwenden. Suchen Sie nach dem aktuellen Level und fahren Sie fort und
rufen Sie das aktuelle Level ab. Und jetzt kannst du es verbinden und alles sollte perfekt
funktionieren. Was
gerade passiert, ist, dass wir
das Update Enemy Info UI bekommen . Wir geben
diese Informationen, den Namen des Feindes
und die Stufe des Feindes ein Es wird das hier in die Benutzeroberfläche übernehmen
. Ich gehe zur Grafik. Wenn ich
das hier einstecken werde, sollte es korrekt angezeigt werden. Wenn ich auf Play klicke,
heißt es jetzt Orc Level One.
Das ist richtig Wenn ich jetzt zum Spielmodus zurückkehre und die aktuelle Stufe
zum Beispiel auf etwa fünf
ändere und auf Spielen klicke, heißt
es Wizard Level 5. Alles funktioniert perfekt, okay. Alles funktioniert. Lass uns weitermachen und speichern.
Und lass uns weitermachen.
39. 5.05 Dem Feind Schaden zufügen: Lasst uns jetzt weitermachen und
dem Feind Schaden zufügen. Wenn wir jetzt auf Spielen klicken, möchte
ich jedes Mal, wenn
ich auf diesen Ork klicke, Schaden zufügen Denken Sie übrigens daran, in den Spielmodus
zu wechseln und das aktuelle Level
standardmäßig auf eins zurückzusetzen,
weil wir es beim letzten
Mal
auf eins gesetzt haben, auf fünf gesetzt haben Jetzt möchte ich zuerst dass Sie sehen können, wie unsere
Maus verschwindet. Immer wenn ich im
Spiel klicke, verschwindet meine Maus. Gehen wir also zum
Player-Controller. Und hier in
den Standardeinstellungen der Klasse klicken
wir auf Show Mouse Ursa Lassen Sie uns das kompilieren. Lasst uns die feindliche Basis
öffnen. Bevor ich irgendwas mache, lassen Sie uns den
Debug-Widget-Reflektor ihn auf 1,25
stellen, damit Sie hier sehen
können, was ich möchte, ist
für die Kapselkomponente, der wir
interagieren werden mit der wir
interagieren werden, wann immer
wir darauf klicken Was wir tun wollen, ist, in die Kapselkomponente zu
gehen Und hier siehst du einige
Ereignisse, die du nutzen kannst. Ich möchte, dass du
diesen benutzt, der Klick genannt wird, weil wir den Feind
anklicken werden, ohne ihn anzuklicken Fahren Sie fort und wählen Sie das aus. Und hier, was ich möchte, dass du
auch ziehst und „Zeichenfolge drucken“ sagst. Print String ist sehr mächtig. Dies druckt einfach eine
Zeichenfolge auf den Bildschirm und druckt eine Nachricht auf den Bildschirm. Es kann zum Beispiel sagen, dass es funktioniert hat. Und ich verwende das, um
meinen Code zu debuggen.
Ich möchte sehen, ob mein Event
tatsächlich funktioniert Auch das ist super mächtig. So debugge ich meinen Code. Wenn ich zum Beispiel einen Fehler habe, sagen
wir, dass hier irgendwo etwas nicht
funktioniert, würde
ich das nehmen und
es zum Beispiel hier einfügen Ich würde es hier daneben
oder zwischen diesen beiden platzieren. Wenn es gedruckt wird,
bedeutet das, dass dieser Teil funktioniert, dann würde ich es
hier ausdrucken und schauen, ob dieser Teil
funktioniert und so weiter. Drucken Sie weiterhin Nachrichten auf dem Bildschirm aus und so debuggen
Sie effektiv Hier unten auf den Klick,
mal sehen, ob das funktioniert. Wenn ich auf Play und
dann auf den Ork klicke, wird wirklich
nichts auf
dem Bildschirm angezeigt Das bedeutet, dass
dieses Event nicht wirklich funktioniert.
Etwas stimmt nicht. Das liegt daran, dass
wir in der
Kapselkomponente die
Kollisionseinstellungen hier unten überprüfen. Wir haben es auf keine Kollision eingestellt. Natürlich
wird es nicht funktionieren, wenn ich darauf
klicke, weil dieser
Typ keine Kollision hat. Wenn die Kollision voreingestellt
ist und nicht keine Kollision, klicken
wir darauf und sagen wir,
Benutzerdefiniert für die
Kollision ist aktiviert Ich werde es so einstellen, dass nur jetzt Physik
abgefragt wird. Immer wenn ein Charakter auf dem Boden
läuft und es Physik gibt, fällt
er nicht durch
den Boden und so weiter. Wir
brauchen nicht wirklich eine physikalische Abfrage. Zum Beispiel interagiert Ihre
Maus mit der feindlichen Abfrage auf. Wir brauchen keine Physik. Was die
Antwortkanäle angeht, ignoriere alles. Wir wollen nicht
mit statischen Objekten,
Figuren und Fahrzeugen usw. anderer Welten interagieren mit statischen Objekten,
Figuren und Fahrzeugen usw. anderer Welten und Fahrzeugen usw. Das Einzige, womit wir
intakt bleiben wollen, ist die Sichtbarkeit. Sichtbarkeit ist deine Maus, der wir interagieren
wollen. Wenn du jetzt auf Play klickst, klicken
wir hier. Du siehst, dass
nichts passiert. Immer noch stimmt etwas nicht. Lassen Sie uns jetzt den
Play-Controller wieder öffnen. Und hier siehst du, wie du
Klickereignisse aktivieren kannst. Das musst du auch nehmen. Kompilieren Sie, klicken Sie auf Abspielen und jetzt können Sie darauf klicken. Jetzt sehen Sie, dass unsere Nachricht auf dem gedruckt
wird. Jetzt funktioniert es wieder. Ihr könnt die Trefferbox testen, je nachdem wie groß eure Kollisionskugel
ist, unsere Kapsel. Du kannst sehen, wenn ich
hier rausklicke, es funktioniert auch. Ich denke, das ist eine faire Trefferbox, aber wenn du deine Trefferbox
reparieren willst, kannst
du jederzeit
zur gegnerischen Basis gehen ,
auf die Kapselkomponente
klicken und die halbe Höhe
und den Radius vergrößern und
verkleinern,
je nachdem, wie groß der Kreis sein soll. Wir wollen
nur Schaden anrichten. Lassen Sie uns hier sagen: Schaden anwenden. Dafür gibt es eine Funktion, mit der Sie die Option
Angewendeter Schaden
für die beschädigte Handlung auswählen können. Um uns selbst Schaden zuzufügen, wollen wir dieser feindlichen Basis
Schaden zufügen, egal auf welchen Feind wir
drängen. Wie groß soll
der Schaden sein? Wir können einfach einen statischen Schaden hinzufügen , den wir
später im Shop verbessern können. Was den Schaden angeht,
möchte ich ihn eigentlich dem Spieler hinzufügen. Das macht am meisten Sinn. Wenn ich zu Blueprints gehe, gehe
ich hier zum Player. Fügen wir eine neue Variable hinzu, die als Schaden
bezeichnet wird. Lassen Sie uns das
in eine Float-Kompilierung ändern. Lassen Sie uns es einfach standardmäßig
auf 15 setzen, wir können es später ändern. Kompilieren. Wenn ich
zur feindlichen Basis zurückkehre, brauchen wir
jetzt einen Hinweis
auf den Spieler. Sehen Sie hier, wenn wir eine Schnittstelle
haben, haben
wir keine
Blueprint-Schnittstelle Wenn ihr euch mit den
Blueprint-Interfaces
erneut selbst
herausfordern wollt , legt los und erstellt
eine für den Spieler Aber jetzt machen wir es zusammen. Klicken wir mit der rechten Maustaste, gehen wir zu
Blueprint, Blueprint-Oberfläche. Nennen wir es PPI-Ebene. Lass es uns hier öffnen. Sagen wir, holen Sie sich die Ebenenreferenz. Also, was auch immer
wir hier unten meinen, wir versuchen, auf
BP Player zu verweisen. Lass uns
danach suchen Fahren Sie fort und wählen Sie es aus. Nennen wir es Player. Lassen Sie uns jetzt kompilieren. Denken Sie daran, jetzt zu kompilieren gehen
wir zurück
zum Player und fügen diese Blueprint-Schnittstelle in den Cloud-Einstellungen hier unten hinzu,
suchen Sie nach BPI, fügen Sie den
Player hinzu, kompilieren Sie hier unten Öffnen wir es und
erstellen wir eine Selbstreferenz. Genau wie zuvor definieren wir, dass dieser Variablentyp dieser Spieler
ist. Jetzt, wo wir das getan haben,
gehen wir zurück zur feindlichen Basis. Lass es uns nach dem Spielmodus machen. Wenn ich hier einfach zuschlage, lass mich mit der rechten Maustaste klicken und „Spielercharakter holen“
sagen. Wähle dann „Lass uns von hier aus
zuschlagen“ und
sage „Spielreferenz holen“. Wähle das aus,
mach weiter und verbinde dich. Klicken wir mit der rechten Maustaste
darauf und bewerben wir es und nennen es Player. Ich
nenne es einfach Play Upon. Lass uns hier eine Verbindung herstellen. Zieh das einfach rüber. Jetzt haben wir diese
Referenz fertig und können weitermachen und
die Variable s daraus verwenden. Lassen Sie uns weitermachen und den
Cursorschaden hier unten verwenden. Lassen Sie uns das Spiel fortsetzen, Cursorschaden suchen nach Cursorschaden suchen, ihn
auswählen und ihn hier
verbinden. Einfach so. Jetzt müssen wir mit denen
nichts anfangen, um zu sehen, ob das funktioniert, und
wir werden es später verwenden. Aber was Sie tun können, ist
schreiben, klicken und nach Schäden suchen. Wir werden es später benutzen. Von hier aus können Sie eine
Zeichenfolge drucken. Sie können einfach die Höhe
des Schadens ausdrucken , den wir verursachen. Lass uns, lass uns klicken.
Und wenn ich klicke, siehst
du, dass ich
15 Schaden anrichte und alles wie
erwartet funktioniert. Lass uns weitermachen und das vorerst einfach
löschen. Lass uns das tatsächlich löschen. Wir können es in
einer anderen Lektion schaffen. Lass uns kompilieren, lass uns
alles speichern und lass uns weitermachen.
40. 5.06 Gesundheit berechnen: Lassen Sie uns nun mit
dem Ereignis „Jeder Schaden“ arbeiten. Wenn du
hier in der Feindbasis mit der rechten Maustaste
klickst, suchst du nach Schäden.
Lass uns den benutzen. Das wird verwendet, wenn Sie
Schaden anrichten, Sie gehen hier hin und
berechnen dann den Schaden, und dann fügen Sie den Schaden hinzu
, den
Sie angerichtet haben. Lassen Sie uns das tun. Lassen Sie uns eine neue Variable erstellen. Wir brauchen eine namens
Current Health. Lassen
Sie uns nun diesen in einen Float umwandeln. Lass uns kompilieren. Für
diese aktuelle Gesundheit brauchen
wir Gesundheit. Weil wir nicht wirklich bei Null
anfangen können. Der Feind hat keine Null, also müssen wir sie irgendwo platzieren. Denken Sie daran, dass
wir in
den Datentabellen , die wir in den Feindinformationen erstellt
haben, den Feinden Gesundheit hinzugefügt haben. Lass uns das
verwenden und
es als Standard festlegen, wann immer sie spawnen Der beste Weg,
das zu tun, ist hier
im Startspiel , wann immer
der Feind spawnt Nehmen wir diese aktuelle
Gesundheit und stellen sie ein. Du hältst die Alt-Taste gedrückt und ziehst, um sie einzustellen. Setzen wir es auf das, was
in der Datentabelle stand .
Lass uns mit der rechten Maustaste klicken. Denken Sie daran, dass wir eine
Bibliotheksfunktion
namens Get Enemy Info erstellt haben. Jetzt braucht es den
Namen des Feindes. Und das haben wir. Denken Sie daran, wir befinden uns in der feindlichen Basis und wir
haben den Namen hier. Ziehen wir es und stecken es ein. Lasst uns von
hier aus zuschlagen und Pause sagen. Wenn wir unterbrechen, können wir alle Variablen für diese Funktion zur
Feindinformation sehen . Jetzt stellen wir es hier einfach
auf „Gesundheit“ ein. Wir beginnen mit der
Gesundheit, die wir hier geschrieben haben. Gehen wir zurück zur feindlichen Basis. Klicken Sie hier, um unverbundene
Pins auszublenden , damit es übersichtlicher aussieht Und lassen Sie uns es verbinden. Jetzt funktioniert das hier unten. Jetzt haben wir den aktuellen
Gesundheitssatz korrekt eingestellt. Immer wenn wir Schaden anrichten, möchte
ich, dass du
die aktuelle Gesundheit nimmst, sagen
wir, die aktuelle
Gesundheit ist 100. Für die erste hier sagen
wir 100 minus. Wenn Sie einfach
Minus schreiben oder subtrahieren und den
Schaden, den wir angerichtet haben, abziehen, würde
es 100
-15 heißen . Das entspricht dem,
was auch immer es ist Wir müssen das nochmal nehmen
und wieder hier reinstellen. Es ist aktualisiert, jetzt
sagen wir, 100 -15 ist 85. 85 wird hier sein. Jetzt nur um sicherzugehen, dass
wir nicht unter Null fallen. Weil du dir vorstellen kannst,
wenn ich dauernd Schaden anrichte und es Null erreicht und ich wieder
Schaden anrichte,
dann heißt es Null, -15, das ist -15.
Anstatt auf minus Lebenspunkte zu gehen, verwenden
wir eine sogenannte Klammer Wenn Sie
hier ziehen und Klammer sagen, wählen Sie diese Variante
namens Clamp Float, weil wir
mit Floats arbeiten. Clamp Float Was Klammer ist, ist im Grunde, dass
man den Wert festklemmt, sodass er niemals
unter Null fallen kann und er niemals einen Wert überschreiten
kann, den Sie hier hinzufügen. Ich füge
einfach die aktuelle Gesundheit hinzu, weil wir den Spieler nicht
wirklich heilen. Ich werde es
zwischen dem, was auch immer es
gerade ist, festmachen und wir können nicht unter Null
gehen. Ich werde
es so einstecken. Lass uns weitermachen und es hier
verbinden. Jetzt, wo das tatsächlich fertig ist, können
Sie jetzt
darauf doppelklicken, damit es besser aussieht. Mach weiter und mach das.
Lassen Sie uns einfach wieder
eine Druckzeichenfolge verwenden und prüfen, ob wir
es richtig machen. Wenn ich kompiliere, klicke ich auf
Play und ich füge Schaden zu. Also jetzt ist es 85,
und dann ist es 70, 505-402-0510, und Und du kannst sehen,
wann immer ich klicke, es Jetzt berechnen wir
es richtig.
41. 5.07 Den Gesundheitsbalken entwerfen: Um die Gesundheitsleiste zu entwerfen, gehen
wir zum
UI-Ordner. Lass uns schreiben. Klicken Sie jetzt, lassen Sie uns zur
Benutzeroberfläche gehen und
ein Widget, einen Blueprint, erstellen Auch hier ein Benutzer-Widget. Nennen wir das
mal WB Health Bar. Lass uns hier reingehen. Nochmals, genau das, was ich zuvor gesagt habe, Bildschirmgröße. Lass uns hier klicken. Stellen Sie es auf einen generischen Laptop ein, den
wir für alle Bildschirme entwickelt haben. Lassen Sie uns dieses Canvas-Panel erstellen. Denken Sie daran,
dass wir immer eine Leinwand hinzufügen müssen. Nun zur Gesundheitsleiste Ich habe etwas für dich hinzugefügt. Wir haben es noch nicht importiert. Gehen wir also
hier in den
Kostenmaterialien zu den Kostenmaterialien.
Ich möchte, dass Sie erneut
zur Benutzeroberfläche wechseln. Sie haben vielleicht viel mehr
Benutzeroberfläche als das, was ich jetzt habe. Das liegt daran, dass ich ihn
immer
weiter ergänze , wenn ich diesen Kurs
weiterentwickle. Nehmen wir jetzt diesen
und diesen. Das ist es, was wir bisher brauchen. Lassen Sie mich hier mit der rechten Maustaste klicken, einen neuen Ordner
erstellen, ihn
Bilder nennen. Lass es uns öffnen. Öffnen wir nun
noch einmal die
Kostenmaterialien und ziehen sie
in diesen Ordner. Und jetzt sind sie hochgeladen. Jetzt sind das viele Picks, also möchte ich nicht, dass es verschwommen Denken Sie daran, Sie könnten einfach beide
auswählen. Klicken Sie mit der rechten Maustaste und gehen Sie zu Spot Actions und tragen Sie
Papier auf die Einstellungen auf. Jetzt ist es nicht
mehr verschwommen, es sieht gut aus. Gehen wir zurück zur Gesundheitsleiste. Lasst uns hier drinnen erstmal suchen. Ich möchte, dass der Text oben ist
und dann möchte ich, dass die
Gesundheitsleiste darunter ist. Dafür brauchen wir eine vertikale Box. Nimm eine vertikale Kiste dazu. In der vertikalen
Box benötige ich etwas Text. Ich werde
den Text, den wir hier gemacht haben, tatsächlich kopieren. Ich finde, es sieht gut aus. Und wir können einfach die Farbe
ändern. Klicken Sie auf das
Textsteuerelement C, um es hierher zu kopieren. Klicken Sie auf das
vertikale Feld Steuerelement V. Nun zur Gesundheitsleiste, es geht nur darum, wenn Sie nach dem Fortschrittsbalken suchen
und das ist es. Ziehe es in das vertikale Feld. nun die Größe des vertikalen Felds ändern, Lassen Sie uns nun die Größe des vertikalen Felds ändern, damit wir
tatsächlich sehen können, was vor sich geht Anstatt dass es den ganzen Bildschirm
ausfüllt, wollen
wir einfach nur
diese Feindinformationen
haben, wir wollen einfach, dass sie so groß sind
, wie sie sind Weil wir sie hier einfach im Spiel verwenden werden. Wir brauchen es nicht, um
das Ganze wieder zu füllen. Klicken Sie auf Bildschirm füllen. Hier oben bis zum gewünschten Bild auf dem Bildschirm. Anstatt dass sich der
Ankerpunkt hier oben befindet, ändern
wir ihn in die
Mitte des Bildschirms. Ändern wir die Ausrichtung
des vertikalen Felds auf 0,5 0,5 und die Position
auf Null um Null. Jetzt ist es hier in der Mitte. Okay, sieht gut aus. Nun zu diesem Fortschrittsbalken, ich
werde darauf klicken. Und für den Stil
ändern wir das Hintergrundbild. Das Hintergrundbild
ist dieser Fortschrittsbalken. Das Vollbild und
das Markierungsbild sind beide diese
Rechnung, die wir haben, diese und diese Und lassen Sie uns auf Compile klicken. Und wir können sehen, dass es nicht besonders gut aussieht, wenn wir es uns ansehen. Und das liegt daran, dass es hier, glaube
ich, das Festzelt Ich vergesse immer die
Bildgröße im Y.
Wir können sie ändern. Und jetzt können Sie sehen, dass es sich tatsächlich ändert Wir können jede
Größe ändern, die wir wollen. Ich glaube, für diesen werde ich
einfach 45 draus machen. Sie können es auch hier
im X und y im X skalieren. Sie können es auch skalieren. Jetzt können wir keinen wirklichen Unterschied
erkennen , weil dieses vertikale
Feld es blockiert. Weil wir es hier skalieren können. Aber ich werde es
hier von der Größe bis zum Inhalt skalieren .
Ich werde darauf klicken. Ich werde
das vertikale Feld skalieren,
je nachdem, wie
groß der Inhalt ist. Nun werde ich für diesen Balken die Größe auf
etwa 250
reduzieren. Wir können
ihn später immer noch vergrößern, aber jetzt sieht er gut aus. Lassen Sie uns jetzt sehen, ob diese
Füllung funktioniert. Lass uns runtergehen und du
siehst dir diesen Prozentsatz an. Sie können klicken und ziehen, um
den Prozentwert einzugeben. Sie können jedoch sehen, dass die
Farbe nicht korrekt ist. Es ist hier unten in
der Füllfarbe. Anstatt blau zu sein, werde ich es
einfach auf weiß einstellen. Und mach weiter und
klicke. Okay. Jetzt siehst du, dass es gut aussieht. Okay, jetzt haben wir das entworfen. Lassen Sie uns die Farbe
des Namens hier oben ändern oder nicht den Namen, es geht im Grunde darum, wie viel Gesundheit für die
Menge an Gesundheit steht. Ändern wir es
vielleicht in eine eher rote Farbe. Ich habe diese Farbe hier gewählt. Ich finde, es sieht gut aus. Lass uns das jetzt kopieren. Halten Sie im Grunde einfach Shift, Rechtsklick, Shift,
Linksklick auf diesen und diesen gedrückt. Anstatt diese Farbe zu haben, machen
wir es einfach zu Daka Ich finde, diese Farbe
sieht als Umriss gut aus. Lass mich das einfach kopieren
. Geh hier rein und füge es in der linearen
Hex-Farbe ein. Klicken Sie. Okay, ich finde, diese
Farbe ist gut für die Gesundheit. Jetzt sind wir damit fertig, du kannst ihm etwas Platz geben. Sie können sehen, dass es zu nah ist,
vielleicht an der Gesundheitsleiste. Du kannst
hier nach oben klicken, du kannst
zur Polsterung hier oben
nach unten gehen zur Polsterung hier oben
nach unten Wir können ihm eine Polsterung von sechs geben. Es ist ein bisschen von
der Gesundheitsleiste weggeschoben , jetzt sieht
es gut Auch hier klicke ich auf die Gesundheitsleiste und auf den Text und ändere die Sichtbarkeit
auf nicht testbar Wir können also nicht damit interagieren
, mit der Maus. Sie blockieren die
Maus im Spiel nicht. Ich werde zuschlagen. Okay.
Jetzt ist das erledigt, also lasst uns
weitermachen und mit der nächsten Lektion fortfahren.
42. 5.08 Den Gesundheitsbalken hinzufügen: Um die Gesundheitsleiste hinzuzufügen. Gehen wir zu Blueprints
und öffnen wir den Feind. Gehen wir noch einmal
zum Aussichtspunkt. Lass uns weiterklicken, klicke
einfach hier oben. Gehe zu Komponenten. Suchen Sie erneut nach Widget, genau wie wir
es mit dem Namen gemacht haben. Es ist das gleiche Konzept. Sie können versuchen, es zum Üben
selbst zu machen. Lass uns weitermachen und auf Widgets
klicken. Hier können wir einfach Health Bar sagen. Klicken Sie jetzt auf, ich
werde nur Gesundheits-Widget sagen. Vielleicht Gesundheits-Widgets. Denn wenn man
das Spiel weiter programmiert und es
ein sehr großes Spiel wird, ist
es immer schön, sehr aussagekräftige Namen zu haben , damit
es nicht zu verwirrend ist Klicke auf das Health Par Widget. Lassen Sie uns den
Abstand zum Bildschirm ändern. Es zeigt immer
die Benutzeroberfläche auf dem Bildschirm an. Lassen Sie uns die Klausel so ändern
, dass die Gesundheitsleiste angekreuzt wird. Dieser heißt Draw
a Desired Size. Ordnung, lassen Sie uns auf Play klicken und sehen, wie es
aussieht. Und hier ist es. Lass es uns
unter dem Namen notieren. Klicke darauf, Wrike. Schlag es
hier ein bisschen runter. Klicke auf Abspielen. Und lassen Sie uns
das noch weiter reduzieren. Klicken Sie auf Abspielen. Das
ist vielleicht zu viel. Sagen
wir statt -40 minus 37. Klicke auf Abspielen. Ich finde,
es sieht gut aus. Vielleicht minus 36, jetzt ist
es zu viel OCD. Klicke auf Abspielen. Das
sieht viel besser aus. Vielleicht können
wir uns dafür entscheiden. Wie Sie sehen können,
müssen wir die Gesundheitsleiste noch aktualisieren, sowohl den Text als auch
die Gesundheitsleiste hier. Lassen Sie uns das in
der nächsten Lektion tun.
43. 5.09 Den Gesundheitsbalken aktualisieren: Ordnung, um
die Gesundheitsleiste zu aktualisieren, gehen
wir zuerst zur Benutzeroberfläche Und lassen Sie uns
die Gesundheitsleiste öffnen. Lass uns hier zuerst auf den Text
klicken. In diesem Fall heißt
es Text Health, anstatt
Feindinformationen zu texten. Den zweiten hier,
den Fortschrittsbalken, nenne
ich
ihn Fortschrittsbalken. Nennen wir es einfach auch „variabel
machen“, damit wir es können. Gehen wir jetzt zur Grafik. Lass uns das alles löschen.
Lass uns ein
neues benutzerdefiniertes Ereignis schreiben,
klicken und erstellen. Nennen wir dieses eine Update. Nun zu dem, was
wir versuchen, wieder zu tun, wenn wir programmieren, denken Sie
einfach daran, was Sie gerade
versuchen zu tun? Ich versuche,
diesen Gesundheitsbalken auf den neuesten Stand zu bringen. Okay. Wie aktualisieren wir
diesen Gesundheitsbalken? Wir aktualisieren es so, dass Sie versuchen, diesen Prozentsatz zu
ändern, Sie versuchen, das zu ändern. Es gibt immer eine
gute Aktie, um einfach zu analysieren, was Sie
mit diesem Prozentsatz erreichen wollen. Gehen wir zur Grafik und nehmen
wir diesen Fortschrittsbalken. Wenn Sie nicht wissen, wie
es heißt,
versuchen Sie einfach, nach Prozent zu suchen. Sie können hier schon sehen, dass Sie diese Funktion in Prozent
setzen können. Lassen Sie uns weitermachen und dieses festgelegte Prozent
verbinden. Du musst hier mal nachschauen. Die Prozentzahl ist nicht 0-100 0-1 Wir müssen hier tatsächlich eine Aufteilung
vornehmen Denn hier
im Gesundheitsupdate wird
dieser
innerhalb der gegnerischen Basis jederzeit aufgerufen innerhalb der gegnerischen Basis Denken Sie daran,
dass wir hier die Gesundheit
berechnen ,
nachdem wir Schaden angerichtet haben. Von hier aus können wir
dieses Update Health UI nennen. Hier können wir uns mit
dem aktuellen Status verbinden. Ich klicke hier, mache hier eine neue Variable, nur regulär, damit wir sie sehen können, mache sie zu einem Float, nenne
sie Current Health. Nun, wie teilen
wir das wenn du nicht so
gut in Mathe bist? Nehmen wir zum Beispiel an,
Gesundheit ist 100 geteilt durch, also können wir dieses
Zeichen oder die richtige Division durchführen. Wir teilen das durch eine Zahl, die
der maximalen Gesundheit entspricht. Weil
du zum Beispiel sagen kannst, sagen
wir, ich füge
diesem Feind Schaden zu und der
Feind hat 100 Lebenspunkte. Der aktuelle Schaden
für den Cursor ist 15, er sagt 100 -15, es ist 85. Dann kannst du 85/100 sagen und
du bekommst die Prozentzahl. Wenn du nicht so gut in
Mathe bist, kannst
du
hier jederzeit deinen Browser Sie können sagen, sagen wir,
wir haben 85/100 Enter. Und dann können Sie sehen, dass es
tatsächlich korrekt angezeigt wird. Okay? Also so wollen
wir es machen, weil das Maximum
100 ist, was eins ist. Dieser Prozentsatz geht von 0-1
Nehmen wir an, die aktuelle Gesundheit geteilt durch die maximale aktuelle Gesundheit
geteilt durch die maximale Gesundheit. Das ist der Prozentsatz Jetzt wird es korrekt sein Lass uns jetzt kompilieren. Gehen wir zur NM-Basis
und versuchen, diese zu verwenden. Denken Sie daran, Sie müssen
jetzt die Kosten berechnen , weil Sie sich
in der Gesundheitsleiste befinden Das ist das gleiche Konzept wie das,
was wir mit dem Namen gemacht haben. Lass uns das machen. können
Sie weitermachen und eine
Blueprint-Schnittstelle dafür erstellen Das ist keine schlechte Idee. Du schaffst es, es ist in Ordnung. Aber ich denke, etwas, das ich nur einmal
kosten werde, zum werde
ich diese Funktion nur
in meinem ganzen Spiel verwenden ,
vielleicht zwei davon. Ich möchte nicht für
jede einzelne Benutzeroberfläche, die ich erstelle ,
eine Blueprint-Oberfläche erstellen Lassen Sie uns weitermachen und diesen Druckknoten
löschen. Was wir jetzt tun können, lassen Sie uns hier einfach ein neues benutzerdefiniertes Ereignis erstellen. Lassen Sie uns ein benutzerdefiniertes Ereignis
namens Update Health erstellen. Und dieses wird das Update Health UI
aufrufen. Lassen Sie uns dieses Widget ziehen. Lassen Sie uns wie zuvor
ein Widget-Objekt besorgen. Nehmen wir an, es kostet zwei
und wir nennen es Health Cost to Health Connected. Hier wollen wir das
Update Health Drag Update nennen. Ich mache weiter und
verbinde alles. Jetzt brauchen wir
Plug-ins für die aktuelle, aktuelle Gesundheit und Gesundheit, die aktuelle Gesundheit, die wir bereits hier
haben. Lass uns weitermachen und es verbinden. Weil wir es
hier drüben hinstellen, damit wir
das für die maximale Gesundheit tun können , brauchen
wir die maximale
Gesundheit des Feindes. Wie machen wir das? Denken Sie daran,
wir haben hier eine Feindinformation erstellt, es ist im Grunde diese. Du kannst im Grunde einfach dieses Steuerelement C
kopieren, hier
runter, Steuerung V, oder du kannst es umschreiben, wenn
du etwas Übung willst Versuche das nochmal zu schreiben
und schau, wie du es gemacht hast. Lass uns weitermachen und es
hier verbinden . Jetzt
aktualisieren wir die Gesundheit. Denken Sie daran, wir müssen
dieses Event veranstalten, bevor es funktioniert. Ich werde
dieses Gesundheitsupdate einfach
jedes Mal ausführen , wenn ich Schaden anrichte. Hier können wir Update
Health aufrufen und es hier aufrufen. Jetzt richten wir
Schaden mit der Maus an,
wir fügen Schaden zu. Und den Schaden, den
wir anrichten , berechnen wir und aktualisieren die aktuelle
Gesundheit des Feindes. Dann aktualisieren wir das I hier. Eigentlich hier, aktualisiere die Gesundheit. Vielleicht können wir das
hier unten haben, nur damit es mehr Sinn
macht. Was die
Programmierung angeht, werde
ich
das hier rausnehmen. Ich werde hier unten
eine Eingabe machen, einen Float namens
Current Health. Ich werde es stattdessen so
einstecken. Wir können hier drüben anschließen. Ich denke, es macht mehr Sinn. Wir können es auf beide Arten machen, aber manchmal, wenn Sie programmieren, können
Sie Dinge auf verschiedene Arten tun. Aber manche Methoden eignen sich
besser als andere. Ich denke, dieser ist ein bisschen besser, weil wir den aktuellen
Zustand hier
aktualisieren. Okay, Update Health
wird hier aktualisiert, und dann aktualisieren wir die Benutzeroberfläche, wodurch
die Gesundheitsleiste aktualisiert wird. Zuerst werden es 100 sein, aber wenn wir auf Play klicken, können Sie sehen, dass der Status immer noch Null
ist. Das liegt daran, dass es
nur aktualisiert wird. Wenn du jetzt auf den Feind
klickst, wie du hier siehst, wenn du nicht auf den
Feind klickst, ist er immer noch Null. Das liegt daran, dass wir
diesen Code jedes Mal ausführen müssen , wenn
wir den Feind spawnen Wenn wir hier oben
die gegnerische Benutzeroberfläche aktualisieren und
die aktuelle Gesundheit aktualisieren, möchte
ich auch sagen, Gesundheit
aktualisieren Und mach das,
anstatt es hier zu tun.
Denk daran, dass wir
es bereits im Rahmen dieses Events eingerichtet haben. Wir können das löschen
und wir können es
stattdessen einfach hier
einstecken und verbinden. Lass uns kompilieren und auf Play klicken. Und jetzt siehst du, dass es immer
voll ist, wenn der Feind spawnt Immer wenn ich klicke,
geht es runter. Jetzt funktioniert es, jetzt brauchen wir
nur noch das Letzte, und das ist, den Text zu aktualisieren. Das ist für diesen Text viel einfacher
. Ziehen wir es raus und ziehen es
hierher und sagen wir Text festlegen. Lassen Sie uns hier Text setzen. Für den Text
müssen wir ihn nun auf
den aktuellen Zustand
einstellen . Zieh es hierher. Und zieh das wieder runter. Doppelklicken Sie darauf,
damit es besser aussieht. Kompiliere und klicke auf Play. Jetzt siehst du, dass die Gesundheit 100 ist. Wenn wir klicken,
geht es runter. Jetzt können wir es noch einmal
mit etwas anderem versuchen. Wenn wir zu den Bauplänen gehen, den Spielmodus
öffnen,
das aktuelle Level
auf etwa Stufe drei Immer wenn ich auf den Feind klicke, wird
die Gesundheit korrekt aktualisiert Auch hier funktioniert jetzt alles
, und lassen Sie uns die aktuelle
Stufe wieder auf eins setzen, alles
kompilieren, speichern
und weitermachen.
44. 5.10 Enemy Hit Flipbook: Jetzt, wo der Schaden wirkt, wird der Feind beschädigt, wenn wir auf den Feind klicken wenn wir auf den Feind klicken. Um es ein bisschen
besser zu machen, lassen Sie uns
den Treffereffekt spielen , wenn der
Feind getroffen wurde. Das wird viel besser aussehen. Denken Sie daran, dass wir in
der Datentabelle wir bereits in
den Feindinformationen erstellt
haben, hier bereits die erfolgreichen
Animations-Flipbooks hinzugefügt haben. Lass uns die benutzen. Lass uns das schließen.
Gehen wir zurück zu den Feinden. Öffne die feindliche Basis. Innerhalb der feindlichen Basis. Lass uns hier runter gehen und
ein neues benutzerdefiniertes Event erstellen. Nennen wir das One-Hit-Effekt. Lass uns das hier machen. Wir
wollen einfach das Flipbook spielen. Der Feind hat wieder auf das Flipbook
gedrückt, genau wie bevor wir das Flipbook
nehmen können. Es ist im Grunde dieser Geist hier. Nimm den Sprite, der von
den Sprites gezogen wird, und du
kannst Du kannst versuchen zu lesen. Was
du mit all dem machen kannst. Das, was wir verwenden wollen, ist dieses eine Set
Flipbook, weil wir es auf das Flipbook setzen
wollen, wir haben das Flipbook
bereits in der Feindinformation. Ich werde das eigentlich einfach hier oben
kopieren. Fügen Sie es ein und lassen Sie uns hier
nicht verbundene Pins verstecken Lass uns hier unten klicken. Und ich werde nur die Hit-Animation
zeigen. Und dann werde
ich es hier verbinden. Jetzt wird die Hit-Animation
abgespielt. Jetzt der Hit-Effekt.
Wann immer wir jetzt klicken, musst du
sehen, wo es Sinn
macht, dieses Ereignis auszurufen? Es macht am meisten Sinn, wenn
der Feind Schaden erleidet. Nachdem du die Gesundheit aktualisiert
hast, spielst du hier unten auch das
Treffereffekt-Event. Und es wird es
abspielen. Ich klicke auf Spielen und dann auf den Feind. Du kannst sehen, dass er es spielt. Im Moment läuft
es jedoch für immer. Das müssen wir reparieren. Wir müssen es wieder auf
das normale Flipbook umstellen , nachdem
der Feind getroffen wurde. Was ich tun werde, ist, diesen Treffer nur zum Flipbook zu
lassen, einmal zu spielen und dann werde
ich
wieder zum normalen Flipbook wechseln. Wir können das so machen, dass wir dieses Monster hierher nehmen,
hierher ziehen
und Flipbook sagen Sie können versuchen, hier zu lesen,
was Sie verwenden können, das ist dieses Ermitteln Sie die Länge des Flipbooks. Dann werde ich es
um diese Zeit verzögern. Ich werde es um die
Länge des Flipbooks hinauszögern. Wenn das erledigt ist, können
wir es hierher bringen. Anstatt das zu kopieren und einzufügen, werde
ich hier einfach
die Leerlaufanimation verwenden Lassen Sie es uns so zurückstellen. Kopieren Sie das einfach, legen Sie das Flipbook hierher und Sie können
es wieder hier ablegen. Ich werde klicken, um
einen hinteren Routenknoten und so etwas zu erstellen. Das sollte einfach gut funktionieren. Wir können jetzt versuchen, zu spielen, wenn
wir auf den Feind klicken, und hier ist es jetzt,
ich werde
die Zeit erhöhen , in der dieser
Treffereffekt abgespielt wird, weil er zu
langsam abgespielt wird und komisch aussieht. Ich gehe zurück zu meinem Vermögen und öffne die Charaktere. Für diesen Hit müssen wir die Frames
pro Sekunde
erhöhen, damit er viel schneller abgespielt wird. Das können wir tun, indem ich hier
einfach auf Control Z klicke. Wenn ich einfach alle
Treffer auswähle, halte einfach die Strg-Taste aller getroffenen Flipbooks gedrückt. Sie können erneut mit der
rechten Maustaste klicken, Asset-Aktionen ausführen und es
über die Eigenschaftsmatrix auswählen. Sie können also alle
auf einmal bearbeiten. Und dann legen wir die
Frames pro Sekunde fest. Ich werde auf
40 Bilder pro Sekunde einstellen. Lass mich einfach alles speichern
und sehen, wie es aussieht. So sieht es
aus. Es sieht viel besser aus, als ob der
Feind getroffen wird. Das war's mit dem
Treffereffekt. Sehr, sehr einfach. Lassen Sie uns jetzt weitermachen und mit dem Tod des Feindes
arbeiten.
45. 5.11 Feindlicher Tod: Nun zum Tod des Feindes.
Offensichtlich stirbt der Feind immer dann,
wenn die Lebenspunkte Null sind Es ist am
sinnvollsten, es hier zu tun. Immer wenn wir dem Feind Schaden zufügen, überprüfen
wir, ob die
aktuelle Gesundheit hier ist, wir
überprüfen eigentlich gar nichts. Wir berechnen im Grunde nur die aktuelle Gesundheit und
aktualisieren die Gesundheit. Bevor ich die Gesundheit überhaupt aktualisiere, möchte
ich überprüfen, ob mein
Feind tot ist oder nicht. Lass uns weitermachen und es hier machen. Wann immer die Gesundheit stimmt, sollte
der Feind hier drüben sterben. Null
sind, sage ich einfach, ob die Lebenspunkte größer als Null sind
und mache einen Zweig und verbinde das. Immer wenn der Gesundheitszustand größer als Null
ist, wollen
wir einfach das fortsetzen,
was wir zuvor getan haben. Wenn der Gesundheitszustand jedoch
nicht größer als Null ist, bedeutet
das, dass der Zustand
Null ist , weil
wir ihn auf Null beschränken, sodass er nicht negativ sein kann. Wenn sie Null ist, lasst uns weitermachen
und den Feind sterben lassen. Ich mache einfach eine neue Variable,
ein Goldbarren namens B ist tot Normalerweise füge ich vor meinen
Bullion-Variablen ein B hinzu. Und du kannst sehen, wenn du es hierher
ziehst, du kannst das B nicht sehen. Das passiert normalerweise in
C plus und es ist auch viel einfacher, danach zu suchen, wenn du ein größeres Spiel
hast Fügen wir es jetzt hinzu und setzen es auf true. Wenn die Gesundheit
nicht größer als Null ist, bedeutet
das, dass der Feind tot ist. Also können wir das für wahr erklären. Fahren Sie außerdem einfach mit der
Aktualisierung der Gesundheit fort, da wir auch
die Gesundheit
aktualisieren müssen, um den Treffereffekt zu erzielen. Für diesen können wir jetzt
doppelklicken und
hintere Routenknoten erstellen, es sieht nicht schlecht aus,
einfach so. Was können wir nun mit
diesem machen? Mit diesem. Offensichtlich hier
im Treffereffekt, wann immer wir den Feind treffen
, wie wir es zuvor getan haben. Ich möchte
die Idle-Animation nicht immer dann abspielen , wenn der Feind stirbt. Nehmen wir den Tyrannen hier rein. Nachdem wir das verschoben haben, um die Länge des
Sprite-Buchs, verzögern wir es Anstatt die
inaktive Animation sofort abzuspielen, müssen
wir überprüfen, ob der
Feind tot ist oder nicht Lasst uns hier zuschlagen und
eine Verzweigung machen und fragen, ob der Feind tot
ist. Ja, der Feind ist tot. Okay, dann wollen wir ein Death Event
spielen. Wir haben noch kein
richtiges erstellt, also gehen wir einfach hier runter, klicken mit der
rechten Maustaste und erstellen ein neues
benutzerdefiniertes Ereignis namens Tod. Wir können später etwas
damit anfangen, aber wenn der
Feind tot ist, möchte
ich das
Death-Event hier unten spielen. Wenn der Feind nicht tot ist, möchte
ich die
Idle-Animation wie zuvor abspielen. Lass uns einfach diesen löschen
und ihn hier wieder verbinden. Und doppelklicken Sie noch einmal. Okay, hier drüben
im Death Event wollen wir einfach nur die Todesanimation abspielen. Also lassen Sie uns wieder,
genau wie zuvor, all das hier
zusammen mit der Verzögerung betrachten. Ich werde es kopieren. Ich werde es hier einfügen. Und ich werde es so
verbinden. Anstatt
die Hit-Animation abzuspielen, werde
ich die Verbindung trennen, alles ausblenden und nur die Todesanimation
anzeigen. Mach weiter und verbinde das. Stattdessen
werden wir es verzögern. Nachdem wir es verzögert haben,
möchte ich Acta vernichten. Ich möchte diesen
Acta von der Karte entfernen. Lass uns weitermachen und
auf Flugzeug klicken. Wenn ich jetzt auf den Feind
klicke, stirbt der Feind. Du kannst sehen, wie der Feind
verschwindet. Und das sieht gut aus. Im Grunde kann man sehen, dass
die Todesanimation auch seltsam
ist, der Feind fällt. Das
müssen wir reparieren. Bevor wir das tun, müssen wir
auch das Level erhöhen, denn wenn der Feind stirbt, wollen
wir, dass der nächste
Feind da ist Ich kann auch sehen, dass ich
gerade einen Bock gesehen habe. Wenn du zu oft
klickst, kannst du weiterklicken und das möchte
ich nicht tun Wir müssen das auch hier im
Ungeklickten überprüfen. Wir wollen nicht auf den Feind klicken,
wenn der Feind tot ist Lass uns das verschieben und
sagen, ob der Feind tot
ist. Und ich werde schreiben
, nicht schikanieren Das heißt, wenn der
Feind nicht tot ist, wenn tot ist falsch,
das ist es, was es hier bedeutet. Wenn der Feind nicht tot ist, dann können wir uns hier
abzweigen und fragen, ob der Feind nicht tot ist. Wir können weitermachen
und Schaden anrichten. Wenn der Feind tot ist, wollen
wir nichts tun. Lass uns auf Jetzt planen klicken und
sehen, ob dieser Fehler behoben ist. Und ich kann spammen, du
kannst die Box dort sehen, also funktioniert alles wieder. Die Animation des Todes ist
seltsam. Das müssen wir reparieren. Aber lassen Sie uns in
der nächsten Lektion weitermachen und
an der Erhöhung
des Levels arbeiten an der Erhöhung
des Levels
46. 5.12 Das Level erhöhen: Okay, um das Level zu erhöhen, ist es
meiner Meinung nach am besten, es
im Spielmodus zu tun, weil hier das aktuelle
Level gesteuert wird Lass es uns hier machen, hier drüben. Lass uns ein neues benutzerdefiniertes Event erstellen. Nennen wir das hier
Increment Current
Level . Sehr einfach Wir wollen nur
das aktuelle Level nehmen wir
hierher ziehen wollen, und Plus sagen, weil
Plus Plus bedeutet, dass Sie um
eins erhöht werden und es dann einstellen Das ist dasselbe wie das
zu tun und
plus eins zu sagen und es dann so
einzustellen Es ist dieselbe Methode. Das ist viel kürzer. Denken Sie auch hier daran, dass Plus
Plus bedeutet, dass Sie eins hinzufügen. Wenn Sie in Zukunft
zwei hinzufügen müssen, können
Sie das nicht so machen, Sie müssen es so machen. Aber es macht nicht
wirklich Sinn. Unser Level
steigt nur um eins. Lass es uns so machen. Jetzt haben wir
das Level um eins erhöht, aber wir müssen sicherstellen, dass wir das maximale Level
nicht überschreiten Ich werde eine
neue Variable namens
Max Level erstellen und ich werde sie auch als Ganzzahl verwenden Hier kannst du schreiben
, was das maximale Level ist. Bisher kann
ich in der Datentabelle sehen, dass mein maximaler
Level hier 11 ist. Ich werde hier 11
als mein maximales Level schreiben. Ich ziehe nach unten und
sage, wenn die aktuelle Stufe kleiner oder gleich
meiner Maximalstufe
ist, dann können wir weitermachen
und den Feind spawnen Denn wenn du das Level
erhöhst, musst
du auch den nächsten Feind
spawnen Ich werde hier nachfragen, mein aktuelles Level weniger oder
gleich dem Maximallevel ist, wir haben das maximale Level nicht
überschritten Wenn das stimmt, möchte ich
den nächsten Feind spawnen. Denkt daran, dass
wir das für den Spawn-Feind bereits im
Play-Controller gemacht haben Wenn ich zum Play-Controller gehe, haben
wir diesen Spawn-Feind Lass uns weitermachen und das nutzen. Eigentlich verwenden wir
das auch hier. Also kannst du das kopieren. Oder wenn du dich
daran erinnern willst, wie du es gemacht hast, kannst
du den
Player-Controller nehmen. Und tatsächlich sehe ich, dass wir für diese keine Variable
erstellt haben. Lass uns das hier einfach zu einer Variablen
hochstufen und sie Player-Controller
nennen. Und verbinde und verbinde stattdessen diesen mit diesem. Eigentlich sollten wir die
Verbindung trennen, denn jetzt sind beide verbunden Halten Sie die Alt-Taste gedrückt und klicken Sie, um die Verbindung zu trennen und nur diese Mach weiter und setze sie so
zusammen. Lass uns jetzt den Play-Controller nehmen
und
sagen, Spawn Enemy connected Denkt daran, dass wir hier diese
Funktion namens Gegner zum Spawnen
bringen
für das aktuelle Level eingerichtet haben Gegner zum Spawnen
bringen
für das aktuelle Im Grunde war das so, dass wir
gerade das aktuelle Level erreicht haben, wir haben den Namen des Feindes bekommen,
weil es ein neuer Feind ist Denken Sie daran, dass wir das Level um eins
erhöht haben. Die aktuelle Stufe wird
um eins erhöht. Es wird den nächsten Feind in
der Datentabelle nehmen , wenn es der wäre Es wird jetzt
das Level um eins erhöhen. Jetzt wird es den Roe nehmen, der Schurke wird hier
eingesperrt und Lass uns weitermachen und hier. Das sollte jetzt gut funktionieren. Lass uns das Level erhöhen. Wir müssen es irgendwo laufen lassen. Und lass es uns beim Feind
überfahren. Wenn ich den Feind erneut öffne, wann immer der Feind stirbt, kurz bevor wir die Acta zerstören Lass uns weitermachen und das
Level erhöhen. Increment Level ist
im Spielmodus. Wir haben bereits eine Referenz. Nehmen wir es,
sagen wir inkrementiert. Wenn ich hier buchstabieren kann, die aktuelle Stufe
erhöhen kann, dann machen wir den Akt zunichte Klicken wir auf „Beschweren“. Siehst du
, was passiert, wenn ich auf Play klicke? Ich töte den Feind,
der Feind stirbt. In den nächsten Feldern kann ich erneut
klicken, der Feind stirbt. Sie können sehen, dass die
Todesanimationen repariert werden müssen. Und das können wir
auf einfache Weise tun, aber wie Sie sehen, funktioniert alles
einwandfrei. Und jetzt sieht es aus wie ein Spiel. Jetzt kannst du
danach auf die
nächsten gegnerischen Spawns klicken und so weiter Fantastisch, das ist ein
wirklich guter Fortschritt. Lassen Sie uns weitermachen und alles
speichern und die
Todesanimationen in der nächsten Version korrigieren.
47. 5.13 Animationen des Feindes Tod reparieren: Um die Todesanimationen zu korrigieren. Gehen wir zu den Vermögenswerten
und Charakteren über. Wir müssen sie reparieren, weil
etwas
mit diesen Todesanimationen nicht stimmt ,
wenn wir sie anklicken. Anstatt es hier zu machen,
glaube ich, müssen wir es im Sprite
machen, die Texturen
öffnen und
wir öffnen
zum Beispiel die Nacht, und es ist
der Tod eines Todes Öffne es, du kannst
sehen, dass O-Punkt hier ist, zum Beispiel, lass uns die Nacht
überprüfen, die Nacht, lass uns die Nacht hier drüben Level 11 für die Nacht Ich stelle die
Gesundheit einfach auf eins, ich
lasse sie einfach hier sein. Ich werde meinen Schaden ausgleichen. Das ist viel einfacher, wenn ich
den Player-Controller
oder eher den Player öffne . Und der Cursorschaden. Ich werde es einfach auf
etwas Superhohes einstellen, damit wir den Sofortspielmodus starten können . Lass uns hier in den Spielmodus gehen. Lass uns das aktuelle
Level auf 11 Play setzen. Ich kann hier klicken, der Feind
wird zur Seite geschoben. Das liegt daran, dass sich der
Drehpunkt an einer falschen Stelle
im Drehpunkt befindet und nicht in
der Mitte. Sie müssen
diesen in Benutzerdefiniert ändern. Jetzt musst du hier mit
dem Drehpunkt spielen. Du kannst damit spielen und
du kannst sehen, was passiert. Aus diesem Grund
müssen wir nicht damit spielen. Eine, die wir spielen wollen, ist diese. Jetzt ist es bei 24. Wenn ich es nur noch einmal zur
Gewohnheit sagen würde, 24, dann möchte
ich, dass du sagst, dass
so etwas wie minus acht
normalerweise eine gute Zahl ist. Minus acht. Man kann
sehen, dass es in der Mitte ist. Versuchen Sie nun, um
acht zu erhöhen oder sagen Sie minus acht. Normalerweise
ist es für Piloten plus acht. Minus acht, Minus
acht scheint zu funktionieren. Wir müssen es bei allen machen. Wenn ich die Assets,
Charaktere, Texturen, wieder öffne Charaktere, Texturen, muss ich das
jetzt
für alle tun. Anstatt das zu tun,
kann ich mit der rechten Maustaste klicken und in der
Eigenschaftsmatrix für das Sprite zur Auswahl von Asset Action
It
wechseln Eigenschaftsmatrix für das Sprite Lassen Sie uns den
Drehpunkt so einstellen, dass er benutzerdefiniert ist. Jetzt kann ich den
benutzerdefinierten Drehpunkt hier aus
irgendeinem Grund nicht ändern . Ich muss es manuell machen. Ich glaube nicht, dass wir das schaffen können. Wir müssen es manuell machen. Aber wir haben den
Drehpunkt auf Benutzerdefiniert gesetzt. Klicken wir nun
auf den ersten. Sagen wir minus acht, genau wie zuvor, wir müssen das mit allen
machen. Der nächste minus acht, der nächste minus acht, der
nächste minus acht und der letzte minus acht. Lassen Sie uns jetzt sehen
, ob das funktioniert. Lass uns auf Play klicken. Wenn wir diesen Feind jetzt töten, sieht die
Animation gut aus. Ich kann auch einen Bug sehen. Wenn du merkst, wenn ich auf
Play klicke und der Feind stirbt, der Feind
wieder und verschwindet So kannst du den Feind sehen oder ein Frame erscheint, bevor er verschwindet. Lassen Sie uns das auch hier
beheben, solange wir den Fehler sehen Gehen wir zu Blueprint.
Gehen wir zum Feind, zur feindlichen Basis Es passiert hier im
Tod, weil wir es hinauszögern. Dann erhöhen wir den Level und
dann zerstören wir den Schauspieler. Wenn du willst, kannst du dieses Monster
herbringen, lass mich das alles wegbringen Wir können hier sagen und
sagen, es ist Looping,
oder eher Set Looping Set-Looping, wir können
das Looping auf False setzen. Dann kannst du versuchen, hier
zu sehen, wann ich dafür den Feind
töte Aber vielleicht wird es jetzt auch dafür sorgen , dass das Looping beim nächsten Mal
falsch ist Lassen Sie uns tatsächlich sehen, was es macht. Das wird es wahrscheinlich tun, wenn ich in den Spielmodus
gehe. Öffne jetzt den Spielmodus. Stellen Sie das aktuelle Level auf
etwa neun Spiele ein. Wenn ich diesen Kerl töte, dann den nächsten, okay, es ist okay. Jetzt funktioniert alles in Ordnung. Das behebt das Problem. Gehen wir zurück zu Level 11. Sie können sehen, dass es
den Drehpunkt
repariert, die Todesanimation
für diesen Kerl repariert. Hier musst du sie alle
für Level eins testen. Lass mich dir nur ein paar
davon zeigen und ich muss es in meiner Zeit
machen, sonst wird das Video zu lang. Aber lass mich
dir nur zwei davon zeigen. Ist der nächste, dieser hier. Gehen wir zu Texturen. Lasst uns den Tod
hier unten finden. Ich werde sie alle auswählen. Klicken Sie mit der rechten Maustaste darauf. Auswahl in der Eigenschaftsmatrix, hier
im Sprite Lassen Sie uns den
Drehpunkt auf Benutzerdefiniert ändern. Lassen Sie uns, lassen Sie uns das schließen. Öffnen Sie jetzt jedes einzelne hier. Nun, was diesen angeht,
kannst du sehen, dass er hier oben ist. Vielleicht müssen wir Y
und X korrigieren . Ich
sage minus acht. Es ist nicht minus acht,
es ist plus acht. Plus acht, um wieder zur Standardeinstellung
zurückzukehren. Und plus acht,
vielleicht muss ich das. Und wieder acht,
so wie hier, es sind 48. Lass uns einfach versuchen, das zu tun. Plus 16 im Grunde insgesamt. Plus 16, plus 16. Ich muss raten und sehen
, dass das hier richtig ist. Plus 16. 16 auch für
diesen. Lass uns auf Play klicken. Sie können sehen, dass die
Todesanimation korrekt ist. Im Moment ist der Tod richtig. Wir müssen das noch einmal für sie
alle tun. Plus acht minus acht Pixel ist immer die beste
Option. Der nächste ist der Roe. Lass uns das E probieren.
Den Rest kannst du selbst ausprobieren. Tod, wir klicken auf Auswahl
in der Eigenschaftenmatrix. Gehen wir hier zu Sprite. Ändern Sie den Drehpunkt
oder den Drehmodus auf Benutzerdefiniert. Öffnen wir es
wieder
in der ersten , sagen wir plus acht. Ich glaube, es ist wieder plus
acht. Plus 16. Machen wir es für
den Rest von ihnen. Sagen wir mal plus 16 hier
drüben. Plus 16, glaube ich, ist
dieselbe Zahl. Lassen Sie uns diese
Zahl kopieren und diese Zahl im Grunde so in
alle
einfügen. Sei vorsichtig, es ist nicht immer dieselbe Zahl im X. Pass
einfach lass uns spielen und schauen: Jetzt ist der
erste Tod richtig, der zweite Tod ist richtig. Okay, lass es uns machen. Ich werde
es jetzt alleine machen. Bearbeiten Sie sie im Grunde einfach in der Eigenschaftsmatrix
auf Benutzerdefiniert und sagen Sie
dann plus acht oder minus acht, bis das Problem behoben ist. In Ordnung, jetzt bin ich fertig. Wenn ich jetzt klicke, kannst
du sehen, wann immer
ich die Feinde töte, sie sind alle repariert, was
die Todesanimation angeht. Es sieht also alles gut aus. Ich werde es einfach schließen. Das war es jetzt. Denken Sie daran, zum
Player-Controller zurückzukehren ,
den Spielmodus zu steuern und
das aktuelle Level
auf eins einzustellen , wenn Sie möchten. Stellen Sie außerdem die
Player-Controller so ein, dass sie nicht spielen. Kontrolliere den
Cursorschaden des Spielers auf etwa 15. Kompilieren Sie erneut und jetzt sind
wir damit fertig und fahren
wir mit dem nächsten fort.
48. 5.14 Klicke auf VFX: Ordnung, was wir jetzt tun
können, ist,
einen Treffereffekt zu erzielen, wann immer
wir den Feind treffen So können wir einen Effekt haben,
der auftaucht. Also visueller Effekt
, wann immer wir treffen. Lass uns weitermachen und das machen. Nun, was den Hit-Effekt
angeht, habe ich dir etwas
aus dem Kursmaterial gegeben. Wenn du es hier
in den Kursmaterialien öffnest, möchte
ich, dass du die Benutzeroberfläche öffnest. In der Benutzeroberfläche habe ich
Ihnen hier einen Hit-Effekt gegeben. Lass es uns einfach in die Bilder einfügen. Lass es mich einfach hier
reinziehen. Füge es jetzt hinzu, es ist Pixel. Ich klicke mit der
rechten Maustaste auf Aktionen und trage
Papier auf die Einstellungen auf. Das werden wir hinzufügen. Nur ein einfacher Effekt dafür. Auch das sind ein paar
Sprites zusammen. Lass uns einfach wie
zuvor mit der rechten Maustaste klicken und Sprites extrahieren. Fahren Sie fort und wählen Sie hier
Grid aus. Für das Grid
müssen wir erraten, was es ist. Vielleicht 64 mal 64. Sie können sehen, dass es
tatsächlich weniger als das ist. Aber was wir tun können, ist, dass Sie sehen
können, dass es zwei mal zwei ist. Also können wir das tatsächlich teilen, wir können sagen geteilt durch
zwei, oder du kannst 32 schreiben. Das ist auch in Ordnung, geteilt durch zwei und es wird
richtig sein, 32 mal 32. Lassen Sie uns weitermachen und das alles
extrahieren. Lass mich einfach schreiben, hier
klicken, damit es nicht mit all
dem überfüllt Lassen Sie mich einen neuen Ordner erstellen, und ich
nenne ihn Texturen Und mach weiter und
wähle all das aus. Und wähle das auch aus. Und füge es hier und hier hinzu. Lass uns einfach ein
Flipbook daraus machen. Ich wähle das alles aus
und ich kann schreiben Klick, ich kann das, beende das Flipbook. Nennen wir es
Flipbook. Hit-Effekt. Lass es uns öffnen. Und so
sieht es jetzt
mit dem Hit-Effekt aus. Ich denke, die Zahl der Bilder pro
Sekunde bei 15 ist für mich in Ordnung. Sieht gut aus. Wir können es immer im Spiel
anpassen. Lass es uns vorerst schließen. Und ziehen Sie das in
den Bilderordner. Es ist hier draußen und
wir können es jetzt benutzen. Sie können das auf zwei Arten tun. Die erste Art, wie Sie das tun
können, ist wie zuvor im Bauplan Genau wie bei den anderen Sprites können
Sie
das Sprite hier hinzufügen Immer wenn du auf den Feind
klickst, kannst du den Sprite
so spielen, dass er Schaden anrichtet Der Nachteil
ist jedoch, dass du
den Schadenseffekt nur
einmal spielen kannst den Schadenseffekt nur
einmal wenn du zweimal
hintereinander klickst Es wird
den letzten Effekt annullieren und der neue
wird abgespielt. Das gefällt mir nicht. Ich möchte so
viele Effekte erzeugen, wie ich will,
je nachdem, wie
schnell der Spieler ist Wenn wir auf das klicken, machen wir
weiter mit den Bauplänen. Und hier
klicken wir mit der rechten Maustaste, um einen neuen Blueprint-Kurs und einfach einen einfachen Schauspieler zu erstellen , der dieses Flipbook enthält Schauspieler erstellen. Nennen wir
das einen BP-Hit-Effekt. Lass es uns hier öffnen. Lass uns ein Flipbook hinzufügen. Wenn Sie nach einem Flipbook suchen, können
Sie es hinzufügen. Ich
nenne es einfach Hit Effect. Jetzt können wir das
Flipbook hier hinzufügen. Es ist dieses eine Flipbook. Hit Effect. Fahren Sie fort
und wählen Sie es aus. Und hier kannst du es sehen. Was diesen Treffereffekt angeht, gehe
ich einfach runter
zur Kollision und stelle
sicher , dass es keine Kollision gibt, weil
ich das nicht will Ich werde
bei der Kollision
diese Kollision entfernen und
Überlappungsereignisse erzeugen. Ich sage hier
nein zu den Kollisions-Presets. Ich
sage einfach keine Kollision, es gibt überhaupt keine
Kollision Ich kompiliere und
lass es uns schließen. Jetzt möchte ich das immer dann spawnen
, wenn ich auf den Feind klicke. Und denken Sie daran, dass das Spawnen immer unter der
Spielersteuerung erfolgt Also werde ich dafür einfach hier
reingehen. Ich werde einfach
ein neues benutzerdefiniertes Event erstellen. Ich nenne es wie zuvor
Spawn-Effekte, ziehe es hierher und sage
Spawn Acta Nun, welche Klausel wollen
wir spawnen? Wir müssen es hier nicht verbinden, weil
es
nur ein statischer Wert ist und
es der Treffereffekt ist, eine
Blaupause, die wir hier spawnen wollen Ich würde sagen, immer
spawnen, Kollisionen ignorieren. Was nun die Spawn-Transformation angeht, hängt
es davon ab, wo wir mit
der Maus darauf drücken , um diesen Wert zu finden Was wir tun können, ist rechten Maustaste zu klicken und diese Funktion zu
verwenden Wenn du nur nach Mäusen suchst, wenn du nicht weißt, wie sie
heißen, dann mache ich das. Manchmal kann man
sich all diese ansehen. Was wir für diese
Instanz verwenden können, können wir auch für diese verwenden. Konvertiert die Position der Maus
in den Weltraum. Wo auch immer sich die Maus befindet, wir werden den Effekt
dort erzeugen, wo der Spieler geklickt Lass uns weitermachen und
das machen. Lass es uns hier so
verbinden. Es wird es für uns zu
einer Transformation machen und es verbinden. Lass uns versuchen, das zu tun. Vorerst müssen wir den
Treffereffekt irgendwo erzeugen. Lassen Sie uns ihn hier im
Feind spawnen. Immer wenn wir auf den Feind klicken
und der Feind nicht tot ist, fügen wir den Schaden zu, aber wir wollen auch den Treffereffekt
spielen Lass uns hier vom Player-Controller aus
zuschlagen. Und wir haben nicht wirklich einen Hinweis auf den
Player-Controller. Lassen Sie uns das tun. Lass mich diesen
Spielmodus einfach hierher ziehen. Lass mich Controller sagen. Und wähle es aus. Wir haben
das schon einmal gemacht. Wir können per Drag-and-Say die
Player-Controller-Referenz abrufen. Wir haben bereits diese
Blueprint-Schnittstelle. Lassen Sie uns das zu Recht zu
einer Variablen namens
Player-Controller
heraufstufen einer Variablen namens
Player-Controller Lass uns weitermachen und es hier
verbinden. Wir haben das sehr schnell. Jetzt können wir diesen
Player-Controller hierher bringen und sagen, wie
wir ihn nennen. Wenn ich einfach zurückgehe, kann ich
mich nicht erinnern, gehe ich zurück hierher. Wir nannten es Spawn Hit
Effect, Drag Here. Und sagen wir Spawn-Treffereffekt, der jedes
Mal
darauf reagiert, wenn wir
Schaden anrichten und
kompilieren und speichern Wenn wir jetzt einfach auf den Feind
klicken,
sehen wir, dass wir ihn tatsächlich hier spawnen Aber jetzt kannst du sehen, dass es für immer in einer
Endlosschleife läuft. Das müssen wir auch reparieren. Ihr habt auch gesehen, dass der Effekt im
Grunde im Inneren
des Feindes liegt. Ich möchte nicht, dass das
auch behoben wird, da der Effekt
im Inneren des Feindes liegt. Das liegt daran, dass
wir mit
zwei D arbeiten und diesen grünen Wert im Grunde
kontrollieren. Denken Sie daran, dass der grüne Wert das Y ist, Sie bewegen Dinge nach
hinten oder vorne, anstatt dass er
an der Mausposition Null ist. Nehmen wir
das und sagen Plus, versuchen
wir,
plus eins im Y zu sagen. Lassen Sie uns weitermachen und es wieder hier
umrechnen. Spielen Sie und sehen Sie, wie Plus dem Feind
hinterherläuft. Wenn du es
stattdessen einfach löschst und Minus,
minus eins sagst , mach weiter
und verbinde es erneut. Abspielen. Jetzt kannst du sehen, dass
es vor dem Feind ist. Okay, jetzt lass uns weitermachen
und wir müssen zerstören. Denn vergiss nicht, dass es
sehr wichtig ist , dass
du die Handlung zerstörst. Denn wenn du weiter klickst,
denk daran, dass wir Acts erzeugen Schau einfach hier, wie
viele Schauspieler du hervorbringst. Jedes Mal, wenn ich klicke, spawne
ich einen Schauspieler. Stellen Sie sich vor, wenn Sie 2 Stunden später weiter
klicken, haben
Sie so viele Schauspieler , dass Sie Ihr eigenes Spiel zum
Absturz bringen Achte darauf, dass
du jedes Mal, wenn
du etwas spawnst, es auch wieder entfernst, wenn
du es nicht mehr benötigst Innerhalb dieses Treffereffekts
zu Beginn des Spiels werde
ich einfach diesen Treffereffekt verwenden Das ist im Grunde
dieses Flipbook hier. Jetzt werde ich sagen,
Looping-Set ist Looping falsch,
ich möchte nicht, dass es ewig wiederholt wird Außerdem, genau wie zuvor
verwenden wir diese Flipbook-Länge, ermitteln die Flipbook-Länge, und dann erstelle ich einen
Delay-Node Nachdem der Effekt einmal
abgespielt wurde, werde
ich den Schauspieler vernichten. Zu welchem Schauspieler werde ich gehen? Ich werde mich selbst zerstören, das
heißt, ich werde
diesen Bauplan hier zerstören Und wenn ich auf „Jetzt abspielen“ klicke und auch auf
die Schauspieler hier oben achte , klicke
ich hier, ich spawne einen Schauspieler,
aber es geht zurück auf 15 und es wird nur
einmal abgespielt, wie Sie hier sehen können Obwohl ich
hier spamme und klicke, richte ich Schaden an. Es sieht nett aus. Es wird immer auf
15 zurückgehen, weil es
jeden Effekt zerstört , den ich
kreiere und der perfekt funktioniert. Gehen wir nun
zum nächsten über.
49. 5.15 Die Floating-Text-Benutzeroberfläche entwerfen: Lassen Sie uns nun weitermachen und die schwebende Text-Benutzeroberfläche
entwerfen, die immer dann erscheint, wenn
Sie den Feind treffen Und es wird dir sagen, wie
viel Schaden du angerichtet hast. Bevor wir das tun,
lassen Sie mich kurz
HP hinter dem Gesundheitsnamen hinzufügen . Wir wissen, dass es Gesundheit ist. Lass uns das einfach ganz schnell
machen,
bevor wir weitermachen. Wenn du das Widget für die
Gesundheitsleiste öffnest, Blueprint, den wir
zuvor im Diagramm erstellt haben, haben wir hier die Gesundheit
hinzugefügt Denken Sie jetzt daran, dass Sie, wenn Sie neben
dynamischem Text auch
statischen Text verwenden möchten , das
Textformat ganz einfach verwenden müssen Schreiben Sie einfach
Formattext von hier aus. Lass uns offene
geschweifte Klammern schreiben und ich nenne es
einfach Gesundheit
und schließe geschweifte Klammern Jetzt erscheint das, dann können
wir Leerzeichen HP schreiben. Wir haben HP dahinter. Und ich werde das alles einfach
löschen. Und wir können es tatsächlich einfach
von hier ziehen und einstecken, und es wird
diese Integer-Variable verwenden. Das ist jetzt behoben und
das ist alles, was wir tun mussten. Jetzt kannst du sehen, ob
ich auf Play klicke. Wenn ich das einfach neu organisiere
und auf Play klicke. Jetzt siehst du, dass ich am Ende auch HP
habe, und ich finde, es
sieht viel besser Okay, lass es uns schließen. Lass uns jetzt mit der rechten Maustaste hier klicken. Gehen Sie zur Benutzeroberfläche
und erstellen Sie ein neues Widget, Blueprint. Erstelle ein neues Nennen wir diesen
einen schwebenden Text. Nun zu diesem, lassen Sie uns ihn noch einmal
öffnen. Lassen Sie uns zuerst eine Leinwand hinzufügen.
Dann fügen wir etwas für den Text hinzu. Wir können es tatsächlich
einfach aus
den Feindinformationen kopieren. Wir können hier dasselbe verwenden, Steuerung für den Text. Gehen Sie hier zum
Canvas-Panel und drücken Sie V. Und hier haben Sie es
für den gesamten Bildschirm. Ich werde es stattdessen so ändern, wie es auf dem Bildschirm
gewünscht ist. Dann wieder die Bildschirmgröße und wie zuvor auf ein
generisches Laptop-Modell
umstellen. außerdem sicher, dass
der Text hier ist. Das liegt schon
daran, dass wir ihn von hier
kopiert haben. Aber stellen Sie einfach sicher, dass
die Ausrichtung 0,50 0,5 und die Position 00 ist Es ist hier perfekt
zensiert
und auch, dass die Größe
zum Inhalt angekreuzt ist Okay, hier ist der Text
, den wir brauchen. Und das war eigentlich, ich meine, da ist nicht wirklich viel dran , weil wir den Schaden hier
haben werden. Aber du kannst einfach einen Fülltext
schreiben wenn du willst, zum Beispiel. Du kannst zum Beispiel schreiben,
dass
dies der Schaden ist, den der Spieler angerichtet hat. Offensichtlich wird der
Spieler
am Anfang nicht so viel tun. Aber auch das
ist nur ein Füllstoff. Lass es uns schließen
und lass uns weitermachen.
50. 5.16 Floating-Text-Animation: Es ist jetzt an der Zeit,
einige UI-Animationen zu machen. Wenn Sie Ihre
schwebende Text-Benutzeroberfläche öffnen, haben Sie die
Animation
wieder hier unten. Wenn Sie sie jetzt nicht geöffnet haben, können
Sie jederzeit
hier unten und auf die Registerkarte Animation klicken. Und dann können Sie im Layout
auf Duck klicken. Und es wird die ganze Zeit aktiv bleiben
. Um nun eine UI-Animation zu erstellen, müssen
Sie uns zuerst die Animation
erstellen lassen. Wenn ich hier unten auf den Link klicke, nenne
ich
es hier einfach schwebenden Text. Zuerst musst du auf das
klicken, was du willst, um diesen Text zu animieren Zum Beispiel diesen Text, ich werde den Namen tatsächlich
ändern Es sind keine Feindinformationen, es ist ein schwebender Text wie dieser. Sie müssen dabei auf die
Plus-Spur klicken und schon haben Sie den
schwebenden Text ausgewählt. Sie können sehen, dass es hier unten
erscheint. Wenn Sie auf den schwebenden Text
klicken, klicken Sie erneut hier. Dann haben wir etwas, das
als Transformation bezeichnet wird. Und hier ändern Sie,
wo es sich auf dem Bildschirm befindet, sowie die
Drehung des Textes. Wenn Sie nur die
Transformation und die Übersetzung öffnen, möchten wir
dies bearbeiten. Was ich hier machen möchte,
ist sehr, sehr einfach. Ich möchte nur, dass dieser schwebende Text
immer nach oben fliegt, wenn ich den Feind treffe. Also lasst uns
hier bei Null anfangen, es ist in Ordnung, nichts wird
passieren. Es ist Null. Wenn ich jetzt auf, sagen
wir 0,6 Sekunden, dann mache
ich etwa -100 und das Y, es ist hier oben. Jetzt können Sie sehen
, dass der Text nach oben fliegt,
wenn Sie ihn ziehen Text nach oben fliegt Jetzt musst du es im Spiel
testen wie schnell es tatsächlich fliegt. Aber wenn du einfach auf Leertaste klickst, wenn ich nur diese Zeilen
hier für den schwebenden Testtext entferne , kannst
du einfach
auf Leertaste klicken, um ihn abzuspielen. Dadurch siehst du, wie
schnell es tatsächlich abgespielt wird. Ich denke, es ist in Ordnung.
Wir können es immer
anpassen, wenn wir nicht zufrieden
sind. Als Nächstes
möchte ich, dass
es in dieser
Phase der Animation verschwindet. Und dann erscheint es und dann
verschwindet es wieder hier
oben. Lass uns hier oben klicken. Finden wir die Opazität
hier unten, die Rendo-Opazität. Lass uns weitermachen und darauf klicken. Am Anfang möchte
ich, dass es Null ist. Es beginnt ohne Opazität und dann geht es vielleicht bis
etwa 15. Hier bei 15 möchte ich, dass die Opazität eins ist.
Auch hier erscheint es Jetzt kannst du es sehen, oder es erscheint hier für uns, es ist am Anfang unsichtbar. Dann glaube ich, um 0.45 Uhr möchte
ich, dass es eins ist. Auch
hier klicken Sie einfach
auf diesen kleinen Punkt , um einen Animationspunkt hinzuzufügen Dann möchte
ich, dass es am Ende Null ist. Sie können wieder sehen,
dass es so aussieht. Und dann verschwindet es
wieder hier drüben. Klicken Sie auf das Leerzeichen und sehen Sie
, wie die Animation aussieht. Eine sehr einfache Animation, aber professionell aussieht. Irgendwie, sehr schnell. Man kann viel Zeit damit verbringen, manchmal verbringe
ich eine halbe Stunde,
1 Stunde, 2 Stunden damit,
etwas sehr Komplexes zu machen. Sie können den
Text immer nicht nur nach oben fliegen lassen, sondern er kann auch so in
einem Bogen zur Seite fliegen , so wie hier. Sie können versuchen,
so viel
mit der Animation zu spielen , wie Sie möchten. Es sieht immer professionell aus
, wenn ein Spiel richtig gut ist. Ich zum Beispiel Animation,
Textanimation. Das war alles, was wir jetzt
tun mussten , da wir
die Animation haben. Lass uns mit dem nächsten weitermachen.
51. 5.17 Den Floating-Text generieren: Ordnung, für schwebenden Text müssen
wir
ihn in das Level spawnen Nun, wir können
es nicht zum Feind hinzufügen, normalerweise sind wir in den
Feind gegangen und
haben hier ein Widget wie
die Gesundheitsleiste und so weiter hinzugefügt Was den Text betrifft, da wir so wird viel Text als Kampftext
erscheinen,
da wir
den Feind spammen und wir hier
klicken viel Text als Kampftext
erscheinen Wir können ihn nicht dem Feind hinzufügen, denn wenn wir
ihn dem Feind hinzufügen, erscheint nur eine Instanz dieses
Textes Es wird ein bisschen dämlich aussehen, wenn hier
nur ein Text fliegt, genau wie der Treffereffekt hier. Wenn wir auf den Feind klicken, müssen
wir den Text spawnen,
genau wie wir es hier getan haben. Denken Sie daran, dass
wir den Treffereffekt tatsächlich einem Akteur zugeordnet spawnt
, und er
löscht sich dann später Wir müssen dieselbe Methode anwenden. Klicken wir mit der rechten Maustaste hier und erstellen Sie eine neue Blueprint-Klasse Wählen Sie einfach einen einfachen Akteur Nennen wir diesen einen
BP-Floating-Text Jetzt hier drinnen,
lass uns diesen öffnen. Für den schwebenden Text klicken
wir auf ein Widget für die
Suche nach einem Widget. Fahren Sie fort und wählen Sie Widget eins aus. Nennen wir
es einfach schwebenden Text. nun darauf klicken,
ändern wir den Bereich auf Bildschirm, weil wir möchten, dass er
in Richtung des Bildschirms
für die Widget-Klasse angezeigt wird. Ändern wir es in
den schwebenden Text. Zeichne die gewünschte Größe, dann sollte es in Ordnung sein. Machen Sie weiter und kompilieren Sie das
Nächste, was wir tun wollen. Denken Sie jetzt daran, dass wir es jedes Mal
spawnen müssen , wenn
wir auf den Feind klicken Sehen wir uns hier die Feinde und die Basis Immer wenn wir auf den
Feind klicken und Schaden zufügen, wollen
wir diesen Akteur spawnen Denkt jetzt an das Spawnen.
Wir machen das im
Player-Controller Gehen wir zum
Player-Controller, öffnen ihn, hier spawnen wir
hier drinnen Lass uns weitermachen und
ein neues Event dafür machen. Klicken wir mit der rechten Maustaste und erstellen Sie ein neues
benutzerdefiniertes Ereignis für dieses Event. Nennen wir es
Spawn-Floating-Text. Auch hier klicken wir mit der
rechten Maustaste und verwenden den sogenannten
Spawn-Schauspieler aus dem Unterricht Dieser, das Ding, das wir genauso wie
zuvor spawnen wollen. Wir müssen es
nicht so dynamisch in
das Event integrieren weil es nur eine
Klasse ästhetischer Klasse ist , die wir hervorbringen Genau wie der Hit-Effekt hier. Wir wählen
den schwebenden Text aus, den
wir erzeugen möchten, und verbinden ihn
dann Wo
wollen wir ihn jetzt spawnen? Wir brauchen einen Spawn-Ort, wir
brauchen die Transformation nicht wirklich Stattdessen nehme ich
das und sage „Transformieren durchführen“. Wenn wir das tun,
brechen wir die Transformation. Denken Sie an eine Trans. Wenn Sie
sich das Detailfenster ansehen etwas auswählen, besteht
es aus der
Position, Drehung und Skalierung des Elements,
wenn wir es aufschlüsseln. Und es heißt
machen, denken Sie daran, dass es Pause
heißt, wenn
es in diese Richtung geht, aber es heißt,
es geht so. Kann immer von hier aus schleppen. Sagen wir zum Beispiel Break Vector. Aber ich kann nicht sagen, dass man den
Vektor auf diese Weise erstellen kann. Das ergibt keinen Sinn. Diesen Weg durchbrechen,
diesen Weg gehen. Wir machen die Transformation. So können wir auch die Position, die
Rotation und den Maßstab sehen . Jetzt, wo wir den Standort haben, ziehen
wir ihn einfach
hierher und schauen, was passiert. Wir können ihn später jederzeit bearbeiten. Dafür
nenne ich es Spawn-Standort. Dann brauchen wir auch den
Text, den wir brauchen, was sollte der Text sein Lassen Sie uns das einfach später bearbeiten. Wir müssen es jetzt nicht tun, aber jetzt veröffentlichen wir
den Text zumindest auch hier unten. Stellen Sie sicher, dass Sie
„Immer spawn, Kollisionen
ignorieren“ auswählen und mit der
Kompilierung fortfahren Stellen wir sicher, dass die
Kollisionen nicht da sind. Wenn ich zum schwebenden Text gehe
und auf das Widget klicke, gehe ich
zum untersten Zeichen, gehe nach oben auf Nein
, entferne, generiere Überlappungsereignisse Und auch für die
Kollisions-Voreinstellungen stelle ich Einstellung „Keine Kollision Wir wollen hier keine Kollision
mit diesem Schauspieler. Mach weiter und speichere alles. uns jetzt hier in der feindlichen Basis versuchen, Lasst uns jetzt hier in der feindlichen Basis versuchen, es hier
für den Play-Controller zu spawnen Das haben wir schon hier. Lasst uns zuschlagen und sagen,
schwebenden Text erzeugen. Fahren Sie fort und wählen Sie
jetzt aus,
wo wir einen Ort
angeben müssen , an dem wir ihn spawnen möchten Jetzt, wo wir ihn spawnen wollen, ist genau dort, wo sich dieser
Feind gerade befindet Und denkt daran, dass wir im Feind
sind. Und ich übertreibe das Ganze
und sage, suche dir einen Standort. Oder den Standort des Feindes ermitteln, ich werde ihn also einfach
spawnen Jetzt klicken wir einfach auf Spielen
und schauen, was passiert, wenn ich hier auf den Akt
klicke
oder auf den Feind Ihr könnt sehen, dass
es tatsächlich spawnt, aber wir müssen es auch entfernen So sieht es nicht fehlerhaft aus, aber
damit machen wir in einer anderen Lektion weiter Zumindest
spawnen wir jetzt den Text, wenn
wir auf den Feind klicken Wie du hier sehen kannst, spielen wir im Grunde diesen schwebenden
Spawn-Text Was ich hier auch
für den Spawn-Treffereffekt tun möchte, ist, im Grunde
jedes Mal gespielt wird, wenn wir den Feind treffen Und wir erzeugen
den schwebenden Text , weil wir den Feind treffen Was wir jetzt tun können, da ich derzeit kein
Problem damit sehe, können
wir den
Treffereffekt immer hier drin Jedes Mal, wenn wir Schaden anrichten, müssen
wir dies und das spielen Ich spiele gerne so wenig Funktionen wie möglich, damit du dein Spiel nicht
verwirrst. Später werde ich X
kontrollieren, um das zu entfernen. Dann werde ich
diesen schwebenden Spawn-Text verbinden. Erst dann gehe
ich hier rein. Hier können wir
diesen Treffereffekt erzeugen. Wir haben diese
Veranstaltung bereits hier drinnen. Einfach ziehen und sagen,
Spawn-Treffereffekt. Jetzt können wir den Treffereffekt
jedes Mal
erzeugen , wenn wir
den schwebenden Text erzeugen Wenn es
später im Spiel eine Instanz gibt, in der
wir den schwebenden
Text ohne den Treffereffekt erzeugen müssen, können
wir jederzeit zurückkommen
und ihn hier hinzufügen Aber im Moment
müssen wir nicht wirklich ständig zwei
Ereignisse hinzufügen Wir können das immer spielen und
alles wird gut sein. Okay, das war für den Moment. Lass uns
mit dem nächsten weitermachen.
52. 5.18 Aktualisieren der Floating-Textanzeige: Okay, jetzt werden wir den schwebenden
Text korrekt
aktualisieren Jetzt kannst du versuchen
, es selbst zu machen
, weil es eigentlich eine einfache Aufgabe ist. Versuche also darüber nachzudenken, wie ich diesen schwebenden
Text korrekt
aktualisieren kann . Wenn ich auf den Feind klicke, sollte
dieser Text korrekt
angezeigt werden. Es ist immer schön, es
selbst zu machen , wenn man sich immer noch
nicht sicher ist, wie man es macht. Lass uns jetzt versuchen,
gemeinsam weiterzumachen. Ich
fange manchmal gerne rückwärts an. Anstatt vom Player-Controller aus
zu starten und zu
versuchen, die Dinge hier zu aktualisieren. Ich möchte
mit dem letzten Schritt beginnen, weil er am Ende
am sinnvollsten sein wird. Gehen wir zur Benutzeroberfläche. Lassen Sie uns den schwebenden Text öffnen. Im Grunde ist das Ziel, diesen Text hier zu aktualisieren. Wir haben es Text
Floating Text genannt und dann haben wir dafür gesorgt, dass es
hier in der Grafik variabel ist. Lass uns das alles einfach löschen. Was wir tun wollen,
ist, einfach diesen Text zu nehmen und den Text zu verwenden,
der als Festtext bezeichnet wird. Das ist im Grunde unser Ziel. Wir wollen dem
Text einen Wert geben, der dem
Schaden entspricht, den wir mit der Maus anrichten. Was wir tun können, ist, mit der rechten Maustaste zu klicken und ein benutzerdefiniertes Ereignis durchzuführen. Und dann können wir sagen, schwebenden Text
aktualisieren. Wir können einfach
dieses benutzerdefinierte Ereignis verwenden. Lassen Sie uns weitermachen und es jetzt
für den Text
verbinden , mit dem wir es aktualisieren
möchten Wir können
es jederzeit einfach in das Ereignis einbinden und später dynamisch aktualisieren. Nennen wir es einfach Text, oder Sie können
es auch schwebenden Text nennen. Ich nenne es einfach Text. Eigentlich
müssen wir es nicht
Floating Text nennen und dann kompilieren. Jetzt müssen wir dieses
Update verwenden, Floating Text. Ich werde es über
meinen Schauspieler aktualisieren , weil das für mich am
sinnvollsten ist. Ich gehe zu den Bauplänen. Ich gehe zum schwebenden Text. Öffne es hier drinnen, wir wollen dieses
Update verwenden, schwebenden Text. Ich, ich werde es
immer benutzen, wenn wir den Schauspieler spawnen. Jedes Mal, wenn ich klicke und
wir diesen Schauspieler spawnen, möchte
ich, dass er sofort
aktualisiert wird Ich werde einfach den Anfang benutzen. Spiel hier im schwebenden
Text, Schauspieler hier. Lassen Sie uns diesen schwebenden Text verwenden. Wir haben das Widget hinzugefügt, ziehen
wir es hierher. Und sagen wir, holen Sie sich Benutzer-Widget-Daten. Oder holen Sie sich lieber
ein Benutzer-Widget-Objekt, keine Daten. Nun, das werden wir
noch einmal sagen, kostet zwei. Lassen Sie uns die Kosten auf den schwebenden Text hier
drüben reduzieren. Mach weiter
und verbinde es. Jetzt werden wir ziehen und jetzt können wir das
Update Floating Text, UI, verwenden. Wir ziehen und sagen Floating-Text I
aktualisieren. Wir benötigen einen Wert
aus diesem Text, weil Sie
jetzt sehen können, ob ich zum Beispiel einfach Hallo
schreibe. Und ich kompiliere und klicke auf Play. Und ich klicke hier, du kannst sehen, dass es jetzt korrekt
aktualisiert wird. Aber wie
komme ich hier an den Schaden? Weil wir nicht wirklich eine Textvariable
haben und ich auch keine Plug-ins
dafür habe, wie bei allen Eingaben. Jetzt
können Sie eine neue Variable erstellen. Wenn ich
hier eine neue Variable erstelle und sie einfach Text nenne, werde
ich
sie in eine Zeichenfolge ändern. Was wir jetzt tun können, ist, dass wir
runtergehen und den
Player Controller öffnen können . Denken Sie daran, dass dies der nächste Schritt ist,
wenn wir rückwärts gehen, da wir
im Play-Controller diesen
schwebenden Text Da du es zu
einer editierbaren Instanz gemacht hast und beim Spawn
offenlegst, was jetzt passiert, wenn du kompilierst, erscheint es
manchmal nicht, also
musst du auf Datei klicken und Wenn Sie das tun, können Sie
sehen, dass dieser Text erscheint. Das liegt daran, dass
Sie hier eine Instanz einstellen , die editierbar ist
und beim Spawn verfügbar ist, wodurch diese
Instanz dann hier angezeigt wird, wenn
wir den Schauspieler spawnen Was wir jetzt tun können,
ist,
diesen Text zu nehmen und ihn wieder hier
einzufügen Ich werde es einfach über
diesem Spawn-Ort platzieren und wir können es einfach Text nennen Das ist in Ordnung. Wenn ich jetzt zum schwebenden Text
zurückkehre, lassen Sie mich einfach diesen Text
hier nehmen und ihn hier einfügen. Es wird
meinen Text
automatisch in eine Zeichenfolge
wie diese ändern . Okay, jetzt fügen wir es
dem Player-Controller hier hinzu, also sollte es
in der feindlichen Basis erscheinen. Also lasst uns weitermachen und
die Feinde einchecken und die feindliche Basis öffnen
. Und jetzt können wir sehen,
dass wir eine Texteingabe haben. Nun zur Texteingabe Was wir einfach anzeigen wollen, ist der Schaden an der Maus. Und das
haben wir schon. Das haben wir in der Spielfigur, wir haben den Cursorschaden Du kannst immer C V
kontrollieren. Kopiere es hierher und verbinde es
einfach Jetzt wird es
deinen Float in eine Textvariable umwandeln . Okay, das sollte
jetzt
eigentlich perfekt funktionieren , wenn wir einfach auf
Play klicken und es testen. Wenn ich mit der Maus auf My Damage
is 15 klicke, und das ist richtig, funktioniert
alles einwandfrei. Aber wie Sie sehen können,
steckt es immer noch hier in der Mitte fest, weil wir
mit der Animation spielen müssen. Und das werden wir
in der nächsten Lektion tun. Aber nur um es schnell
durchzugehen, Sie können sehen, wie wir rückwärts
arbeiten manchmal sogar
sinnvoller ist fange damit an,
ob Sie das wirklich tun wollen, ich möchte meinen Text festlegen, und hier habe ich angefangen Dann gehe ich rückwärts
und versuche das zu tun. Und
manchmal macht es sogar mehr Sinn , wenn
wir in der Animate-Basis den Cursorschaden einbauen Es geht bis zum schwebenden
Spawn-Text, der sich im Play-Controller befindet und auf den Schauspieler
reagiert Und wir fügen
diese Textinformationen
hier ein, die im Grunde
erscheinen, weil wir hier auf den Text
geklickt haben und
ihn beim hier ein, die im Grunde Spawnen
dieser Textinformationen sichtbar gemacht Spawnen
dieser Textinformationen sichtbar Jetzt, wo wir das getan haben, fügen wir
sie in die schwebende Text-Benutzeroberfläche des Updates Und es wird die Benutzeroberfläche so
aktualisieren. Okay, das war es vorerst. Lass uns
mit dem nächsten weitermachen.
53. 5.19 Die Floating-Text-Animation spielen: In Ordnung, lassen Sie uns weitermachen
und die Animation abspielen. Gehen wir zurück
zur Benutzeroberfläche und öffnen die schwebende Text-Benutzeroberfläche hier
die schwebende Text-Benutzeroberfläche
.
Gehen wir zur Grafik. In der Grafik sehen wir
diese schwebende Textanimation, die wir zuvor erstellt haben,
wie Sie hier sehen können nun zu dieser Animation Gehen
wir nun zu dieser Animation zur Grafik.
Ziehen wir es hinein. Lassen Sie uns von
dieser Animation ausgehen und einfach sagen, Animation abspielen. Jetzt können wir diese
Funktion verwenden, Animation abspielen. Mach weiter und verbinde es.
Für diese Play-Animation ist
diese Zeit jetzt Null. Das ist in Ordnung. Die Häufigkeit, mit der
es wiederholt wird, ist für alles
in Ordnung. Hier ist gut. Wir
müssen wirklich nichts ändern. Wenn ich jetzt auf
Abspielen und dann darauf klicke, kannst
du sehen, dass die
Animation abgespielt wird. Eigentlich funktioniert alles,
und das sollte es sein. Denken Sie jedoch daran, dass wir den Schauspieler
nicht zerstören. Und das wird ein großes Problem
für dein Spiel
sein , wenn du es nicht tust. Denn jetzt kannst du
sehen,
wie viele Schauspieler ich spawne
, wenn ich klicke Schauspieler ich spawne
, wenn ich Im Moment sind es 32, ich klicke weiter, jetzt sind es 42, weil wir nur den Treffereffekt
entfernen Denken Sie daran, dass wir
diesen Treffereffekt jetzt auch erzeugen. Und wir spawnen immer wieder
Darsteller
des schwebenden Textes, und
wir entfernen sie nie Das wird ein Problem sein
und
dein Spiel wird abstürzen, wenn du oft genug
darauf klickst Lassen Sie uns den
schwebenden Text öffnen. Wie zerstören wir
diesen schwebenden Text? Ich, das können wir tatsächlich wieder drinnen machen
. Geh zurück zu den Bauplänen, öffne den schwebenden Text Lass es uns hier drinnen machen. Nun, da wir
diesen schwebenden Text haben, können
wir ihn ziehen und nach dem schwebenden Text
suchen, den
wir zuvor erstellt haben Jetzt können
wir hier ziehen und sagen, Endzeit abrufen Wir können eine Verzögerung
wie zuvor gebrauchen. Sie können sogar den
Treffereffekt öffnen und sehen, was wir hier gemacht haben. Wir haben im Grunde dasselbe gemacht. Dies war jedoch ein Flipbook. Wir haben die Länge der Flipbooks. Nun zur Animation, wir haben die Endzeit. Wir wissen, wann es endet. Wenn Sie das tun, können
Sie
eine Verzögerung verwenden , nachdem die
Animation abgespielt wurde. Sobald Sie weitermachen können diesen schwebenden
Textakteur direkt von hier aus
löschen. Und sag Schauspieler zerstören. Und jetzt wird
es zerstört. Lassen Sie uns alles sagen.
Und klicken Sie auf Abspielen. Und ich werde das
einfach minimieren. Und wieder sehe ich, wie
viele Schauspieler ich hervorbringe. Jetzt klicke, klicke und
klicke, ich sollte wieder
bei 15 sein, weil ich hier meinen gesamten
Text lösche ,
meinen schwebenden Text Ich werde
die Position
des Textes anpassen , weil ich
nicht möchte, dass er in
der Mitte des
Feindes Ich werde
den Player Controller öffnen und hier
haben wir den Spawn-Standort Ich werde es hierher ziehen. Stattdessen
nehme ich das und sage Break Vector, damit ich
es in X, Y und Z aufteilen kann Das Gleiche gilt
auch
für diesen. Ich ziehe und sage, dass Make Vector auch
X, Y und Z sehen kann. Wenn Sie das tun, können
Sie immer hier
im Darstellungsfenster
die Achse und ihre Position sehen die Achse und ihre Position Was das X hier angeht, müssen
wir es nicht wirklich ändern weil
es
bereits zentriert
auf den Akteur für
das X ausgerichtet ist auf den Akteur für . Ich werde
es einfach direkt hineinziehen Ich möchte
diesen Wert jetzt nicht für das Y anpassen, Y ist dieser, der grüne. Y steuert, wie viel
Hin und Her es ist. Ich werde hier nur eins für
das Y sagen , weil eins
nur bedeutet, dass ich es dem Feind ein bisschen
vor die Nase stellen
werde. Der Text erscheint
nicht im Feind und wir haben einen visuellen Effekt wie einen Bug Statt zehn können
Sie hier sehen, dass es zehn sind. Anstatt
nur einen Text im Y zu schreiben, stelle ich sicher, dass dieser Text vor dem Feind
liegt. Für den Wert
ist das jetzt wichtig,
der Z-Wert ist dieser. Und ich wollte
hier über dem Feind spawnen. Was ich tun kann, ist, vielleicht so etwas wie das Z zu
nehmen, das wir schon haben, und ich werde
sagen und es hinzufügen Ich werde 22 hinzufügen und dann werde
ich es wieder einstecken. Was wir jetzt tun,
wir nehmen im Grunde den Z-Wert, fügen 22 hinzu und dann fügen wir ihn ein Wir machen weiter und spielen. Ich kann
hier über dem Charakter sehen, wo es sich über die Pfoten erstreckt. Ich denke, das ist viel
besser als zuvor. Sie können die Position jederzeit
anpassen je nachdem, wo
sich der Text befinden soll. Okay, das war es vorerst. Lass uns weitermachen und alles
speichern und lass uns jetzt weitermachen.
54. 6.01 Die Timer-Benutzeroberfläche entwerfen: In Ordnung, jetzt ist es an der
Zeit, den Timer hinzuzufügen. Wenn wir das Spiel spielen und versuchen, diesem Feind
Schaden zuzufügen, möchte
ich einen
Rundentimer haben, damit du nicht ewig Zeit hast, diesen Feind
zu füllen. Wenn der Rundentimer vorbei ist, wird dieser Feind real sein. Wenn du es zu langsam machst, heilt
es wieder ab und
du musst vielleicht
ein Level zurückgehen, um den anderen Feind zu besiegen , bevor
du weitermachen kannst. Lass uns das vorerst einfach schließen
. Jetzt befindet sich der Timer
in der Haupt-Benutzeroberfläche. Es ist nicht wirklich eine Benutzeroberfläche für sich. Lassen Sie uns weitermachen und die
Haupt-Benutzeroberfläche erstellen. Klicken wir mit der rechten Maustaste und
gehen wir damit zu Benutzeroberflächen, Blueprint Nennen wir das B-Main. Dies ist die
Haupt-Benutzeroberfläche für das Spiel. Lass es uns öffnen
und hier drinnen, noch
einmal auf einer Leinwand. Jetzt, in
diesem Leinwand-Panel, möchte
ich, dass der Timer
hier horizontal ist. Ich suche einfach
ein horizontales Kästchen. Ich werde es hier hinzufügen. Und dann dieses horizontale Feld, ich werde
es in der Mitte ausrichten, hier
oben, in der oberen Mitte. Ich klicke auf die
Ankerpunkte, Tender, obere Mitte. Wenn du 00 in X und Y schreibst, kannst
du sehen, dass es nicht zentriert
ist, wie ich es hier im X
habe, ich muss 0,5 schreiben, also ist
es jetzt in der Mitte. Okay, das ist
jetzt mit dem Bild
oder dem Symbol fertig . Ich werde
nach einem Bild suchen Fahren Sie fort und fügen Sie es
dem horizontalen Feld hinzu. Nun zu den Symbolen, wir haben noch nichts importiert, und ich habe das
für Sie hier in die Benutzeroberfläche aufgenommen. Ich habe hier eine Uhr, fetter Klick, erstelle einen neuen
Ordner namens Icons. Lass uns weitermachen und von hier wegziehen, lass uns dieses Symbol hineinziehen. Vergewissern Sie sich einfach, dass Sie erneut darauf
doppelklicken.
Vergewissern Sie sich, dass die
Texturgruppe auf UI und die
Komprimierungseinstellungen auf
Benutzeroberfläche zwei D eingestellt sind. Fahren
Sie fort und speichern Sie. Gehen wir wieder rein und suchen nach der
Uhr, oder sie ist jetzt einfach hier
vor uns. Anstatt das
hier für die vertikale Ausrichtung gestreckt zu machen , werde
ich
auf die Mitte klicken. Dann lassen Sie uns etwas Text hinzufügen. Nun zum Text,
ich werde ihn einfach von unseren anderen Benutzeroberflächen
kopieren. Vielleicht dieser hier. Ich werde
das kontrollieren, geh zurück. Steuerung V auf der horizontalen Box. Zentrieren Sie es vertikal.
Hier haben wir es. Geben wir ihm etwas Platz, suchen
wir nach einem Abstandshalter Füge es dazwischen hinzu. Den Abstandshalter, vielleicht
gebe ich ihm so etwas wie 12 D X. Ich finde, er sieht gut aus. Nun, der Text, wir können ihn immer
verkleinern Nun zum Text, ich
weiß nicht, ob wir
die Größe reduzieren sollen oder nicht, weil es
eigentlich ein wichtiger Timer ist. Ich denke, die Größe ist in Ordnung. Lassen Sie uns einfach die Größe
dieses Bildes hier unten erhöhen. Statt 32 mal 32 schreibe
ich 40 mal
40, ungefähr so. Du kannst es hier auch mit einem
Block nach unten streichen. Ich denke nicht, dass es zu zentriert ist. Vielleicht, wenn ich hier klicke und es
unten mit einer Polsterung versehen würde, etwa zwei Und das sollte in Ordnung sein. Wir können es später jederzeit anpassen. Ich mache mir momentan keine allzu
großen Sorgen um die Benutzeroberfläche. Sie können auch hier im horizontalen Feld oben auf
„Größe
an Inhalt anpassen
“ klicken , wir können es verschieben. Schauen wir uns hier an,
was wir mit dem
Y machen können . Normalerweise schreibe ich 30,
35, hier ist es an den Rändern Nun, so
sieht es aus. Ich finde, es sieht gut aus. Bei Clicker-Spielen mag
ich es jedoch, wenn die Uhr hier oben steht. Weil es sehr
wichtig ist, dass du siehst, wie viel Zeit du noch
hast, wenn du klickst Und du musst nicht ganz
nach oben schauen , statt hier. Jetzt füge ich es
einfach hier zusammen. Im Moment können wir die Benutzeroberfläche
jederzeit ändern. Es dauert nicht, wenn Sie alles programmiert
haben, was Sie
sich vorstellen können , wenn
Sie ein großes Spiel haben, sondern
Sie können die gesamte Benutzeroberfläche
ändern. Vielleicht wird es an einem Tag
nicht mehr lange dauern, und dieses Spiel
hat offensichtlich nicht viel UI. Also können wir
es innerhalb einer Stunde ändern. Aber vorerst lassen
wir die Uhr einfach hier oben stehen. Und lass uns alles speichern. Lassen Sie mich auf den Text klicken und
sicherstellen, dass die Sichtbarkeit so eingestellt
ist, dass sie nicht
testbar ist. Dieser auch. Wir können es einfach so einstellen,
dass es auch testbar ist, damit die Maus nicht damit
interagiert Das war es.
Speichern wir alles und fahren wir mit
dem nächsten fort.
55. 6.02 Anzeigen der Haupt-Benutzeroberfläche: Lassen Sie uns nun fortfahren und
die Haupt-Benutzeroberfläche auf dem Bildschirm anzeigen. Wenn wir mit der Benutzeroberfläche arbeiten, machen
wir das normalerweise innerhalb
des Player-Controllers. Öffnen wir den
Player-Controller und machen wir das hier drinnen. Jetzt haben wir noch nichts mit der
Benutzeroberfläche
gemacht , wo wir
sie auf dem Bildschirm haben. Normalerweise haben wir es
bisher an einen Schauspieler
angehängt,
aber jetzt
müssen wir tatsächlich eine Benutzeroberfläche erstellen
und es an den Bildschirm
statt an den Schauspieler anhängen. Lassen Sie uns weitermachen und das tun.
Ich werde sie einfach alle hier runterschieben. Lass uns anfangen. Normalerweise klicke ich jetzt mit der rechten Maustaste hier und
erstelle ein benutzerdefiniertes Ereignis. Und ich werde
Ihnen eine intelligente Methode zeigen falls Sie sie noch nicht getan haben. In einem meiner anderen Kurse erstelle ich
normalerweise ein
Ereignis namens Widget anzeigen ,
ausblenden oder öffnen. Widgets öffnen und schließen, du kannst es
nennen, wie du willst. Widget einblenden, Widget öffnen,
schließen. Das ist hier. Jetzt müssen wir angeben, über welches Widget
wir sprechen? Und ich glaube nicht, dass
wir dafür noch
eine Aufzählung erstellt haben dafür noch
eine Aufzählung Wenn du es Come
Blueprints, Aufzählungen nennst. Jetzt
werde ich hier eine Liste
erstellen, welche Benutzeroberfläche ich in meinem Spiel haben werde Ich werde
es Spiel-Widgets nennen, weil ich später auch
eines habe , das als
Hauptmenü-Widgets bezeichnet werden kann. Dieses wird also Spiel-Widgets
genannt. Jetzt müssen wir hier eine
Liste
angeben , welche Widgets
du im Spiel hast. Ich kann zum Beispiel eine Haupt-Benutzeroberfläche
haben. Ich kann zum Beispiel einen Upgrade-Shop usw. einrichten. kannst du später haben, aber Moment benötige ich nur die Haupt-Benutzeroberfläche. Ich nenne es einfach Main. Wenn Sie jetzt zum
Play-Controller zurückkehren, können
wir hier in der
Eingabe nach der Aufzählung suchen , die wir Spiel-Widgets
genannt haben Und wir können rausgehen und es auswählen. Ich
nenne das einfach Widgets. Wenn wir ein Widget öffnen und schließen, müssen
wir angeben, über welches
Widget wir sprechen. Ich kann
diese Funktion tatsächlich hier
oder dieses Ereignis aufrufen , damit Sie
sehen können, wie es aussieht. So wird es aussehen wenn ich diese Funktion später aufrufe. Jetzt können wir auswählen, über
welches Widget wir sprechen. Außerdem möchte ich noch einen
Input, einen Bullen. Ein Goldbarren ist einfach,
wiederum, nur ein Ja oder Nein. Nur falsch oder wahr. Für diesen
werde ich offen sagen, ich nenne es einfach Show. Ich
nenne es normalerweise gerne Einblenden/Verstecken. Ich verwechsle
mich nicht mit diesem. Ich werde es
in Show Hide Widgets umbenennen. Wir müssen angeben, über welches Widget wir jetzt sprechen. Wir haben nur die Haupt-Benutzeroberfläche und können sie
dann ein- oder ausblenden. Wenn ich das
Häkchen nicht gesetzt habe, heißt es Ausblenden. Und wenn ich das
angekreuzt habe, ist es Show. So mache ich das normalerweise. Das hier, wir können einen Zweig bauen. Wenn es jetzt angezeigt wird, wollen
wir das Widget zeigen. Weil das wahr ist. Lassen Sie uns zwei Funktionen erstellen. Lassen Sie mich eines namens
Show-Widget
erstellen und ein anderes Widget erstellen. Normalerweise füge ich für meine
Funktionen ein als Präfix hinzu. Es ist viel einfacher,
danach zu suchen , denn wenn Sie mit der rechten Maustaste klicken
und tatsächlich suchen, , denn wenn Sie mit der rechten Maustaste klicken
und tatsächlich suchen, können Sie in Zukunft all Ihre
Funktionen nutzen. Für die Widgets zum Anzeigen klicke
ich, ich habe eine Eingabe von Spiel-Widgets und wähle
das aus und nenne es Widget. Das Gleiche gilt hier
für das Hyde Widgit, mach weiter und klicke
darauf, füge das hinzu und nenne es Was wir
jetzt hier in der Sendung Widgit machen wollen, wollen
wir von hier ziehen und
sagen, Enumeration einschalten Was wir
hier tun werden, wir
sagen ihr im Grunde , ob die Aufzählung oder ob dieser Wert main ist,
was wollen wir tun? Stellen Sie sich vor, wir hätten
ein anderes, zum Beispiel, wir
hätten ein Einstellungsmenü
und gehen raus und speichern Jetzt können Sie hier sehen, dass
dies hier hinzugefügt wird. Wenn der Wert, der hier
ankommt, im Grunde von hier oben
ausgewählt wird, wählen
wir aus, welcher Wert
sein soll , wenn er hier
in das Show-Widget kommt. Und der Wert ist
main, zum Beispiel wird
er
den Code hier unten ignorieren und nur den Code hier oben
ausführen. Das ist es, was die Aufzählung
einschaltet. Wird der Code
hier ausgeführt? Und dieser wird nicht
ausgeführt, wenn der Wert hier main
ist. Lassen Sie mich
diese Einstellungen vorerst löschen. Was wir
hier tun wollen, ist im Grunde das Widget zu
erstellen und es dem Bildschirm
hinzuzufügen. Klicken wir mit der rechten Maustaste und sagen Widgets
erstellen Wählen Sie aus, welches Widget
Sie erstellen möchten. Ich möchte die
Haupt-Benutzeroberfläche erstellen und mit der rechten Maustaste darauf klicken und sie zu einer Variablen heraufstufen. Nennen wir es im Grunde
das Haupt-Widget. Dann
wollen wir von hier aus ziehen und „Zum Viewport hinzufügen“ sagen So fügen wir
die Benutzeroberfläche zum Bildschirm hinzu, denn es reicht nicht aus,
dass Sie sie erstellt haben, sondern Sie müssen sie auch zum Viewport hinzufügen , bevor
Sie sie sehen können, okay Jetzt können wir es so verbinden und alles ist gut Was ich jedoch gerne mache, ist nur der Optimierung halber,
wir können diese Variable, die
wir gerade erstellt haben, nehmen, klicken und
in ein validiertes GET konvertieren. Was wir jetzt tun können, ist, das
Ganze trennen, indem wir die
Alt-Taste gedrückt halten und klicken, und
wir können das verbinden. Wenn dies nun nicht gültig ist, ist
diese Variable nicht gültig. Das bedeutet, dass dies noch
nicht erstellt wurde. Wir haben die Benutzeroberfläche noch nicht erstellt. Es wird als nicht gültig angezeigt. Wenn es nicht gültig ist, wollen
wir weitermachen
und die Benutzeroberfläche erstellen. Wenn wir
die Benutzeroberfläche jedoch bereits einmal erstellt haben, bevor
sie gültig ist, müssen wir sie nicht ständig erstellen und
diese Variable weiterhin setzen, wenn wir dies bereits einmal getan
haben. Sie
ist gültig, wenn
wir sie einmal erstellt haben. Und dann werde ich es stattdessen einfach zum
Viewpoint hinzufügen, wir müssen
es nicht ständig erstellen Okay, lassen Sie uns jetzt
für das Hyde-Widget kompilieren. Lass uns genauso hierher zurückkehren. Sagen wir, schalten Sie die Aufzählung ein, schalten Sie die Spiel-Widgets ein Dann hier, was ich möchte, dass du
einfach diese Variable ziehst, einfach diese Variable ziehst erneut mit der
rechten Maustaste klickst und wie zuvor in
ein validiertes GET
umwandelst wie zuvor in
ein validiertes GET
umwandelst Dann lassen Sie uns ziehen und sagen „Aus
den Eltern entfernen“. Es vom Bildschirm entfernen. Das wurde von den Eltern entfernt, jetzt entfernen wir
es vom Bildschirm. Okay, wie verwenden wir diese
Funktionen, die wir gerade erstellt haben? Wenn wir nun zum Ereignisdiagramm
zurückkehren, können
wir die Funktionen, das Widget zum Ein- und Ausblenden,
hineinziehen . Lass uns weitermachen und sie verbinden. Wenn das Mobbing wahr ist, wollen
wir das Widget zeigen, wir machen weiter und
verbinden dieses Wenn das falsch ist, wollen
wir das Widget verstecken, wir verbinden das andere Nun, das Widget, das
hineingeht, ist einfach das, was wir hier oben ausgewählt
haben. Aber wir können diese
Eingabe einfach in diese Funktionen ziehen, und die Daten werden hier
in diese Funktionen übernommen. Jetzt ist es tatsächlich fertig. Was wir tun können, ist
, wir können
dieses Ereignis hier aufrufen , wann immer wir ein Widget ein
- und ausblenden möchten. Ich kann also sagen, Widget anzeigen, ausblenden. Ich kann angeben, von welchem
Widget ich spreche. Ich kann auch angeben, ob wir dieses Widget ein- oder ausblenden möchten . Super intelligente Funktion
, die wir verwenden können. Das ist im Grunde
so, dass wir nicht den ganzen Code hier rausschreiben müssen, es ist viel einfacher,
einfach diesen zu verwenden. Lassen Sie uns weitermachen und die Haupt-Benutzeroberfläche
anzeigen. Lass uns das einfach hier
im Player Controller machen. Lass uns Ereignisse schreiben und mit dem Spielen beginnen. Was sollte passieren, wenn ich
anfange, das Spiel zu spielen? Ich möchte dieses Widget nur
ein-/ausblenden. Also möchte ich mein
Hauptmenü oder meine Haupt-Benutzeroberfläche anzeigen. Im Grunde. Das ist es hier. Wenn wir kompilieren und
ich auf Play klicke, kannst
du sehen, dass ich jetzt meinen Timer hier oben
sehen kann. Denn jetzt
zeigen wir das Widget. Wenn Sie das Widget ausblenden möchten, können
Sie jederzeit
hier klicken . Und du kannst auf Play klicken. Und Sie können sehen, dass das
Widget weg ist, weil wir es jetzt verstecken. Das Haupt-Widget wird angezeigt, und so wird es gemacht. Lassen Sie uns weitermachen und
alles schließen und dann weitermachen.
56. 6.03 Den Runden-Timer einstellen: Es ist jetzt an der Zeit, den Rundentimer
hinzuzufügen. Bei
Einzelspieler-Spielen werden
wir nicht wirklich
dafür verantwortlich gemacht , wo wir den Code hinzufügen
wollen Ich könnte den
Rundentimer zum Spieler hinzufügen, ich könnte ihn zum
Spieler-Controller und ich könnte ihn
zum Spielmodus hinzufügen Im Mehrspielermodus
hättest du grundsätzlich ein Problem, weil du die Dinge richtig machen
müsstest. Aber im Einzelspielermodus können wir
tatsächlich alles
programmieren , zum Beispiel innerhalb
des Players, obwohl es im Spielmodus
sein sollte. Und das Spiel würde gut
funktionieren einfach bleiben und gute
Programmierübungen machen würden. Lass uns den Rundentimer
im Spielmodus machen. Denken Sie daran, dass
der Spielmodus die Spielregeln bestimmt. Ich denke,
so etwas wie ein Rundentimer ist so etwas wie eine Regel in einem Spiel. Lassen Sie uns statt hier den Roundtimer
machen. Ich möchte versuchen
, ein anderes benutzerdefiniertes Ereignis durchzuführen. Lassen Sie uns mit der rechten Maustaste klicken und ein benutzerdefiniertes Ereignis
durchführen. Nennen wir diesen einen
Startrunden-Timer. Wir wollen
den Runden-Timer starten. Ich möchte hier
hauptsächlich etwas verwenden , das
als Timer by Event bezeichnet wird. Klicken Sie ganz mit der rechten Maustaste und
suchen Sie Timer nach Ereignis, wählen Sie diesen aus. Jetzt ist der Timer nach Ereignis einfach ein Timer, der immer
wieder wiederholt wird. Anstatt den Event-Tick zu verwenden, weißt du
vielleicht schon, was ein
Event-Tick ist. Wenn Sie das nicht tun,
läuft dieser 60 Mal pro Sekunde. Wenn ich einfach hierher ziehen und eine Zeichenfolge
ausdrucken und
einfach Hallo sagen könnte. Du kannst sehen, wenn ich auf Play klicke, wird
es tatsächlich 60 Mal pro Sekunde
gedruckt. Hier heißt es Hallo. Normalerweise ist es sehr schlecht, das in einem Spiel zu verwenden. Wenn ich mir eines Tages dein Spiel ansehe, möchte
ich nie ein Event in deinem Spiel tickt,
weil es extrem schlecht ist , es
zu benutzen, es sei denn, du
musst es wirklich benutzen. Für Fun Tail habe ich zwei Jahre lang
entwickelt, dieses
habe ich noch nie benutzt. Und ich denke auch nicht, dass Sie ihn
verwenden sollten, weil er
wirklich dafür optimiert ist ,
diesen Code so oft auszuführen. Stattdessen richten wir dafür einen Timer ein. Bei einem Timer können Sie wählen, wie oft Sie ihn
pro Sekunde wiederholen
möchten , anstatt
ihn 60 Mal pro Sekunde zu wiederholen Was ich hier schreiben kann,
ist zum Beispiel 0.1 Wenn du nicht
wirklich gut in Mathe bist, kannst du hier im Grunde sagen, was ist 1/0 0.1 Das ist zehn Das heißt, es läuft
zehnmal pro Sekunde. Was ist, wenn ich es auf 0,03 setze? Dann wirst du
es 33 Mal pro Sekunde ausführen Manchmal musst du es
so oft machen ,
weil zum Beispiel
in einem Echtzeitstrategiespiel, in dem du
Gebäude baust , genau wie Die Sims, du in Die Sims ein Gebäude oder einen Gegenstand ziehst, um
ihn platzieren
kannst Um das
Baugespenst,
das du mit der Maus herumschleppst, zu aktualisieren , ist
es sehr wichtig,
dass es glatt aussieht Du musst es zum Beispiel auf
etwa 0,03 setzen. Aber Sie können sehen,
dass es viel besser ist, es 33 Mal pro
Sekunde laufen zu lassen, als es 60 Mal pro Sekunde
laufen Du lässt es im Grunde
nur halb so schnell laufen wie dieses. Und es
wird schon stark
optimiert sein , wenn Sie nur
einen Timer verwenden und dies hier tun. Zum Beispiel müssen
wir
den Timer für jedes Ereignis nicht wirklich aktualisieren. Zum Beispiel 33 mal pro Sekunde. Wir können mit
etwa 0,1 beginnen. Wir können den
Timer grundsätzlich zehnmal pro Sekunde aktualisieren. Lass uns versuchen, das zu tun. Lass uns das hier unten löschen. Lass uns das hier oben verbinden. Für die Veranstaltung hier
brauchen wir eine Veranstaltung. Ich kann hier nach unten ziehen und ein benutzerdefiniertes Ereignis erstellen. Normalerweise nenne ich
es am Ende einfach Loop, also nenne ich
es einfach Round Timer, Loop. Dieses Ereignis hier läuft
im Grunde in einer Endlosschleife ab. Wir werden
es auf Looping einstellen. Ich möchte
im Grunde einen Timer einstellen. Lassen Sie uns zwei Variablen erstellen. Lassen Sie mich einen namens
Initial Round Timer erstellen. Lass es uns auf Float setzen, kompilieren. Das wird jetzt
unser erster Rundentimer sein. Nehmen wir zum Beispiel an, wir haben zunächst
5 Sekunden Zeit
, um diesen Feind zu töten. Lassen Sie uns eine neue mit dem
Namen Current Round Tim erstellen. Dies ist der, der aktualisiert
wird. Der Timer
der ersten Runde wird sich nicht ändern, aber wir werden zuerst unseren
aktuellen Rundentimer ändern. Bevor wir diese Schleife hier starten, stellen
wir sicher, dass
der aktuelle Rundentimer Timer der
ersten Runde entspricht,
andernfalls
ist er Null. Sie möchten nicht, dass die Zeit
in
einer Schleife läuft , wenn die Zeit Null ist Lassen Sie uns den
Timer der aktuellen Runde auf den ersten Wert setzen. So haben wir jetzt
etwas Zeit, um damit anzufangen. Die Zeit beträgt 5 Sekunden, weil wir
diese auf fünf eingestellt haben, jetzt sind es 5 Sekunden. Was wir hier machen wollen, wir wollen den Timer der
aktuellen Runde nehmen. Ich möchte Minus sagen. Wir
wollen es im Grunde mit
0,1 subtrahieren . Wenn das zehnmal pro Sekunde
läuft, bedeutet das, dass es im Grunde 1 Sekunde
pro Sekunde entfernt , falls
das Sinn macht Weil das
zehnmal ausgeführt wird, anstatt einen statischen Wert
zu haben Auch hier mag ich keine
statischen Werte, weil
es mühsam ist, sie zu ändern, wenn
das Spiel nicht mehr funktioniert. Stattdessen können Sie mit der rechten Maustaste auf
diesen Wert klicken und
ihn zu einer Variablen heraufstufen, und Sie können ihn
so etwas wie Round Timer Time nennen Ich hoffe, dass es in Zukunft nicht zu verwirrend wird oder
mich verwirrt,
denn das ist der Rundtimer, das ist im Grunde die Zeit hier. Ziehen wir es einfach hierher. Anstatt
diesen statischen Wert,
diesen -0,1 zu haben, kompilieren wir
und stellen sicher, dass die Zeit des Rundentimers 0,1
ist. Auch hier oben. Klicken wir mit der rechten Maustaste auf diesen Timer und machen daraus eine Variable, denn später müssen wir
diesen Timer stoppen , wenn wir ihn nicht mehr verwenden
wollen Und das tun wir, indem wir diese Variable
haben. Nennen wir das Tim Handle. Wenn Sie die Maus darüber halten,
ist es im Grunde ein
Timer-Griff, ein runder Timer-Griff. Was wir jetzt tun können, ist
, diese
aktuelle Zeit -0,1 zu sagen .
Ich muss sie wieder festklemmen, weil ich
sichergehen
will , dass sie nicht unter Null fällt Was wir sagen,
ist der aktuelle Timer, Rundentimer -0.1
Wenn wir diesen Wert, auch
diesen Wert, wiederholen,
wird
er im Grunde genommen jede Sekunde minus eins Ich stelle den
aktuellen Rundentimer erneut ein, wir sagen im Grunde
minus eins pro Sekunde Lassen Sie uns jetzt weitermachen
und eine Zeichenfolge drucken. Sie können tatsächlich
sehen, was vor sich geht und lassen Sie uns das hier hineinziehen. Lass uns die Runde zusammenstellen. Tim kann es
im Grunde einfach hier starten , wenn das Spiel beginnt Lass uns einfach von hier aus zuschlagen
und Start gegen Tim sagen. Lass uns kompilieren und spielen. Jetzt können Sie sehen, dass der
Timer jetzt funktioniert. Er wird unter den
Nullpunkt fallen, weil wir ihn
noch nicht festgeklemmt Lassen Sie uns
das tatsächlich tun. Lasst uns hier wieder zuschlagen. Ziehen Sie von hier und
sagen Sie Clamplamp Float Der Mindestwert ist
Null unter Null Der Maximalwert entspricht im
Grunde dem aktuellen
Rundentimer Lassen Sie uns nun weitermachen
und das verbinden. Alles sollte in
Ordnung sein , wenn ich kompiliere
und auf Play klicke. Und schau jetzt hier oben nach, es sollte nicht unter Null gehen, und alles
funktioniert einwandfrei. Jetzt müssen wir nur noch
diese Benutzeroberfläche hier oben aktualisieren , damit sie richtig
funktioniert. In Ordnung, das war es vorerst. Wir haben einen funktionierenden Timer, und wir können ihn einfach hier stehen
lassen, denn wir müssen den Timer
starten, alles funktioniert gut. Und wir müssen
in der nächsten Lektion weitermachen.
57. 6.04 Den Timer der Hauptbenutzeroberfläche aktualisieren: In Ordnung,
hier haben wir aufgehört. Gehen wir zurück und aktualisieren
den Timer in der Haupt-Benutzeroberfläche. Was wir tun wollen, ist
, zur Haupt-Benutzeroberfläche zurückzukehren. Wir wollen auf diesen Text klicken. Nennen wir es
so etwas wie Round Timer. Runder Timer. Gehen wir zurück zur Grafik hier. Lass mich das alles einfach löschen. Nun zu diesem Timer, ich möchte
im Grunde wieder Text
einstellen, genau das, was wir bisher gemacht
haben. Lassen Sie uns ein benutzerdefiniertes Ereignis für dieses benutzerdefinierte Ereignis erstellen.
Nennen wir das ein Update, Tim. Lass uns einfach
weitermachen und es verbinden. Lassen Sie uns nun weitermachen und anstatt es einfach direkt
anzuschließen, wollte
ich auch sagen, dass es Sekunden
dahinter gibt. Ich möchte ein Textformat verwenden, genau wie das, was wir
bisher gemacht haben. Für diesen Formattext möchte
ich eine Variable. Nennen wir es einfach
Round Timer Remaring. Lassen Sie uns die geschweiften Klammern schließen. Und wenn du Inter drückst, erscheint
diese Eingabe, dann will ich nur sec dahinter
schreiben. Wir wissen, dass es Sekunden sind. Jetzt ist diese Variable ein Float. Ich füge
hier einfach eine Eingabe
von Float hinzu und nenne es
Round Timer Remaining . Jetzt können wir weitermachen
und das
hier einstecken und wir sind
im Grunde fertig. Lassen Sie uns jetzt weitermachen
und es aktualisieren. Lassen Sie uns diese Update-Timer-Benutzeroberfläche verwenden. Jetzt kannst du versuchen, es nur zum Üben
selbst zu machen , weil es eigentlich einfach ist,
wenn du nur darüber nachdenkst. Aber wenn Sie immer noch
Schwierigkeiten damit haben, lassen Sie uns
weitermachen und es gemeinsam tun. Wenn wir zu den Bauplänen zurückkehren, öffnen Sie den Modus, in dem
wir den Code erstellt haben Jetzt wollen
wir hier, wann immer
es in einer Schleife läuft, auch die Benutzeroberfläche aktualisieren Nachdem wir den Rundentimer eingestellt
haben, möchten wir die Benutzeroberfläche aktualisieren Nun, wie bekommen wir die Benutzeroberfläche? Denken Sie daran, dass sich
die Benutzeroberfläche hier im Haupt-Widget befindet. Das ist das Event, das
wir nutzen wollen. Wir brauchen eine
Variable oder die Haupt-Benutzeroberfläche. Denken Sie daran, wir haben
das bereits im
Player-Controller, weil wir es hier in einer Variablen
gemacht haben. Lass uns weitermachen und
den Player-Controller anrufen. Haben wir eine Variable für den
Play-Controller? Ja, das tun wir. Das haben wir schon einmal gemacht. Lassen Sie uns weitermachen und den Player-Controller
hineinziehen. Ziehen wir WB
Main rein und holen uns das. Lassen Sie uns dann die UI-Ereignisse des
Update-Timers abrufen UI-Ereignisse des
Update-Timers Wir können das jetzt nennen,
lass es uns verbinden. Das ist der
verbleibende Rundentimer, und das ist das. Lassen Sie uns im Grunde kompilieren. Und wenn ich auf Play klicke, kannst du
jetzt sehen, dass es einwandfrei
funktioniert. Jetzt können Sie sehen, dass es ein Problem
gibt , weil ich diese Dezimalstelle nicht
entfernen möchte ,
wenn sie Null ist. So wollte ich zum Beispiel 0,0
sagen,
oder 1,0, ich möchte nicht, dass
es sie entfernt. So wie du das machst, anstatt den Float
direkt einzufügen, kannst
du ihn tatsächlich zuerst in eine Zeichenfolge konvertieren
und
es wird nicht gelöscht,
was auch immer du schreibst,
du schreibst einfach zwei Zeichenketten Fahren Sie fort und wählen Sie Float mit
zwei Zeichenketten aus. Anstatt einen
Float zu haben, trennen wir ihn jetzt. Und lassen Sie uns die Zeichenfolge einstecken. Lass uns kompilieren. Lass uns auf Play
klicken. Und jetzt können Sie sehen, dass am Ende Null
steht, und es wird nicht gelöscht. Ich denke, es sieht für uns
viel besser aus, das war es für die Aktualisierung der Benutzeroberfläche. Und lass uns mit
der nächsten Lektion fortfahren.
58. 6.05 Gesundheit am Timer wiederherstellen: Das Hauptziel hier ist es, die Gesundheit
des Feindes wiederherzustellen , wenn
der Timer abgelaufen ist Lass uns das machen.
Das ist sehr einfach. Wir haben schon alles, was wir brauchen, hier in der
Startrunde. Immer wenn wir durch die
Zeit laufen und sie auf Null geht. Nehmen wir
hier den Runden-Timer und wir können im Grunde einfach eine neue Variable
nehmen anstatt diese
ständig zu verwenden. Nur um es sauberer zu machen, können
wir diese verwenden. Und jetzt können wir sagen, ob
das gleich Null ist, also ist im Grunde die
Zeit abgelaufen . Machen
wir einen Zweig, machen wir
weiter und verbinden ihn. Wann immer dies der Fall ist, möchten
wir den Zustand wiederherstellen Lassen Sie uns das benutzerdefinierte Ereignis
für die Wiederherstellung des Zustands
erstellen . Und ich denke, es ist am besten,
das innerhalb des Feindes zu tun. Gehen wir zum Feind, öffnen wir die feindliche
Basis hier drinnen. Lasst uns eine erstellen, die sich „Gesundheit wiederherstellen
“ nennt. Lass uns hier runter gehen und
ein neues benutzerdefiniertes Event erstellen. Nennen wir es Wiederherstellung der
Gesundheit auf diese Weise. nun die Wiederherstellung der Gesundheit angeht, was wir einfach tun werden, denken Sie
daran, dass wir zuvor diese
Methode namens „Gesundheit aktualisieren“ hatten. Wir können im Grunde einfach den verwenden , den ich hierher ziehe
und sage „Gesundheit aktualisieren“. Gesundheit aktualisieren, hier ist es. Was ist nun der aktuelle Gesundheitszustand? Wir wollen den
Feind nur maximal heilen. Auch hier haben wir wieder die Feindinformationen abgerufen und wir haben
bereits die Gesundheit. Ich werde C hier kontrollieren
und V hier unten kontrollieren. Wir werden das einfach hier
einstecken. Wir stellen im Grunde die Gesundheit
wieder her. Noch einmal, das sollte es sein. Wenn ich zum Spielmodus zurückkehre, brauchen wir
jetzt eine Variable
für den Feind. Ich kann mich nicht erinnern, ob
wir hier drinnen
eine Variable
für den Feind haben , haben wir nicht. Wir müssen herausfinden, wie wir die Variable für den Feind
bekommen? Weil wir das Wiederherstellung der Gesundheit
nennen müssen. Denken Sie daran, wenn wir zum Beispiel zum Spieler-Controller
zurückkehren ,
haben wir
hier den
Feind, den Feind spawnen Und wir haben daraus eine Variable gemacht. Wir wissen tatsächlich, welcher
Feind gerade gespawnt ist. Wenn ich hierher zurückgehe und
den Spieler-Controller nehme und gegnerischen Variablen suchen
kann, und ich kann diese nehmen Jetzt können wir sagen, Gesundheit
wiederherstellen. Ich kann sehen, dass ich es nicht finden kann. Wenn ich also zum
Player Controller zurückkehre, liegt das daran, dass ich
diesen
direkt zur Variablen Spawn
Enemy hochgestuft zur Variablen Spawn
Enemy Was nicht falsch ist. Ich
kann im Grunde in den Spielmodus gehen und zur feindlichen Basis sagen, ich kann sagen, Gesundheit wiederherstellen und
alles wird gut. Aber auch hier verwende ich Casting nicht
gerne. Und dieser Teil ist
auch unnötig , weil wir ihn hier im
Player-Controller machen können hier im
Player-Controller bevor wir
ihn in eine Variable umwandeln. Gehen wir zurück zu den Schnittstellen. Und wir haben noch keinen für
den Feind gemacht . Versuche es
selbst zu machen. Wir haben es schon
ein paar Mal gemacht. Nochmals, wenn Sie
sich nicht vollständig erinnern können, lassen Sie uns
weitermachen und es gemeinsam tun. Nochmals, ich werde das schnell
durchgehen. Klicken Sie mit der rechten Maustaste auf Blueprint und
erstellen Sie eine Blueprint-Schnittstelle. Nenn es feindliche Basis. Mach weiter und öffne es. Sagen wir, holen Sie sich die Referenz zum Feind. Dann suchen
wir hier in der Ausgabe nach
der feindlichen BP-Basis , auf die wir uns beziehen
wollen. Nennen wir es Enemy Compile. Gehen wir jetzt zurück
zur feindlichen Basis. Und hier in
den Klasseneinstellungen wollen
wir dieses
Interface hinzufügen, das wir gerade erstellt heißt Enemy But Compile. Jetzt können wir sehen, dass diese Funktion erscheint, doppelklicken Sie darauf. den Feind angeht, werde ich mich selbst referenzieren,
denn auch hier
befinden wir uns innerhalb der feindlichen Basis und wir definieren, was
diese Variable ist. Was wir jetzt tun können, ist
im Player-Controller, anstatt das
direkt in eine Variable hochzustufen, ich lösche sie vorerst. Ich kann sagen, hol dir eine Feindesreferenz. Denn denken Sie daran, wenn Sie die Maus darüber
halten, ist
dies nur eine Referenz auf einen Schauspieler. Aber wenn ich
das zu einer Variablen hochsteigere, ist
das eine feindliche Basisreferenz. Und das können wir in
all den anderen Bauplänen verwenden,
ohne
das ständig zu tun in
all den anderen Bauplänen verwenden,
ohne
das ständig Ich werde
diesen hervorgekommenen Feind entfernen. wir einfach sicher , dass wir es noch nie benutzt Denn wenn ich es jetzt lösche, lösche
ich auch alle
Referenzen damit. Was ich normalerweise in meinen
Spielen mache, ich klicke mit der rechten Maustaste darauf, finde Referenzen, aber es gibt keine
Ergebnisse in diesem Blueprint Wir müssen global suchen. Sie können das tun, indem Sie
auf das kleine Symbol klicken. Es wird
in allen Bauplänen suchen. Und Sie können sehen, dass Sie diese Variable noch nie
benutzt haben. Es ist sicher, sie zu löschen. Ich werde es löschen, ja. Befördern wir ihn jetzt
zu einem variablen Spawne-Feind. Jetzt können wir diesen
benutzen. Lass uns kompilieren. Gehen wir zurück zum Spielmodus.
Lasst uns das alles löschen. Jetzt hier vom
gespawnten Feindzug. Lasst uns
aus diesem einen Feind hervorbringen. Wir können jetzt „Gesundheit wiederherstellen“ per Drag&Drop
sagen. Das ist viel einfacher. Lassen Sie uns jetzt von hier wegziehen. Wenn der Timer gleich Null ist, wollen
wir den Zustand wiederherstellen. Wir wollen auch
den Timer zurücksetzen , weil wir von vorne beginnen
müssen. Ich nehme den Timer der aktuellen
Runde und stelle ihn wieder
auf den ersten Run-Timer. Einfach so. Lass uns weiterspielen
und sehen, was passiert. Klicken Sie auf Jetzt spielen. Ich werde nur, damit wir besser testen können, Timer für die erste
Runde auf 3 Sekunden einstellen, damit es nicht ewig dauert Wenn der Timer abgelaufen ist, wird er zurückgesetzt und geheilt Der Spieler klickt nun auf den Feind
oder heilt ihn. Vielmehr können wir sehen, dass es den Feind
geheilt hat ,
wann immer es Null ist Wenn ich den Feind töte, heilt das auch diesen Feind. Wir
müssen
ihm also sagen, wenn ich den Feind töte, muss
ich ihm sagen, dass
der Timer gestoppt wird muss
ich ihm sagen, dass
der Timer gestoppt , weil wir den Feind jetzt getötet
haben. Denn wie Sie hier sehen können, wird
jedes Mal, wenn ich diesen Feind töte, der Timer nicht gestoppt
oder zurückgesetzt. Also das ist das nächste, woran
wir arbeiten wollen.
59. 6.06 Timer bei Enemy Death zurücksetzen: Jetzt
wollen wir diesen Timer
jedes Mal
zurücksetzen, wenn der Feind stirbt Machen wir weiter und
machen das noch einmal.
Das ist jetzt sehr einfach, weil wir diese Variable
namens Round-Timer-Handle bereits erstellt haben. Wenn ich zur feindlichen Basis gehe und versuche herauszufinden, wo
der Feind gestorben ist, haben wir
hier dieses Todesereignis gemacht
und das alles hier. Lasst uns den Timer anhalten
, wann immer der Spieler oder der Feind all das getan hat. Wenn ich einfach alles auswählen könnte und wir
es rüberziehen könnten. Nehmen wir nun diesen Griff ,
der sich im Spielmodus befindet. Ich kann sehen, dass wir hier bereits
eine Spielmodus-Variable haben, also können wir Tim Handle sagen. Wir können weitermachen und uns
das Run-Timer-Handle holen. Wir können sagen, Timer löschen und für
ungültig erklären. Dieser wird den Timer löschen und den Timer
ungültig machen Mach weiter und verbinde es. Jetzt stoppen wir den Timer
und dann machen wir all
dieses Todesereignis oder
diese Todeslogik. Dann, nach der Todeslogik, erhöhen
wir das Level Und dann
zerstören wir die Acta. Wir müssen
den Timer erneut starten, denn jetzt, wenn
wir den Feind töten, wird
der Timer aufhören Aber wir müssen ihn erneut starten. Ich denke, der beste Weg, es noch einmal
zu beginnen
, ist, das innerhalb des aktuellen Levels
zu tun Machen wir weiter und machen das
innerhalb des Spielmodus denn jedes Mal, wenn wir ein Level
erhöhen, spawnen
wir einen spawnen
wir Lass uns hier einfach den Timer starten. Es macht am meisten Sinn. Was wir tun können, ist im Grunde,
genau wie zuvor, Timer starten, den Runden-Timer starten. Mach einfach weiter und nenne
dieses Ereignis, das wir gemacht haben. Und das sollte alles reparieren. Jedes Mal, wenn ich den Feind
nicht rufe, heilt
der Feind, wie Sie hier sehen können. Aber wenn ich den Feind töte, stoppt
der Timer
und wird wieder
zurückgesetzt, sobald
ich den Feind getötet habe. Wenn ich also den Feind töte,
wird er auf
drei zurückgesetzt und alles ist großartig. Okay, jetzt
setzen wir den Timer zurück,
wenn der Feind stirbt Und wir stoppen ihn auch,
damit er nicht herunterzählt. Und lassen Sie uns
zum nächsten übergehen.
60. 7.01 Die Währungsoberfläche entwerfen: Es ist jetzt an der Zeit, die Benutzeroberfläche für Währungen zu
entwerfen. Und bevor wir das tun, gehen Sie
zu Ihren Kursmaterialien. Und ich habe
einige Dinge für dich aufgenommen. Gehen wir also gleich hier zum
UI-Ordner. Ich werde anstelle dieses Ordners
einen Ordner namens
Buttons erstellen . Wir können diese
Schaltflächen hierher ziehen. Taste klein gedrückt
und Taste klein. Fahren Sie fort und ziehen Sie sie hinein. Genau wie zuvor. Denken Sie daran
, mit der rechten Maustaste auf die Sprite-Aktionen zu klicken und
Papier zwei T aufzutragen , da es
sich um viele Picks handelt Auch für die Bilder im
Bilderordner, den ich wieder hier
hineinziehen werde , werde
ich mit der rechten Maustaste klicken und Papier auf die Einstellungen
auftragen Nun zur Uhr, ich
möchte sie auch aktualisieren. Für dich sieht
es im Moment wahrscheinlich so aus. Ich werde das einfach hier
reinziehen. Oder vielleicht klicken Sie mit der rechten Maustaste
und sagen Sie erneut importieren. Es weiß schon, wie es
aussieht wenn ich auf Play klicke,
jetzt sieht es so aus. Mal sehen, ob wir
noch etwas brauchen, diese Münze hier. Wir brauchen auch die
Icons rein, ziehen Sie das rein. Rechtsklick, Papier auf die
Einstellungen auftragen und alles
sollte in Ordnung sein. Bevor ich jetzt einfach auf
diese Uhr schaue und sie
anklicke, werde ich sie
tatsächlich auf 50, 50
erhöhen. Stattdessen ist die Polsterung Null. Ich werde es auf Null setzen. Kompilieren, und wenn ich auf Play klicke, finde
ich, dass es so viel besser
aussieht als zuvor. In Ordnung, was
die aktuelle Benutzeroberfläche angeht, werden
wir sie
hier innerhalb der Haupt-Benutzeroberfläche entwerfen Und ich denke, ich werde
es hier bis ganz nach oben gestalten. Lass uns damit anfangen. Zuerst brauchen wir ein Overlay. Fügen wir das Overlay hier oben in
das Canvas-Panel ein,
sodass es hier oben erscheint Nun für dieses Overlay möchte
ich ein Bild, ich möchte das
Hintergrundbild für diese Benutzeroberfläche Ich werde es komplett
horizontal und
vertikal ausrichten . Jetzt müssen wir auswählen, wie das Bild für das Bild
aussehen soll. Wir gehen zu Bildern und ich werde
diesen einen Artikelrahmen auswählen. Mach weiter und gib es
ein. Und hier ist es jetzt, damit es nicht
wieder verschwommen wird, genau wie zuvor, es in ein Feld umwandeln, den Rand auf 0,5
ändern, jetzt sieht es viel besser Wenn Sie jetzt die Größe
der Überlagerung ändern, passt
sie zur Jetzt hier unten
möchte ich auch ein Upgrade-Menü haben. Oder kein Upgrade-Menü, es ist eher wie ein Geschäft. Lassen Sie uns das tatsächlich auch tun. Hier brauchen wir eine vertikale Box. Ich
werde das hinzufügen. Ich werde ein Overlay hinzufügen. Denken Sie daran, dass sich das
vertikale Feld
nicht innerhalb
dieses horizontalen Felds befinden sollte , sondern direkt außerhalb dieses Overlays Ich werde es hier in
das vertikale Feld ziehen. Ich ändere es nur. Nochmal, wieder
das Overlay, ich werde vorerst
auf Rechnung klicken Ich bin mir nicht sicher, ob ich es füllen
werde. Eigentlich glaube ich nicht, dass ich das tun werde. Aber lassen Sie es uns vorerst einfach
so einstellen, dass es gefüllt ist. Lass uns jetzt den anderen hinzufügen. Nochmals, ich werde das einfach duplizieren,
Overlay-Steuerelement D. Jetzt ist das Upgrade-Menü, oder der Laden hier, der Laden auf das
Bild klicke,
ändere ich es in diesen
einen Papierrahmen Mach weiter und zieh das hier rein. Alles sollte in Ordnung sein. Nun, für dieses vertikale Feld wollte
ich den
ganzen Bildschirm zur Seite füllen. Klicken Sie auf den Ankerpunkt und ändern Sie ihn in diesen. Wenn du das machst,
den Offset unten, werde
ich 00 schreiben. Und der Offset für
die Unterseite und die Oberseite, damit wird die gesamte
Seite des Bildschirms gefüllt. Jetzt gebe ich ihm
etwas Abstand zu den Rändern des Bildschirms an der Position für das X. Ich werde 30 Offset
schreiben, oben 30 Offset,
unten ebenfalls 30. Jetzt ist es nicht mehr
am Bildschirmrand. Jetzt die Größe der beiden. Ich werde
auf das Overlay für
die Währung klicken und es auf Auto setzen Stattdessen gehe ich
stattdessen hier in die Bilder und vergrößere
die Größe im Y. Was
nun die Größe im Y angeht, denke
ich, dass etwas wie
105 ausreichend sein sollte So etwas, und wir können schreiben, wie viele Münzen du hast Lassen Sie uns auch eine
Spacer-Suche nach einem Spacer hinzufügen. Fügen Sie ihn zwischen diesen beiden
Überlagerungen für das Leerzeichen ein. Ich glaube, ich werde so
etwas wie 20 in das Y schreiben. Und Sie können
auf diese Strichlinien klicken, um die Strichlinien zu entfernen. Und jetzt
sieht es so aus. Sie können auf Play klicken
und es sich auch ansehen. Hier können Sie sehen, dass dies
ein Bildschirm für einen Laptop ist, aber er passt
auch sehr gut zu meinem Vier-K-Monitor, denn auch hier haben wir
ihn so konzipiert, dass er auf mehreren Monitoren angezeigt werden kann. Was nun die Größe angeht, entscheiden
wir
später,
abhängig vom Inhalt dieses Menüs. Aber lassen wir es vorerst einfach groß
sein wie das hier oben. Lassen Sie uns mit der Währung sprechen. Im Moment können wir mit dem Laden
arbeiten. Hier oben mit der Währung brauchen
wir ein horizontales
Feld, weil wir ein Bild und dann den Text
brauchen. Fügen wir es dem Overlay innerhalb dieses horizontalen Felds Ich werde ein Bild hinzufügen, dann werde ich etwas Text hinzufügen Nun zum Text, ich
werde ihn einfach hier oben kopieren. Steuerung C Steuerung in diesem horizontalen
Feld. Steuerung V hier. Nun werde
ich dieses horizontale Feld für dieses Bild virtuell
horizontal in der
Mitte ausrichten Bild virtuell
horizontal in der
Mitte Lassen Sie uns es in
dieses Münzsymbol umwandeln. Wir haben wieder hineingezogen, horizontale Ausrichtung
und vertikale Ausrichtung in der
Mitte. Beide. Nun zur Münze hier.
Klicken wir auf die Münze und stellen die Größe 50 mal 50 für das Bild ein. Nun zu diesem Text,
ich werde
ihn etwas vergrößern, weil
er sehr wichtig ist. Ich denke so etwas wie 34 und vielleicht ein bisschen
niedriger, vielleicht 30. Das können wir immer später entscheiden. Was die Frontfarbe angeht, werde
ich
sie auch in etwas Gelbes ändern. Es zeigt Münzen an und ändert
die Farbe und die Opazität. Ich werde versuchen,
eine gelbe Farbe zu wählen. Ich denke, ich werde mich für so
etwas entscheiden. Jetzt muss ich auch die Gliederung
ändern. Ich glaube, ich kopiere
das einfach hier oben.
Füge es hier ein. Ich werde
es einfach in eine dunklere Farbe ändern. Ich werde diesen benutzen. Wenn ich auf Okay klicke,
werde ich das kopieren. Fügen Sie es hier ein.
Wenn ich rauszoome, sieht es so aus. Es sieht wirklich nett aus. Nun, ich gebe
Ihnen etwas Abstand zwischen der Münze und diesem Text Achte nur darauf, dass du hier keine
Polsterung für diese Münze hast. Ich werde es
hier rechts von vier aufpolstern. Wir haben also einen gewissen
Abstand zum Text. Wenn ich hier klicke und
einfach Null für
den Text schreibe , sind es jetzt 30. Wenn ich 28 schreibe, denke
ich, dass es zu
klein ist. Lass uns 32 versuchen. Vielleicht ist es zu groß. Lass uns tatsächlich mit 34 gehen. Nun, 30 war eine gute Zahl. Lass uns jetzt kompilieren. Jetzt haben wir hier alles
entworfen. Jetzt zum Text. Ich
werde ihn in Text Mount of Coins umwandeln. Für dieses Symbol
müssen wir hier wirklich nichts tun. Lass uns einfach alles kompilieren
und speichern. Jetzt sind wir bereit weiterzumachen.
61. 7.02 Währungs-UI-Animation: Ich denke, es wird cool
sein,
diesem Text eine Animation hinzuzufügen , damit das Spiel ein bisschen
einzigartiger und besser
aussieht Und es ist immer schön, deinem Spiel
einige Animationen hinzuzufügen ,
damit es nicht flach aussieht. Es sind immer diese
kleinen Details, die dein Spiel viel
besser aussehen
lassen als die anderen. Also lass uns weitermachen und auf dieses
klicken. Wir werden
eine neue Animation erstellen. Wir werden
es einfach Münzen nennen. Klicken Sie darauf, klicken Sie auf Track, fügen Sie die Textmenge der Münzen hinzu und klicken Sie auf dieses Plus. Und lassen Sie uns die Transformation auswählen. Weil ich
den Maßstab dieses Textes ändern möchte. Ich gehe zur Skala hier unten. Was ich hier machen möchte,
ist, dass
ich das nach 0,2 Sekunden auf
1,5 skalieren möchte . Das Gleiche gilt
hier für das Y, 1,5 Jetzt ist es riesig. Dann werde ich 0,4 auf der Skala
wieder auf 1,1 setzen. Jetzt können Sie sehen, wenn ich
die Animation abspiele ,
dass sie nicht wirklich eingestellt wurde. Los geht's, zurück auf eins, ich spiele die Animation ab. Jetzt können Sie sehen, wie es
aussieht , wenn Sie
einfach auf die Leertaste klicken. So wird es aussehen
, wenn ich dieser Variablen
oder dieser Benutzeroberfläche hier
Münzen hinzufüge . Es sieht gut aus, dass du
eine Animation der Benutzeroberfläche hast. Aber dann kompiliere,
speichere alles und lass uns weitermachen.
62. 7.03 Münzmenge Variabel: Nun zur Anzahl der Münzen, die wir dem Spieler hinzufügen
müssen Gehen wir zurück zu den Bauplänen. Und jetzt öffnen wir den
Player, denn jetzt müssen wir in einer Variablen
speichern, wie viele Münzen der
Spieler hat Machen wir einfach diese Variable hier
unten und machen wir
daraus die Anzahl der Münzen, nennen
wir es so. Die Anzahl der Münzen darf keine Dezimalstellen
haben, also wählen wir
einfach eine Ganzzahl. Wenn du nun weißt, dass dein Spiel hier zahlenmäßig sehr groß sein
wird , musst
du
eine Ganzzahl 64 wählen. Ich glaube tatsächlich, dass ich eine Ganzzahl 64 wählen werde weil eine Ganzzahl oder eine
Ganzzahl 64 einen viel,
viel größeren Wert haben kann als eine Ganzzahl. Aber auch hier wird eine Ganzzahl
64 in Bezug auf die Optimierung schwerer sein als die
Verwendung nur einer Ganzzahl. Aber das brauchen wir wirklich, weil wir
wieder
ein Clicker-Spiel entwickeln Und in
einem Clicker-Spiel ist bekannt, dass die Menge an Münzen einen hohen
Wert erreichen kann. Fahren Sie fort und wählen Sie stattdessen die
Ganzzahl 64. Lass es uns so machen. Jetzt werde ich das alles
löschen und einfach eine neue benutzerdefinierte Variable
oder benutzerdefinierte Ereignisse erstellen. Nennen wir dieses eine
Update Menge an Münzen. Wir werden aktualisieren, wie
viele Münzen wir hier haben. Ich ziehe es
in das Feld Set it here, um die Anzahl der Münzen zu aktualisieren. Wir können ihm zwei Variablen geben. Wir können ihm die
Anzahl der Münzen geben, die wir wollen, um ihn
mit der Anzahl an Münzen zu aktualisieren. Diese Zahl kann eine
Ganzzahl sein, da dies
nur eine Zahl ist , die wir mit unserer Variablen
plus oder minus addieren müssen . Es ist nicht so riesig. Die andere Sache ist, fügen wir weitere Variable hinzu und ein Bullion, nennen
wir es A I, normalerweise
wieder, schreiben B vorne Was wir
hier tun wollen, ist, ob wir Münzen
hinzufügen oder ob wir Münzen subtrahieren
wollen Darum geht es
bei dieser Veranstaltung. Schlagen wir das an
und machen wir einen Zweig. Dann lass uns, willst du
Münzen hinzufügen oder
willst du Münzen entfernen? Das sind also die Wasserfälle. Wenn
Sie Münzen entfernen möchten, setzen
wir diese Variable. Wenn wir Münzen hinzufügen wollen, können
wir das nehmen. Wir können sagen, verliere diesen Betrag, verliere diese Ganzzahl, ich
kann das jetzt hineinziehen, wir können das nehmen
und es hier eintragen. Der Betrag, der hier
reingeht, verliert den Betrag, den wir bereits in der Variablen
haben. Wir addieren diese beiden zusammen und setzen
sie in diese Variable. Wenn es nun minus ist, nimm das
wieder und sage minus, subtrahiere, wir
werden
es von hier subtrahieren . Genau wie zuvor Wir werden
diese Variable setzen. Jetzt können Sie diesen Code etwas
sauberer machen , indem
Sie ihn tatsächlich entfernen. Und du kannst es
auf andere Weise tun. Jetzt zeige ich
dir nur einen anderen Weg. Denken Sie daran, dass wir schon einmal
mit Select gearbeitet haben, sodass wir Select tatsächlich machen können. Nun, jedes Mal, wenn Sie einen Code wie diesen
kopieren und einfügen, denken
Sie immer darüber nach, ob ich
hier einen ausgewählten Knoten verwenden
kann, um meinen Code zu bereinigen? können Sie
hier tatsächlich tun, wenn ich hierher ziehe und Select
sage und dann
diesen Knoten
auswählen kann, je nachdem, ob das
Bulling wahr oder falsch ist Und ich kann das vorerst einfach
entfernen. Wenn es wahr ist,
bedeutet das, dass ich Münzen hinzufügen möchte. Du kannst hier sehen,
ob das stimmt, hier heißt es, ich möchte
die Anzahl der Münzen hinzufügen. Also dieser ist wahr, ich möchte Münzen hinzufügen. Wir können das hier einstecken. Das hier, wenn es falsch ist, möchte
ich Münzen abziehen Und dann geht es
hier rein. Wir können das löschen. Jetzt kannst du sehen, wie
viel besser es geworden ist. Es weiß jetzt anhand des
Goldbarrens, ob wir Münzen
zu unserer
Variablen subtrahieren oder hinzufügen wollen Münzen
zu unserer
Variablen subtrahieren oder hinzufügen Ordnung, lassen Sie uns alles kompilieren und speichern.
Und das war es. Jetzt haben wir diese einfache
Funktion, mit der wir die Anzahl der Münzen
aktualisieren können .
Und lass uns weitermachen.
63. 7.04 Füge Feinden Münzen hinzu: Was
wir jetzt natürlich versuchen ist wenn ich auf diesen
Feind klicke und der Feind stirbt, ich brauche Münzen für den
Kill, den ich hier getötet habe Was wir tun müssen,
ist hinzuzufügen, wie viele Münzen
dieser Feind fallen lassen sollte , wenn
ich den Feind getötet habe. So wie wir das machen,
denken wir daran, dass wir hier in den
Bauplänen
eine Struktur haben hier in den
Bauplänen
eine Struktur Das
haben wir bereits mit dem Namen Enemy Info gemacht. Fügen wir einfach etwas
hinzu, zu diesem. Ich werde eine neue
Variable erstellen und sie
a of coins to drop nennen . Sehr, sehr selbsterklärend
und es ist nur eine Ganzzahl. Und ziehe es, also werde ich es einfach unter die Gesundheit ziehen Mach weiter und speichere,
speichere alles. Jetzt möchte ich, dass Sie zu dem Datenblatt
in Google
zurückkehren , das wir
zuvor hier erstellt haben. Jetzt, nach der Gesundheit, werde
ich hier rechts
„Klicken Sie auf eine neue Spalte
erstellen“ schreiben . Nochmals, du musst es
den gleichen Namen nennen wie die variable
Menge an Münzen,
die du fallen lassen möchtest. Wir können das
ein bisschen so ziehen. Wir müssen angeben, wie viele
Münzen der Feind fallen lassen soll. Ich kann zum Beispiel einfach Zufallszahlen
schreiben. Im Moment ist es
uns ehrlich gesagt egal. Wir können darauf klicken
, um Formeln zu erstellen. Du kannst immer
gleich schreiben. Klicke darauf und mal 1,5. Dann
kann ich hier klicken und es
nach unten ziehen und es sollte automatisch gefüllt werden. Das sollte jetzt
für mich in Ordnung sein. Ich werde auf Datei
herunterladen klicken und CSV herunterladen. Jetzt, wo ich diese
heruntergeladene CSV-Datei
habe, werde ich sie hier
noch einmal in DT Enemy Info umbenennen. In diesem Projekt werde
ich es nur ein wenig
minimieren, damit ich beide sehen
kann. Ich gehe zu
den Datentabellen. Nochmals, Feindinformationen, einfach
anklicken und hierher ziehen. Und all diese
Informationen sollten automatisch für Sie
aktualisiert werden. Jetzt haben wir hinzugefügt, wie viele Münzen jeder Feind fallen lassen sollte
, wenn wir ihn töten.
64. 7.05 Aktualisiere die Münzenanzeige: Jetzt sind wir bereit,
diese Münzenanzeige fertigzustellen. Gehen wir zurück zu den Feinden. Nun, was ich
hier mit den Feinden machen möchte,
denken Sie daran, dass wir es hinzufügen wollen
, wenn der Feind stirbt. Wenn ich hier zu diesem Code gehe, werden
sie
immer angezeigt, wenn Sie zusätzliche Eingaben
zu Ihrer Struktur hinzufügen . Also werde ich einfach hier klicken und nicht verbundene Pins ausblenden Noch einmal, wenn
ich den Feind töte. Ich möchte mich
im Player daran erinnern, wenn ich zum Spieler gehe, dass wir
beim Töten des Feindes dieses eine
Update an
Münzen gemacht haben . Bevor ich diese Verzögerung mache, verschiebe
ich sie einfach. Ich möchte dieses Update
als Anzahl
der Münzen des Spielers bezeichnen . Und ich habe
die Spielervariable bereits. Ich ziehe und sage „Anzahl der Münzen
aktualisieren“. Mach weiter und verbinde
es hier und hier. Jetzt befindet sich die Anzahl der Münzen,
mit denen
du es aktualisieren möchtest , in
den noch feindlichen Informationen. Weil wir das
in der Bibliothek gemacht haben. Jetzt müssen wir die
Feindinformationen oder den Feindnamen angeben. Das haben wir bereits
aus dieser Variablen. Also mach weiter und verbinde es. Teilen Sie es in die
Variablen auf, damit wir sie sehen können. Jetzt werde ich von hier aus die Menge an
Münzen hierher
ziehen. Mach weiter und versteck das, und jetzt ist es fertig. Denken Sie daran, auf Anzeige zu klicken. Weil wir
Münzen hinzufügen und nicht entfernen wollen. Alles sollte in
Ordnung sein. Mach weiter und kompiliere. Geh jetzt zum Player. Jetzt werden diese Informationen
hier
reinkommen und es wird
sie richtig einstellen. Was uns
jetzt noch fehlt, ist, dass du sehen kannst, ob ich den Feind töte,
nichts passiert. Denn denken Sie daran, dass wir die Benutzeroberfläche nicht aktualisiert haben, also müssen
wir das tun. Gehen wir zurück zur Benutzeroberfläche und öffnen die Haupt-Benutzeroberfläche. Fahren Sie fort
und klicken Sie auf diesen Text. Für diesen Text wollen wir ihn
nur einstellen. Ich gehe hier zur Grafik. Lass uns eine neue Veranstaltung machen. Lassen Sie uns ein neues benutzerdefiniertes Ereignis erstellen. Und nennen wir es
Updates Betrag I. Lassen Sie uns
nun für dieses Ereignis darauf klicken. Und lassen Sie uns wieder eine neue Variable
für diese Variable erstellen, Integer 64, weil
wir diese Informationen hier eingeben werden,
damit wir die Benutzeroberfläche aktualisieren können. Und nennen wir es
Anzahl der Punkte eins. Das Ziel hier ist nun, diesen Text
festzulegen, die Anzahl der Münzen, die daraus gezogen werden, und dann festgelegter Text. Das ist im Grunde das, was
wir versuchen zu tun. Wir versuchen, den Text zu aktualisieren und ihn anzuklicken und
hierher zu ziehen. Und es sollte deine Ganzzahl automatisch
in Text
umwandeln und
diesen kompilieren oder einbinden. Denken Sie jetzt daran, dass wir auch eine Animation
haben. Lassen Sie uns diese Münzen-Animation ziehen. Und sagen wir, spielen Sie eine Animation ab. Mach weiter und
schließ das auch an. Alles sollte in Ordnung sein. Gehen wir jetzt zurück zum Player oder benutzen wir diesen.
Aktualisiere die Anzahl der Münzen. Ich mache hier weiter und wir
müssen es nur bearbeiten. Hier befindet es sich
im WB-Hauptmenü, das sich im
Player-Controller Und wie ich hier sehen kann,
haben wir keine Variable für
den Player-Controller Lass uns gleich hier am Anfang sein. Spiel noch einmal. Hol dir den Player-Controller
und hol dir diesen. Dann können wir von
hier aus ziehen und sagen, die
Player-Controller-Referenz abrufen , wir von der
Blueprint-Oberfläche aus gemacht haben Und klicken Sie mit der rechten
Maustaste auf diese Variable und nennen Sie sie Player-Controller Jetzt haben wir das.
Nehmen wir diese Variable. Wir müssen nur
WB main aufrufen , weil das
Ereignis darin enthalten ist Je weniger nach WB main ziehen und
suchen, wir haben diesen Wert bereits Denken Sie daran, dass wir hier ziehen können,
sagen wir, die Anzahl der Punkte aktualisieren Ich mache weiter und wähle das aus und blockiere diese
Information hier. Und alles sollte gut
funktionieren. Jetzt werde ich
hier im Spielmodus einfach erhöhen,
ich werde nur den Timer für
die erste Runde erhöhen, weil es manchmal schwierig ist den Feind
innerhalb von 3 Sekunden
zu töten. Ich werde ihn einfach auf 5 Sekunden
erhöhen . Ja, 5 Sekunden. Ja, richtig, und spiel. Jetzt kannst du diesen Feind töten. Wie Sie auf der
Animationsplatte sehen können. Und es gab uns 15 Münzen. Lass es mich einfach nochmal versuchen. Hier, ich werde diesen Feind
töten. Es hat uns die Münzen gegeben. Es hat die Animation abgespielt und alles
funktioniert einwandfrei.
65. 8.01 Hinzufügen der Shop-Scroll-Box: Jetzt ist es an der Zeit,
mit dem Item-Shop zu arbeiten. Wenn du auf Play klickst,
erinnerst du dich daran, hier in der Benutzeroberfläche, nachdem wir die
Währung gemacht haben oder davor, eigentlich haben wir
diese Zeitung hier unten erstellt, das wird unser Item-Shop sein. Ich versuche nur, Cookie
Clicker und Clicker Heroes zu mischen. Wie Sie
hier zum Beispiel sehen können, ist
nur ein Bild von dem, was wir tun, dass wir nur diesen Teil hier
hinzufügen,
diesen Shop, in dem Sie
einige Dinge kaufen können und sie auf der Karte erscheinen und Also das
versuchen wir hier zu tun. Lass es uns vorerst schließen. Lass uns zur Benutzeroberfläche gehen
und die Maui öffnen. Und hier drinnen
wollen
wir, dass die Artikel angezeigt werden Damit sie jetzt angezeigt werden, benötigen
wir ein Scrollfeld. Lass uns hier oben nach einem
Scrollfeld suchen. Klicken Sie darauf und ziehen Sie es in das
Overlay, in dem es sich hier befindet. Stellen Sie außerdem sicher, dass es innerhalb des
Scrollfeldes
horizontal und vertikal ausgerichtet Bevor wir die Elemente hinzufügen, benötigen
wir sie in
einer vertikalen Box. Weil sie so
untergehen werden. Ich
nehme einfach ein vertikales Feld und
füge es in das Scrollfeld ein. für dieses vertikale Feld Klicken
Sie für dieses vertikale Feld auf Füllen. Sonst wird es hier oben sein. Aber wir wollen
es hier ganz füllen. Jetzt ist dieser fertig. Jetzt kannst du hier sehen,
wann immer ich einen Artikel hinzufüge, jetzt wird er ganz
oben angezeigt . Und wir müssen ihm etwas
Abstand zu den Rändern geben. Jetzt können wir das nicht wirklich tun, weil ich einfach hier
reingehen und
100 schreiben kann und ich kann etwas
Abstand zu den Rändern geben, aber ich kann
es ohne meine Artikelschnitte nicht wirklich visualisieren. Ich werde das
später machen. Ich werde vorerst einfach Null schreiben. Das war es vorerst. Nun,
dieses vertikale Feld hier, ich werde es einfach umbenennen , weil wir es später verwenden werden
. Ich nenne das VB für vertikale Box und lass
es uns so etwas wie Artikelliste nennen Lassen Sie uns es als Variable festlegen
, weil wir
etwas hinzufügen müssen oder wir
die Elemente später zu
dieser Artikelliste hinzufügen die Elemente später zu
dieser Artikelliste Das war es. Schließen wir das und
fahren wir
mit dem nächsten fort.
66. 8.02 Entwerfen der Shop-Item-Karte: In Ordnung, jetzt ist es an der Zeit
, die Artikelkarten zu entwerfen. Jetzt werden wir
die Artikelkarten nicht
zu dieser Hauptoberfläche hinzufügen , da die Artikel, die
Sie sich vorstellen können, jede Artikelkarte einzigartige
Informationen enthält. Ich gehe also nicht hier rein
und füge
einen Text hinzu und füge dann den
Text hier hinzu und so weiter, weil das eine Menge Kopieren/Einfügen
bedeutet und keinen Sinn ergibt Im Grunde genommen ist das, was wir bei der Programmierung für
Shops machen :
Sie nehmen die Artikelkarte, entwerfen eine Instanz davon, ändern
dann dynamisch alle Informationen und
den Artikelcode mit Code, und Sie duplizieren einfach
diese Artikelnummer und ändern die
Informationen dort Versuchen wir es, damit wir es besser verstehen
können. Lassen Sie uns das hier unten schließen. Klicken wir erneut mit der rechten Maustaste und erstellen Sie neue Git-Blueprints Nennen wir diesen einen
Shop-it-Code hier. Lass es uns öffnen. Lassen Sie uns jetzt wieder eine Leinwand hinzufügen. Übrigens, was wir entwerfen,
ist so etwas. Aber im Grunde ist es das, was
wir zu entwerfen versuchen. Es ist immer schön zu sehen,
bevor wir anfangen, das
versuchen wir zu entwerfen. Sie können versuchen, es
selbst zu tun, wenn Sie möchten. Wir machen das
Gewünschte auf dem Bildschirm. Versuchen Sie es selbst,
wenn Sie möchten. Oder wir können es hier zusammen machen, indem wir zuerst eine Leinwand hinzufügen und
dann ein Overlay
hinzufügen,
weil wir einen Hintergrund benötigen, um das Overlay
hinzuzufügen Wenn wir hier klicken,
fügen wir auch ein Bild hinzu. Das wird unser Hintergrund sein. Nun zu diesem Bild, das ich habe, schauen wir uns das mal an.
Gehen wir zu den Bildern. Ich werde
diesen benutzen. Ziehe es wieder
hinein, genau wie zuvor. Ändern Sie es so, dass
das Feld direkt am Rand gezeichnet 0.5 Jetzt dieses Overlay hier, ich werde es in der
Mitte ausrichten, am Ankerpunkt Und 0,5 in die
Ausrichtung schreiben, genau wie zuvor. Da wir es zentrieren wollen,
denken Sie daran, dass wir 00
in X und Y schreiben wollen. Ich
werde einfach hier klicken. Oder Größe zu Inhalt hier, also ist es
hier genau in der Mitte. Was die Bildschirmgröße angeht, wählen
wir erneut die gewünschte Bildschirmgröße aus. Sie
bleibt bei dem Bildschirm, den
wir ausgewählt haben. Der Unterschied besteht darin, ob
Sie „gewünscht“ auswählen Sie können hier sehen,
ob ich jedoch wie
zuvor zur
Bildschirmgröße gehe , um sie auf meinen Laptop zu skalieren. Wenn Sie hier
klicken, können Sie sehen, wie sie sich auf dem Bildschirm automatisch
auf die gewünschte Größe ändert. Hier ist es. Es ist
super, super klein. Wir müssen die
Größe dieses Bildes erhöhen. Vielleicht ändere ich das
Bild selbst nicht, weil es sich an
den Inhalt hier anpasst. Ich werde einfach
etwas Inhalt hinzufügen und schauen, ob es gut aussieht. Zunächst benötigen wir
eine horizontale Box. Ziehen wir das
in den Overallay. Dann brauchen wir in der horizontalen
Box etwas Text. Nun zum Text, ich werde
einfach
etwas kopieren und einfügen , was wir bereits getan haben, damit
wir es nicht wiederholen müssen Ich werde einfach in
den schwebenden Text gehen und diesen
Text kopieren, der hierher führt. Ich werde ihn
in das horizontale Feld einfügen. Bei diesem Bild kann ich
sehen, dass es in der
horizontalen
und vertikalen Ausrichtung nicht
richtig skaliert in der
horizontalen
und vertikalen Ausrichtung nicht
richtig wird. Mach weiter und fülle es aus. Nun
zur Größe dieses Textes. Ich werde stattdessen etwas
kleiner wählen, vielleicht 26. Und ich werde auch
die Konturfarbe in
etwas Dunkelbraunes ändern , etwas mit dieser Farbe hier. Ich klicke auf Okay. Ich werde
diese Konturfarbe auch in
die Schattenfarben kopieren . Wir geben diesen Effekt hier. Dann führe ich eine Spacer-Suche nach einem Abstandhalter durch, der in das horizontale Feld
hinzugefügt wurde Für diesen Abstandhalter schreibe ich 15 in das X.
Dann fügen wir ein vertikales Feld hinzu,
denn jetzt müssen wir hier Dann fügen wir ein vertikales Feld hinzu, denn jetzt müssen wir das vertikale Feld in
das horizontale Feld einfügen Dann fügen wir jetzt den Namen hinzu. Kopieren Sie einfach diesen Text erneut fügen Sie ihn in das vertikale
Feld für diesen ein Das ist der Name, wir können zum
Beispiel sagen, wir haben später einige Elemente, aber lassen Sie uns
so etwas wie Whizz Tower schreiben Nur etwas Zufälliges
. Für diesen Text ist es momentan
egal. So viele Artikel
haben wir bisher
von diesem Artikel gekauft. Ich werde einfach 999 schreiben. Das ist vielleicht die maximale
Anzahl an Gegenständen, die du im Spiel
kaufen kannst. Unter diesem
Artikelnamen benötigen wir nun den Preis. Ich werde
ein horizontales Feld machen, weil wir das Symbol auf der
Münze und den Preis benötigen. Wenn wir das horizontale Feld
in das vertikale Feld hier einfügen, benötigen wir ein Bild und dann brauchen
wir etwas Text. Nun zum Text, ich kopiere
ihn
einfach und füge ihn hier in
das horizontale Feld ein. Für den Preis können wir so etwas wie
9457 oder
so etwas nach dem Zufallsprinzip
schreiben 9457 oder
so etwas nach dem Zufallsprinzip Kann sogar eine weitere Zahl hinzufügen. Ich würde gerne eine hohe Zahl hinzufügen weil ich nur
sichergehen möchte, dass meine Gegenstandskarte nicht
geknackt wird, wenn
wir große
Zahlen für das Spiel haben Du kannst sogar
eine weitere Zahl schreiben , wenn du das mögen möchtest Um sicherzugehen, dass die Karte für dieses Symbol gut
aussieht, gehe
ich in meinen
Icon-Ordner und füge diese
Münze hier hinzu. Ziehen Sie es jetzt für das Bild hinein. Ich werde es nicht als Feld
zeichnen,
weil das Feld
genau dann ist, wenn wir möchten, dass die Benutzeroberfläche skaliert wird,
wann immer wir es ziehen. Aber was das Bild angeht, richte ich es
einfach hier horizontal aus und es
vertikal
in der Mitte aus, weil Sie hier vielleicht sehen, dass es
sich leicht dehnt,
wenn
Sie es so machen . Das macht sich auch bemerkbar. Immer wenn Sie eine Benutzeroberfläche haben
, die sich stärker dehnt, wird
das Bild nicht richtig
skaliert. Richten Sie es hier einfach in
der Mitte aus. Ich werde es nach rechts
auffüllen,
sodass zwischen dem Text und dem Symbolabstand auf
der rechten
Seite etwas Platz ist Text und dem Symbolabstand auf
der rechten
Seite Geben Sie ihm etwa
drei. Wir haben etwas Abstand. Jetzt müssen wir dem horizontalen Feld hier auch etwas Abstand
geben , weil es sich an den Rändern befindet. Ich werde einfach
hier klicken, um die Polsterung zu sehen. Nun zur Linken, ich versuche, ihr etwa 25 zu
geben. Und nach rechts geben wir ihr auch
25, etwa so. Lassen Sie uns nun
etwas wie 15 mal 15 versuchen. Wir können ein bisschen mehr geben. Ich denke, wenn ich wieder
auf das horizontale Feld klicke, geben
wir ihm etwa 16. Ich glaube, ich gebe
am Ende von 16, 20 mehr. Das sieht gut aus. Richten Sie nun auch
diese Textur senkrecht
zur Mitte aus. Das sieht toll aus. Okay, lass uns weitermachen. Nun zum Schatten.
Ich glaube, ich werde stattdessen in den Schatten
schreiben, weil der Schatten viel zu stark
ist schreibe zwei statt
drei für diesen. Als letzten Punkt fügen
wir die Schaltfläche Nach hinzu. Lassen Sie uns nach der Schaltfläche suchen. Eigentlich brauchen wir zuerst ein
Overlay, weil wir etwas
Text darüber hinzufügen
müssen Wenn ich die Schaltfläche hinzufüge,
schauen wir uns an, wo wir sie hinzufügen. Hier, wir haben diese
horizontale Box gemacht. Hier wollen wir es hinzufügen. Ziehe es hierher und suche
dann nach der Schaltfläche. Mach weiter und füge es hinzu. Nun
zu dieser Schaltfläche werde ich sie einfach vertikal
und horizontal ausrichten, so wie hier für den Stil. Gehen wir zu den Schaltflächen
und ziehen diese ein. Zieh es hier rein. Nun zu
dem Farbton, den ich breiter
machen werde, damit er
unsere Schaltfläche für die Ziehungen nicht beeinträchtigt Ich werde ihn wie zuvor
als Feld zeichnen Rand 0,5
Lassen Sie uns nun für diese Schaltfläche eine Größe hier im X angeben
. Lassen Sie uns weitermachen und
ihr etwas Abstand geben Sie können wählen, wie
groß Ihre Schaltfläche sein soll, aber jetzt machen wir es
einfach
so , weil wir zuerst etwas Text
hinzufügen. Wenn ich das einfach kopiere, kopiere und in das
Overlay für diesen Text einfüge, lass es uns in der
Mitte der Schaltfläche ausrichten Schreiben wir so etwas wie y. Das wird darin stehen. Jetzt werde ich
es an der Unterseite etwas aufpolstern, weil ich finde, dass
es zu nah am Boden Die untere Polsterung ist
etwa vier. Jetzt haben wir es, es
sieht wirklich gut aus. Ich möchte,
dass du hier die
Farbe der Münzen änderst. Wir können einfach
dasselbe verwenden wie zuvor. Wenn wir zum Hauptmenü oder
zur Haupt-Benutzeroberfläche zurückkehren und diese Farbe hier
verwenden können, können
wir sie kopieren und in die Artikelkarte
des Shops einfügen , die eine andere Farbe hat. Außerdem möchte
ich, dass du den Button „Nach“ in eine andere Farbe
änderst, vielleicht etwas wie Grün. Sie können versuchen, eine
grüne Farbe zu wählen, die Sie möchten. Ich werde mich einfach für diese grüne Farbe entscheiden
. Mach weiter und klicke auf Okay. Nun, so sieht es aus. Jetzt müssen Sie einfach versuchen, es so gut wie
möglich zu stilisieren und zu gestalten Hier können Sie
das Y für die Schaltfläche erhöhen , wenn Sie möchten Sie können sehen, dass dieser nicht in der
Mitte ausgerichtet ist. Ich werde
auf dieses vertikale Feld klicken und es in der Mitte ausrichten Stattdessen sieht es korrekter aus. Nun zu diesem Button, ich werde es
nicht übertreiben. Ich gebe ihm nur etwas
Platz. Es sieht also gut aus. Ich glaube,
etwa 150 mal 75, und so sieht es aus. Jetzt können Sie ihm etwas mehr
Abstand geben, wenn Sie möchten, aber ich denke, jetzt
sieht alles gut aus. Das ist unsere Karte und wir
können sie immer anpassen. Es ist nicht so, dass wir sie jetzt entwerfen. Und dann können wir es später anfassen. Wir passen es immer
später an, weil das Spiel
jede Stunde, in der wir es entwickeln, ändert, vielleicht in zwei Tagen. Ich finde, das sieht
nicht gut aus. Ich kann weitermachen und es
ändern, wenn ich möchte. Ich kann sogar die
Farbe ändern und so weiter. Entwerfen Sie es vorerst einfach
so gut wie möglich. Nun zu diesem Text, ich
möchte nur etwas testen. Sie können hier sehen,
wenn ich hier schreibe, wird
es die gesamte Benutzeroberfläche skalieren
. Und das
möchte ich nicht wirklich tun. Sie vermeiden dies, indem ihm
grundsätzlich
eine Mindestbreite geben. Wenn ich es einfach hier unten finde, gewünschte
Mindestbreite, können
Sie
diese Breite erhöhen. Wie Sie sehen können, wird diese Breite hier
erhöht. Für diesen Text werde
ich ihn hier links und auch
hier unten links ausrichten . In der Begründung bleibt
es
bei dieser gewünschten
Mindestbreite links, ich glaube, ich schreibe
etwa 50. Immer wenn wir die
Zahl hier im Code ändern, kannst
du sehen, ob ich Null schreibe. Ich schreibe zum Beispiel 51. Es wird
das gesamte Layout nicht ändern. Ich finde, das sieht viel besser aus. Vielleicht kann ich
den Text sogar verkleinern und stattdessen 20
schreiben. Wenn ich noch einmal 999 schreibe, kann
ich die
gewünschte Mindestbreite auf 45 reduzieren. Einfach so. Das
Gleiche gilt für den Artikelnamen. Also schreibe ich so etwas
wie Tower oder mache es. Das hier, du kannst
sehen, dass es
das Layout ändert und ich
möchte das nicht wirklich noch einmal machen. Ich werde ihm hier eine
minimale Designbreite geben. Erhöhen Sie es einfach
, bis Sie zufrieden sind. Nun
werde ich diesen Text wieder
horizontal nach links
und die Ausrichtung horizontal nach links
und die ebenfalls nach
links ausrichten. Für die minimale Designbreite werde
ich
etwa 150 machen. Eigentlich werden wir ihm einen viel längeren Namen
geben, wir können es testen. Wenn wir zum Beispiel ein
Objekt haben, das einen langen Namen hat, zum Beispiel Wizard
Tower Defender oder was auch immer wir hier schreiben
wollen, können
wir ihm eine entworfene
Mindestbreite geben, 200.235 wäre das Maximum Wir können das einfach mit einem
Turm entfernen. Nochmals, für diesen Text hier wird
es sich nicht wirklich
auswirken, weil es nicht so lange dauern
wird
, dass es hier drüben wirkt. Ich lasse
das vorerst einfach sein. Aber auch hier können Sie ihm einfach
ein Mindestdesign geben , wenn Sie möchten. Aber vorerst werde ich es einfach nicht tun weil ich nicht glaube, dass es hier so lange dauern
wird. Der Preis, jetzt
sieht alles gut aus. In Ordnung, das war es also
für die Artikelkarte des Ladens. Also lass uns weitermachen und die Namen
ändern, weil wir den Schieferschiefer anpassen müssen. Für diesen Text werde ich nun Text für
den Artikelnamen sagen. Dieser Text hier unten
wird hier als
Text Artikelpreis für Schaltfläche bezeichnet . Wir werden
es auch später ändern , weil
ich
die Farbe ändern und es rot machen möchte ,
wenn wir den Artikel nicht kaufen können. Von diesem werde
ich Text von sagen. Dieser ist Text. Anzahl der Artikel-Spots müssen
wir hier eigentlich nicht mehr nachholen. Wenn Sie das Diagramm kompilieren und sich
das Diagramm ansehen, sind dies die Variablen
, die wir gerade für
den Text für diese Benutzeroberfläche hier haben .
Ich denke, alles sieht gut aus. Wir können
die Dinge später jederzeit anpassen , wenn wir etwas ändern möchten. Lassen Sie uns
vorerst alles dafür per Button speichern.
Ich werde sicherstellen, dass die Sichtbarkeit so eingestellt
ist, dass sie testbar ist, damit sie nicht auch die Schaltfläche
für diese Schaltfläche blockiert Ich kopiere und füge in
das Hoverdm ein, das
für den gedrückten Zustand gedrückt wurde Ich glaube, wir haben einen gedrückten
Zustand in den Tasten. Auf diesen werde ich klicken
und ihn hierher ziehen. Für den Hoverd-Staat haben
wir keinen Button. Ich ändere einfach
den Farbton etwas anders, wenn wir über
die Schaltfläche fahren und klicken,
okay, kompiliere
und speichere Wenn du
das testen willst, kannst
du jederzeit zum
Mittelwert zurückkehren und schon ist es raus Sie können nach der
WB-Shop-Artikelkarte suchen, die wir erstellt haben. Und du kannst das in
die Artikelliste ziehen, die wir erstellt haben, um zu
sehen, wie es
aussieht, wenn ich einfach D
kontrolliere und
es ein paar Mal dupliziere So sieht es aus,
wenn ich sie hier einfach entferne. Was Sie jetzt tun können, ist, ihm etwas Platz zu geben. jetzt im Scrollfeld weiter und geben Sie ihm etwas
Platz für die Polsterung Ich kann 25 schreiben, ich kann so etwas wie 50
schreiben. Ich denke, vielleicht
ist 50 eine gute Zahl. Jetzt können Sie sehen, dass es zur Seite
schneidet. Was Sie tun können, ist, die Größe dieses Geräts zu
erhöhen. Denken Sie daran, das ist die
ganze vertikale Box hier. Sie können weitermachen und die Größe leicht
erhöhen. Du kannst alles sehen.
Was Sie auch tun können, ist,
auf das Scrollfeld zu klicken. Ich klicke hier
einfach auf Bildlaufleiste immer anzeigen. Es ist so.
Konsumiere auch das Mausrad. Ich werde zu immer wechseln, damit wir hier immer nach unten scrollen können. Lassen Sie uns nun auch diesen
Griff für die Scrollleiste entwerfen. Ich möchte, dass du hier zu
deinen Kursmaterialien zurückkehrst. Und ich habe dir
diesen Schiebegriff gegeben. Lassen Sie uns das importieren. Wenn ich es einfach hierher bringe, ziehe diesen Schieberegler
in die Bilder. Ich werde
es einfach hier drinnen machen. Ziehe es hierher und
achte darauf, dass du
die Pixeleinstellungen hinzufügst. Klicken wir mit der rechten Maustaste auf die richtigen Aktionen und tragen Papier auf die Einstellungen auf. Gehen wir nun zurück zur Benutzeroberfläche, öffnen die Haupt-Benutzeroberfläche und klicken wir hier auf das Scroll-Feld. Und geh runter und du kannst diesen finden,
der Bar Style heißt. Als wir darauf klickten, hatten wir dieses
normale, taube Bild. Sie können es auf
den Schieberegler umstellen. Jetzt können Sie sehen, wie es sich ändert. Nun wieder für den Feldrand, ich werde
stattdessen 0,5 für die Dicke der
Bildlaufleiste schreiben . Sie können festlegen, wie breit es sein soll. Ich glaube, ich gebe
ihm etwa 18. Sie können
ihm auch etwas Polsterung geben, etwas Abstand zwischen
diesen Elementen Und dieses Handle, ich werde
vorerst einfach Null in alle
schreiben Nach links gebe
ich
etwa zehn, also hat es etwas nach oben. Mal sehen, ob ich
denke, dass es so bleiben sollte. Eigentlich ist Null
oben, rechts Null. Die Unterseite ist ebenfalls Null. Lass es uns so versuchen. Ich werde das nur
ein paar Mal duplizieren Ich kann auch den Schatten
hier unten sehen, wie er aussieht. Okay, alles
sieht toll aus. Klicken wir nun auf dieses vertikale Feld und
vergrößern es. Also ist es nicht, ich denke es sieht bisher gut aus.
So sieht es aus. Sie können die Größe dieses
Artikels jederzeit reduzieren , wenn Sie möchten, wenn der Name zu
lang ist. Oder Sie können den Namen verkleinern,
sodass
Sie Platz für den Motor haben. Aber auch hier können wir
es später anpassen, wenn wir möchten. Aber jetzt gehen wir zurück
zum Shop-Artikel, Cod. Was ich hier tun möchte, ist, dass ich ihm
etwas Abstand geben möchte, weil Sie sehen können, dass es innerhalb
der Shop-Artikelcodes
keinen Abstand zwischen
diesen Elementen gibt . Ich werde hier
auf das Bild klicken. Ich
werde es nur oben und unten
etwas polstern oben und unten
etwas Nach oben vielleicht sechs und auch
zu den unteren sechs. Versuchen wir mal zu sehen, wie
das aussieht. Das sieht viel besser aus. Geben wir es tatsächlich fünf
statt 65 mal fünf. Auch hier gilt: Wenn
Sie möchten, können Sie
die Größe der Schaltfläche jederzeit erhöhen. Das gilt nicht für das X, für das Y werde
ich es sogar noch einmal erhöhen, leicht,
etwa 80. Denken Sie nur daran,
diese Bildgröße auch auf den Hover
und die Presse zu kopieren diese Bildgröße auch auf den Hover
und die Presse Komp, kompiliere, speichere alles. So sieht es aus. Es sieht wirklich gut aus. Ich glaube nicht, dass wir
mehr Dinge ändern
werden , wenn ich es
nur maximiere. So
sieht es aus. Für mich. Ich könnte den
Text etwas größer machen. Lassen Sie mich das eigentlich machen.
Es ist ein bisschen zu klein. Auf meinem Bildschirm kann
ich 20 für den Text hier oben, den Preis auch, und 22 oder 24 für die Artikel hier zusammenstellen. Ich hoffe, wir müssen
die gewünschte Mindestbreite nicht anpassen, aber wir können es
später tun, wenn wir müssen. Ich denke, das sieht viel besser aus. Okay,
das sind die Gegenstände, die wir haben. Alles sieht gut aus. Auch für den Kaufen-Button werde
ich
ihn auf 20 ändern. Jetzt sind wir fertig. Lasst uns alles speichern
und
alles schließen. Und jetzt sind wir
bereit weiterzumachen.
67. 8.03 Artikelinformationsstruktur und Datentabelle: Bevor wir damit
fortfahren können, benötigen
wir natürlich einige
Elemente, mit denen wir arbeiten Ich möchte, dass Sie noch einmal in Ihre
Kostenunterlagen gehen, und ich möchte, dass Sie
in den Objektordner gehen. Hier habe ich dir ein paar Icons
gegeben und du kannst sie
als Gegenstände im Spiel verwenden. Also mach weiter und
lass uns sie importieren. Gehen wir hier zu den Assets
,
ich klicke mit der rechten Maustaste
und erstelle einen neuen Ordner, nennen
wir ihn Objekte. Fahren Sie fort und importieren Sie
all diese hier hinein. Auch hier werde ich auf alle
klicken. Klicken Sie mit der rechten Maustaste und tragen Sie erneut
Papier auf die Einstellungen auf. Jetzt haben wir die. Um
sie nun intuitiv nutzen zu können,
denken Sie daran, dass wir sie in Sprites umwandeln Wir können
Texturen wie diese nicht einfach hineinziehen, also wählen wir sie alle aus. Klicken Sie mit der rechten Maustaste und sagen Sie Create Sprite. Jetzt müssen wir
nicht mehr extrahieren,
denn denken Sie daran, dass Extrahieren nur möglich ist, wenn wir
mehrere Sprites in einem Bild haben mehrere Sprites in einem Bild Im Moment ist es nur ein
Sprite in einem Bild. Also können wir einfach weitermachen und auf Create Sprite
klicken. Hier haben wir die Sprites. Ich werde mit der rechten
Maustaste klicken und
einen neuen Ordner namens Textures erstellen , weil wir die im Grunde nicht mehr alle
benötigen Ich werde auf all
diese Texturen klicken und sie
in diesen Ordner ziehen. Jetzt können wir nur die Sprites sehen. Mach weiter und speichere alles. Gehen wir als Nächstes
zu den Bauplänen. Und lassen Sie uns
weitermachen und unsere Struktur erstellen. Lassen Sie uns den
Strukturordner öffnen. Erstellen Sie eine neue Blueprint-Struktur, Artikelinformationen, ST-Artikelinformationen Mach weiter und öffne es. Jetzt können wir Variablen zu
allem hinzufügen, was wir
für diese Artikelinformation wollen. Für die Artikelinformationen benötige
ich natürlich den
Namen des Artikels. Sie einfach den richtigen Namen ein, fahren Sie fort und wählen Sie die Zeichenfolge Speichern. Lass uns eine neue Variable erstellen. Nennen wir das eine Klasse. Und diese wird die Basisklasse für Artikel
sein. Ich kann hier sehen, dass wir noch keine Artikelbasis
erstellt haben. Machen wir weiter und machen das in den Blueprints. Hier
haben wir keinen Ordner dafür Ich werde schreiben, klicken Sie auf Erstellen Sie
einen neuen Ordner namens Items. Innerhalb dieses
Artikelordners. Lassen Sie uns schreiben, eine neue
Blueprint-Klasse für diese Klasse zu erstellen Nun zu den Gegenständen, ich möchte nur, dass es
normale Sprites sind , die ich in der Welt spawnen
möchte Ich werde tatsächlich nach Sprite
suchen und den
Paper-Sprite-Schauspieler auswählen Mach weiter und wähle diesen aus. Ich nenne
es BP Item Base. Jetzt kannst du dir vorstellen, wann du
schon ein Spiel entwickelst. Jetzt musst du entscheiden , was dein Gegenstand enthalten soll. Denn du kannst hier sehen,
ob ich später entscheide, dass es sich bei meinen Artikeln um animierte Flipbooks
aus Papier handelt. Und ich muss hier einen Entwurf
erstellen, stattdessen nach einem Flipbook
suchen und stattdessen
dieses auswählen Erstellen Sie Ihre Artikelbasis
in einem falschen Blueprint. Das wird für dich eine
Qual sein,
weil du alles noch
einmal
neu erstellen musst, gerade wenn du ein Spiel erstellst, von dem aus du bereits ein Spiel
erstellst Entscheiden Sie nun, ob Ihre
Artikel animiert sind? Wenn ja, müssen Sie
natürlich ein Flipbook aus Papier
auswählen, da
Flipbooks animiert sind Wenn Sie jedoch
keine Animationen für die Elemente haben, wissen
Sie, dass Sie stattdessen ein Sprite
auswählen können Vergewissere dich nur, dass du das alles
weißt, bevor
du den Blueprint erstellst Ich weiß, dass meine Artikel hier nicht animiert
sind, es
sind hier nur Bilder. Sprites, ich erstelle stattdessen
Paper Sprite. Jetzt haben wir diese Artikelbasis. Jetzt müssen wir wirklich nichts mehr
damit machen. Gehen wir also zurück
zu den Artikelinformationen. Ich wollte
es nur hier in meiner Klasse erstellen. Ich kann nach einer Artikelbasis suchen, ich kann weitermachen und
sie als Klassenreferenz auswählen. Der Grund, warum ich die Klassenreferenz ausgewählt
habe, ist man das normalerweise macht
, wenn man Gegenstände spawnen möchte Denken Sie daran, dass
ich im
Blueprint den Player-Controller öffne, wir verwenden diese Klasse, ist eine
Klassenreferenzklasse für Schauspieler. Und wir verwenden das, um Dinge zu erzeugen. Ich möchte
den Gegenstand später spawnen, also füge ich ihn hinzu Dann wollen wir
Sprites schreiben, weil ich
wissen will, welches Sprite Ich werde nach Sprites suchen
und die Objektreferenz Papa Sprites auswählen Das Letzte, was ich hinzufügen möchte, ist wie viel kostet dieser Artikel? Münzen kosten. Fahren Sie fort und suchen Sie nach, wählen
wir einfach eine Ganzzahl aus. Nur eine Ganzzahl. Jetzt haben wir das erledigt,
die Artikelinformationen. Lassen Sie uns jetzt weitermachen und eine Datentabelle dafür
hinzufügen. Öffnen Sie die Datentabelle. Klicken Sie mit der rechten Maustaste auf die
Micellaneouselta-Tabelle. Ich muss die Struktur, die
Artikelinformation, die Cola, auswählen. Nennen wir es T Item Info. Jetzt mache ich
es etwas schneller als zuvor, weil wir das schon zweimal
gemacht haben . Nun zu diesen Artikelinformationen, wir benötigen eine Datentabelle dafür
in Google Sheets. Ich möchte Google
Sheets hier noch einmal öffnen. Lass mich das einfach duplizieren, Informationen auf
TT-Level, oder? Dupliziere es. Nennen wir
das hier unten. Lassen Sie uns den Namen
in DT item base ändern. Jetzt, hier drinnen,
werde ich das alles löschen. Lösche das alles nochmal. Nun zu den Artikeln muss
ich den Namen
jedes einzelnen Artikels schreiben. Ich kann zum Beispiel die erste
nehmen und Sie können die Methode jederzeit kopieren und
einfügen. Auch hier müssen Sie
dieselben Variablennamen schreiben wie in der
Struktur hier oben, um den Namen
zu schreiben. Und dann müssen
wir Sprites schreiben und dann haben wir die Kosten für die Münzen, du musst sie genau
so schreiben, wie wir sie hier geschrieben haben, sonst wird es nicht funktionieren Dann
müssen Sie als Zweites die
Informationen aufschreiben Wenn ich jetzt zurück an meinen
Tisch gehe, um die ID zu finden, musst
du den Artikelnamen schreiben. Wenn ich zu den Objekten zurückkehre, finde
ich einen der Gegenstände. Nehmen wir zum Beispiel an, der
erste Gegenstand ist diese Feder. Ich kann es nennen, wie ich will. Ich möchte es zum Beispiel Lichtvater
nennen. Ich kann es kopieren und in
den Namen der Klasse einfügen. Wir haben es noch nicht erstellt. Ich gehe zu den Gegenständen der Klasse. Ich muss hier mit der
rechten Maustaste klicken. Erstellen Sie eine untergeordnete Blueprint-Klasse. Jetzt muss ich
alle Elemente erstellen. Der erste
heißt BP Light. Sie können versuchen, sie
in der
gewünschten Reihenfolge einzustellen . Zum Beispiel
ist die Lichtfeder der schlechteste Gegenstand im Spiel. Zum Beispiel könnte dieser Ruf oder dieser Regenbogen der
beste Gegenstand im Spiel sein. Sie können sie einfach
in der
gewünschten Reihenfolge anpassen , aber Sie müssen sie nur alle
erstellen. Ich kann
sie zum Beispiel in einer zufälligen Reihenfolge erstellen. Vorerst zum Beispiel diese Krone des Bösen. Jetzt kann ich zu den Objekten gehen, mit der rechten Maustaste auf die Artikelbasis klicken und
einen untergeordneten Blueprint erstellen Nenn es BP Brown of Evil. Geh zurück zu Objekten, ich werde den Hut des Großen Zauberers
kopieren. Und mach einfach dasselbe
für alle Gegenstände. Und ich bin wieder bei dir sobald ich sie alle erstellt habe. In Ordnung, jetzt bin ich zurück. Als Kind habe ich alle
Gegenstände hier kreiert. Also klicke ich im Grunde mit der rechten Maustaste und erstelle ein
Kinder-Blueprint-Glas gebe ihm einfach den Namen
der Artikel, die ich hier habe, die wir hier
importiert haben. Jetzt habe ich sie alle. Lass uns weitermachen und alles speichern. Jetzt können Sie
zur Datentabelle zurückkehren, um diese Informationen hier abzurufen. Um die Klasseninformationen zu erhalten, gehe
ich normalerweise einfach
zur Datentabelle A und füge eine
Zeile hinzu und wähle sie
zum Beispiel hier aus. Ich kann zum Beispiel
die Glücksfeder oder die
Lichtfeder auswählen. Und dann kann ich die Umschalttaste gedrückt halten, rechten Maustaste klicken, um sie zu kopieren, und dann kann ich meine Datentabelle öffnen
und V drücken, um sie einzufügen. So macht man es im Grunde. Jetzt können Sie sehen, dass Sie
diese helle Feder eingeklebt haben. Jetzt müssen Sie wieder
alle Artikel hier eintragen. Nun, sehr wichtig,
das wird die Reihenfolge Ihrer
Artikel
sein, wie gut sie sind. Achte nur darauf, dass du
zuerst die schlechtesten Artikel
schreibst und dann
wird es besser und besser, sie in der
Reihenfolge zu schreiben, die du willst. Ich werde
das einfach auch hier machen. Jetzt habe ich sie
alle in der von Ihnen
gewünschten Reihenfolge aufgeschrieben . Ich habe
hier nur eine zufällige Reihenfolge für alle Artikel geschrieben. Nun müssen Sie für jede dieser Klassen wieder hier reingehen, die Datentabelle für
die Artikelinformationen
öffnen und
zum Beispiel die
nächste auswählen, nämlich, lassen Sie uns nur der Reihe nach auswählen. Zum Beispiel Crown of Evil. Gehen Sie zurück zur Datentabelle und fügen Sie sie hier für
die Krone des Bösen ein. Gehen Sie jetzt wieder zurück und wählen Sie
die Grand Wizard Heads aus. Fügen Sie es
hier in
die Zaubererköpfe ein. Tu es einfach
für alle. Nun zum Sprite, es ist viel einfacher, weil
du das einfach minimieren kannst Gehe zu deinem Sprite
hier in den Objekten. Klicken Sie für jedes Sprite mit der rechten Maustaste auf den Verweis, dann können Sie hierher zurückkehren und ihn für die Krone des Bösen
einfügen Jetzt zum Beispiel die nächste, die Rechtsklick-Referenz mit
dem Kopf des Zauberers Gehen Sie zurück zur Datentabelle, fügen Sie sie hier ein und so weiter. Tun Sie das auch für den Sprite. die Kosten für Münzen angeht, kannst
du das nach dem Zufallsprinzip machen Jetzt kannst du so etwas schreiben, als ob der erste Artikel 15
Münzen kostet Ich schreibe einfach gleich, wenn ich auf diese Zahl
klicke, wir mal 1,5. Dann klicke ich einfach und ziehe
das in dieses ganze Feld Also
fügt es automatisch die Zahl für mich hinzu. Es spielt vorerst keine Rolle
, wie hoch der Preis ist. Sie können ihn später jederzeit anpassen. Wir
programmieren erst mal. Ich werde das jetzt einfach
alles ausfüllen. In Ordnung, jetzt habe ich
alle Informationen eingegeben. Fahren Sie fort und klicken Sie auf
Datei und Download. Laden Sie es als CSV-Datei herunter. Machen Sie jetzt weiter und benennen Sie
es in DT Base um. Gehen wir zurück zur Datentabelle. Eigentlich hat DT Base es
Info genannt. Das ist mein Fehler. Informationen zum Artikel. Sie müssen das auch in
der Datentabelle hier korrigieren. Nenn es stattdessen Info, das. Jetzt können wir
das hier hineinziehen und sollten automatisch alle
Informationen für uns importieren . Jetzt haben wir also
alles, was wir brauchen. Jetzt der letzte Schritt, den
wir tun müssen, kurz bevor wir damit fertig sind,
können wir immer noch in Bibliotheken gehen. nun in den vorherigen
Bibliotheken Fügen
wir nun in den vorherigen
Bibliotheken eine neue Funktion namens get item info hinzu, weil
wir sie später benötigen. Fügen wir hier eine Eingabe hinzu, nennen wir sie T-Name, das ist eine Zeichenfolge. Nun zum Itam,
lass uns nochmal ziehen. Genau wie zuvor
können wir hier reingehen. Und das ist im Grunde alles. Sie können das
alles sogar hier kopieren und einfügen. Wir ersetzen alle
Leerzeichen, wie Sie hier sehen können. Wir wollen hier die DT-Artikelinformationen und wir können einen
Rückgabeknoten erstellen, Return, er gibt die Informationen
für diesen Artikel hier zurück, ich kann einfach Artikelinformationen schreiben, kompilieren und sicherstellen,
dass Sie
für diese Artikelinformation Pure ausgewählt haben. Weil wir nur die Informationen
haben wollen , alles
speichern wollen. Das war es. Jetzt haben wir alles, was wir
für die Artikelinformation benötigen. Wenn du es nur testen willst, kannst
du jederzeit in
den Player gehen, zum Beispiel Recht sagen, Artikelinformationen
abrufen Hier siehst du, dass du den Artikelnamen
hast, den du eingeben kannst und lass uns den Artikelnamen hinzufügen bevor wir das beenden,
nur ein paar zusätzliche Inhalte hier, wir können die Artikelbasis
fertigstellen Öffnen wir es hier für
die Variablen, die ich hinzufügen möchte. Wir können es sogar
Namen oder Namen nennen. Nennen wir es Artikelname. Geben wir ihm eine Zeichenkettenvariable. Kompilieren Sie jetzt, da ich sie dem Elternteil
hinzugefügt habe, erben
alle
untergeordneten Blueprint-Variablen , wenn ich zum Beispiel die
Krone des Bösen öffne.
Sie können hier sehen, dass sie
einen Objektnamen hat und Sie müssen diesen
Elementnamen korrekt schreiben Da dies nun der Elementname ist, werden die Informationen
aus dieser Datentabelle extrahiert Wenn du diesen zum
Beispiel Crown of Evil nennst, wird
er hier
Crown of Evil finden. Später wird es
all diese Informationen benötigen. Es weiß, welche Klasse es hat, welchen Sprite es hat, was es
kostet und so weiter Du musst das also richtig schreiben und wir können es später verwenden Klicken Sie erneut auf alle. Schreiben Sie den Namen von ihnen
für Grand Wizard. Fügen Sie für diesen einen Teil der
Artikelbasis hinzu, wir haben nichts. King's Crown, richtig? Die Runde der Könige. Ich werde
das einfach für alle tun. In Ordnung, das ist die
letzte, die Fackel. Lass uns weitermachen und alles kompilieren
und speichern. Jetzt haben wir alles
, was wir brauchen. Speichern Sie alles
und fahren wir mit der
nächsten Lektion fort.
68. 8.04 Erstellen der Shop-Item-Karten: In Ordnung, jetzt machen wir weiter
und erstellen den Shop-Artikel. Od, lass uns jetzt
zu den Bauplänen gehen. Öffne das Gesetz zur Spielerkontrolle, denn denk dran, hier
machen wir die Benutzeroberfläche Was auch immer du für die Benutzeroberfläche tun musst. Normalerweise mache ich das in
der Spielersteuerung. Anstatt hier werde
ich ein neues neues Event erstellen, ein benutzerdefiniertes Event. Nennen wir
das „Shop-Artikel erstellen“. Denn jetzt müssen wir sie dynamisch
durch Code
erstellen. Denken Sie daran, dass
wir für die Artikelkarte im Shop im Grunde genommen eine Karte
als statische Karte entworfen eine Karte
als statische Karte bei der alle
Informationen statisch sind. Aber jetzt müssen wir den
gesamten Text hier ändern , damit
er durch Code dynamisch ist. Deshalb
müssen wir zuerst
die Karte erstellen und sie dann
oben im Menü anzeigen , wo wir dieses Scrollfeld hier
in der Spielsteuerung
haben. Lass uns das machen. Erstellen Sie
Shop-Artikelkarten. Im Grunde wollen wir hier dieses Widget
namens Create Widget verwenden. Widgets erstellen. Und wir
wollen die Shop-Artikelkarte erstellen. Das ist unser Hauptziel. Jetzt müssen wir das
für die Anzahl der Artikel erstellen, die wir haben. Denken Sie daran, dass diese
Informationen
in der
Datentabelle verfügbar sind , die wir hier erstellt haben. Wir wissen bereits, wie viele
Elemente wir von hier haben, wir wissen tatsächlich, wie viele dieser Widgets
wir erstellen müssen. Sie können dies im Grunde tun, indem Sie mit der
rechten Maustaste klicken und sagen: Holen Sie sich die Zeilennamen der Datentabelle. Denken Sie an diesen, den wir
in der Funktionsbibliothek verwendet haben, aber jetzt müssen wir diesen verwenden. Ruft die Zeilennamen der Datentabelle ab. Wir erhalten also alle Namen in
dieser Datentabelle. Jetzt haben wir
alle Artikelnamen hier. Wir werden es verbinden. Was wir jetzt tun können, ist jetzt, anstatt es hier zu verbinden, weil wir für jedes
dieser Elemente
ein Widget erstellen müssen .
Was wir tun können, ist, dass wir
hierher ziehen und sagen, vier pro Loop. Jetzt machen wir eine Schleife. nun für jedes dieser Elemente Erstellen
Sie nun für jedes dieser Elemente ein Widget. Wenn Sie dann das Widget erstellen, möchte
ich es zu einem Array hinzufügen. Wenn ich hier unten eine neue
Variable erstelle und sie nenne, kann
ich den Typ
dieses Widgets ändern, das wir erstellt haben. Artikelkarte kaufen. Wenn
ich nur nach einem Shop-Artikel suche und diesen
hier, wähle ihn aus. Ich möchte diesen
in ein Array ändern. Sie können hier klicken,
oder tatsächlich hier oben. Und Sie können ein Array auswählen, oder Sie können einfach mit der rechten Maustaste auf
dieses Symbol klicken und
es wird in ein Array umgewandelt. Nun zu dieser
Shop-Artikelkarte, was ein Array ist, wenn Sie noch nicht wissen, dass Sie die einzelnen Variablen
hier haben und Sie ein Array haben, ist
eine einzelne Variable, wo wir
im Grunde,
genau wie
vor der Verwendung , eine einzelne
Information in dieser Variablen speichern ,
damit wir sie später verwenden können. Nun, für ein Array bedeutet dies, mehrere Informationen zu
speichern. Wir können alle
Widgets speichern, die wir erstellen. Wir können sie hier speichern
, um diese Informationen zu erhalten. Sie können sie per Drag-and-Drog abrufen, und Sie erhalten den
Informationsindex, in dem sie sich befinden Wenn ich
hier auf dieses Array klicke, siehst du tatsächlich, dass du auf das Plus
klickst.
Und ich kann ein Element auswählen und ich kann erneut
auf das Plus klicken, ein anderes Element
auswählen
und Sie können weitermachen. Sie können sehen, dass es
mehrere Informationen speichert. jedoch sehen, dass Sie für eine einzelne Sie können jedoch sehen, dass Sie für eine einzelne Information nur eine einzige Information
speichern können . Für ein Array
können Sie jedoch mehrere speichern. Wir werden sie einfach alle
löschen. Du kannst hier sehen, wenn du
alle Widgets
hast, du kannst auch
für jeden Loop schreiben. Jetzt können Sie mit jedem
der Elemente, die Sie hier
gespeichert haben,
etwas anfangen. Wir werden
dieses Widget hier speichern. Für jedes Element erstellen
wir ein Widget. jedes dieser Widgets
werde ich hier draken und sagen Hinzufügen, wir werden es dem
Shop hinzufügen. Artikelkarten wie diese. Den Grund, warum
wir es in das Shop
It-Widget ändern mussten, geben Sie hier ein. Denken Sie daran, wenn Sie die Maus darüber
halten, dies auch eine
Shop-it-Objektreferenz ist. Wenn du jetzt versuchst,
etwas anderes zu machen,
wenn ich zum Beispiel einfach nach
Spielerbasis für Spieler suche und diesen PP-Player auswähle
und daraus ein Array mache, versuche
ich, das hier hinzuzufügen. Es wird sagen, dass die Objektreferenz für
Shop-Artikel nicht
mit der
Player-Objektreferenz kompatibel
ist , weil sie nicht vom
gleichen Variablentyp sind. Das können Sie nicht tun, sie müssen denselben
Variablentyp haben. Bevor Sie
sie hier hinzufügen können, lassen Sie mich diese einfach löschen. Jetzt erstellen wir für jedes
dieser Elemente ein
Widget und speichern es
in dieser Array-Variablen. Jetzt
möchte ich auch sicherstellen, dass dieses Array hier
nichts enthält. Bevor ich das hier mache, bevor ich irgendwas mache, lass mich das einfach kopieren, einfügen und löschen sagen. Weil ich dieses Array
löschen möchte bevor ich
Elemente hinzufüge. Jetzt sind wir im Grunde
damit fertig, sie zu erstellen. Das war es vorerst. Lassen Sie uns weitermachen und dem nächsten fortfahren.
69. 8.05 Die Shop-Item-Karten anzeigen: In Ordnung, jetzt sind wir bereit
, die Artikelkarten anzuzeigen. Nun, bevor ich das mache, werde
ich
all diese löschen. Wählen Sie also diese
Artikelkarten aus, die wir
zuvor zur Liste hinzugefügt haben , und
fahren Sie fort und löschen Sie die Kompilierung. Nun, was wir innerhalb
des Player-Controllers tun können ,
lassen Sie uns zu Recht
ein neues benutzerdefiniertes Event erstellen. Nennen wir es Display
Shop It Cards. Jetzt werden wir die Karten anzeigen ,
die wir zuvor
erstellt haben. Bevor ich das noch einmal mache, muss
ich löschen, was ich
in diesem Scrollfeld habe. Denken Sie daran, dass wir
diese VB-Artikelliste haben. Gehen wir zurück zum
Player-Controller. Nehmen wir diese WB-Hauptliste, denn diese oder diese Liste der
VB-Listenelemente befindet
sich innerhalb der WB-Hauptliste Ich kann von hier aus ziehen
und VB-Elementliste sagen, wir Weil ich alle darin enthaltenen Elemente
löschen möchte ,
bevor ich meine Karte hinzufüge Es werden keine
zufälligen Dinge angezeigt. Wenn du
die Shop-Artikelkarten
später
aus irgendeinem Grund für dein Spiel erstellst,
stellst du außerdem sicher, dass du
die alten löschst , bevor
du die neuen hinzufügst. Nehmen wir nun die
Ladenartikelkarten, die wir haben. Jetzt können wir sagen, dass für
jeden Loop eine Verbindung besteht. Nun wollen
wir jede
dieser Artikelkarten zu dieser Liste hinzufügen. Ich kann das kopieren,
einfügen und sagen, zwei hinzufügen. Fügen Sie dem vertikalen Feld ein Kind hinzu, wählen Sie dieses aus und
fügen Sie es jetzt hier hinzu. für jede der
Shop-Artikelkarten,
die ich hier erhalte sie der Liste hinzu. Das ist es im Grunde,
wenn ich jetzt kompiliere. Denn wenn ich hier auf Play klicke, passiert wirklich
nichts. Denn denken Sie daran, dass wir diese Ereignisse
nie genannt haben. Lass es uns in der Reihenfolge der Spieler
beginnen oder das Spiel beginnen hier. Denn normalerweise
musst du dir
in deinem Spiel einfach überlegen, wann oder wo du diese aufrufen
möchtest? Du möchtest sie
vom Player, vom Player-Controller
aus aufrufen . Jetzt werden sie
in meiner Haupt-Benutzeroberfläche angezeigt, sodass ich sie tatsächlich einfach
innerhalb von Begin Play ausführen kann. Wenn dies jedoch zum Beispiel
in meiner Schaltfläche angezeigt würde , ich
eine Taste drücken
müsste um den Shop zu öffnen, würde ich es nicht
in Begin Play anzeigen. Ich würde es erstellen.
Wenn ich hier im Startmenü „Create“ sagen
könnte, It-Karten
kaufen und das
Event, das wir erstellt haben, aufrufen könnte. Jetzt rufen wir dieses Ereignis hier
unten auf. Das ist richtig. Nun, wenn es
in einer Taste wäre, wenn ich eine
Taste drücken müsste, um sie zu öffnen, würde
ich diese
Anzeige nicht beim Start des Spiels schreiben. Ich würde es jedes Mal schreiben, wenn
ich auf die Schaltfläche klicke. Dann möchten Sie die Artikelkarten
des Shops anzeigen lassen. Aber im Moment haben wir
das in der Hauptsache, wir wollen es eigentlich sofort
anzeigen. Ich kann es tatsächlich immer
hier schreiben, wenn ich
die Shop-Artikelkarten erstelle und alles hinzugefügt wird und
alles abgeschlossen ist. Hier in den fertigen, ich möchte sagen Display-Artikelkarten. Es macht es also richtig. Lassen Sie uns kompilieren und
klicken wir jetzt auf „Beschweren“. Und ich kann sehen, dass nichts passiert. Und das liegt daran, dass
ich tatsächlich vergessen habe , hier die DT-Artikelinformationen auszuwählen. Wenn ich jetzt kompiliere, kannst du
jetzt alle meine Artikel sehen. Es ist nicht mit korrekten
Informationen, denn denken Sie daran wir ihm noch nicht gesagt haben, wo der Titel sein sollte, wie hoch
der Preis sein sollte. Wir müssen das aktualisieren,
aber Sie können sich darauf verlassen, dass Sie hier 1-234-567-8910, Artikel
haben Das ist richtig, denn
in der Datentabelle
haben wir auch zehn Elemente haben wir Jetzt wird tatsächlich die richtige Anzahl von
Artikeln in unserer Liste angezeigt. Das wollen wir. Ich kann sehen dass
es einen Fehler mit
dieser Scrollleiste gibt. Ich werde
es tatsächlich
sofort korrigieren . Wenn ich einfach
auf dieses Scrollfeld klicke, den normalen Daumen, werde ich es
einfach einfügen. Für den Hover, für
den Dr. And Hover, kannst
du
den Farbton sogar leicht ändern Es hat auch einen gewissen Effekt auf
den Luftwiderstand. Ich werde es leicht ändern. Okay, klicken Sie auf Jetzt abspielen. Alles sollte gut sein. Okay, jetzt wird alles korrekt
angezeigt. Lass uns
mit dem nächsten weitermachen.
70. 8.06 Jeder Itemkarte die richtigen Informationen geben: Jetzt müssen wir
darüber nachdenken, wie wir jeder Artikelkarte die
richtigen Informationen
geben Wir können also den Namen ändern, wir können den
Preis ändern und so weiter. Gehen wir also in das Diagramm hinein. Hier drin
möchte ich eine neue Variable erstellen. Nennen wir diesen einen Artikel Info. Lassen Sie uns auch den
Typ in Artikelinformationen ändern. Und wir können die
Struktur auswählen, die wir erstellt haben. Okay, mach weiter und kompiliere. Und ich kann anhand der Struktur sehen dass Sie
jetzt all
diese Informationen haben, aber im Moment sind sie leer. Wie kommen wir also an die
richtigen Artikelinformationen? All diese Informationen finden Sie hier. Wie bekommen wir das in die Artikelkarte
des Ladens? So können wir den
Text für den Titel, den Text für den Preis usw.
korrekt
festlegen. Das machen wir, wenn du
zum Kartendiagramm der Artikel im Shop gehst , auf diese
Artikelinformation klickst und sie auf „
Instanz editierbar“ setzt
und sie beim Spawn sichtbar Du kompilierst und gehst
jetzt zurück
zum Player-Controller und
klickst auf Datei, Alle Notizen
aktualisieren Sie können hier sehen, dass Sie feststellen , dass diese Artikelinformationen erschienen sind. Und wieder liegt das
daran, dass wir auf
die Instanz Editierbar
und Expose beim Spawn gedrückt haben auf
die Instanz Editierbar
und Expose beim Spawn Es wird immer angezeigt,
wenn wir das Widget erstellen. Aha. Jetzt können wir
das nehmen und sagen, hol dir Informationen. Und eigentlich können
wir es nicht direkt machen, weil es eine Zeichenfolge ist. Tally kann sagen, Artikelinformationen abrufen. Denken Sie daran, dass dies
die Funktion ist, die wir in der Funktionsbibliothek
erstellt haben in der Funktionsbibliothek
erstellt Jetzt können wir das hier hineinziehen und es wird
deine Namenszeichenfolge oder
deine Namensvariable in
eine Zeichenkettenvariable umwandeln deine Namenszeichenfolge oder
deine Namensvariable . Jetzt können wir diese
Artikelinformationen hier einloggen. Für jedes dieser Elemente diese Elemente
im Grunde für jeden Artikelnamen
oder jeden Artikelnamen abgerufen. Wenn ich zu den Artikelinformationen übergehe,
denke daran, dass wir einen Namen haben. Es wird diese
Informationen verwenden, um sie
hierher zu bringen . Im Grunde wird
es also lesen, zum Beispiel mit
einer leichten Feder, es wird diese
Informationen für die Fackel abrufen, es wird diese
Informationen abrufen und so
weiter für jeden von ihnen. Es wird sie an
die jeweilige Karte anschließen , die wir erstellt haben. Dann haben wir
diese Informationen jetzt tatsächlich hier
gespeichert. Jetzt können wir mit den
nächsten Lektionen fortfahren, in denen wir die
Informationen für diese Karte hinzufügen oder aktualisieren können .
71. 8.07 Die richtigen Karteninformationen anzeigen: wir nun die richtigen
Artikelinformationen in
dieser Variablen haben , wir weitermachen und die Informationen
aktualisieren Ich werde das
alles vorerst löschen. Fangen wir mit dem
Event-Konstrukt an. Das Event-Konstrukt
wird
immer dann abgespielt , wenn Sie
das Widget hier erstellen. Denken Sie daran, dass wir die Artikelkarten zum
Erstellen von Shop-Artikeln erstellt haben. Immer wenn du das Widget erstellst, dieses Startspiel oder sogar wird
dieses Startspiel oder sogar dieses
Konstrukt sofort
abgespielt Wir werden die darin enthaltenen
Informationen hier aktualisieren. Wir
wollen einfach mit diesem
Artikelnamen
beginnen und darauf klicken. Denken Sie daran, dass wir den Namen
dafür bereits
geändert und
ihn auf eine Variable gesetzt haben. Und das haben wir
für all diese getan. Klicken Sie auf das
erste Objekt, den Namen des Elements, ziehen Sie es hierher,
ziehen Sie es und sagen Sie den eingestellten Text Das ist im Grunde
das, was wir tun wollen. Wir wollen den
Text richtig einstellen. Wir wollen diese
Artikelinformation
jetzt nehmen , sie ziehen und Pause sagen. So können wir alle
Variablen sehen. Wir können den Namen
des Elements einfach hierher ziehen und
er wird aktualisiert. Mach weiter und verbinde
es. Und Sie können bereits sehen, dass dies funktioniert, wenn
Sie auf Jetzt abspielen klicken. Und jetzt siehst du, dass für alle
den richtigen Namen hast. Der Protector Night Helmet, King's Crown und so weiter. Es wird korrekt aktualisiert. Auf diese Weise wissen Sie
, dass die richtigen Informationen angezeigt werden. Okay, das war der Artikelname. Die zweite Sache, die
ich aktualisieren möchte, ist der Preis. Klicke auf diesen. Ziehen wir es und sagen Text festlegen. Nun zum Preis.
Klicken wir auf diesen. Ich werde zeigen, wie viel
die Münzen kosten. Ich werde es hier verbinden. Zerlegen Sie es.
Wenn Sie jetzt auf Play klicken, können
Sie sehen, dass dies auch korrekt
angezeigt wird. nun die Anzahl der
Artikel angeht, die wir gekauft haben Sie
jedes Mal,
wenn Sie klicken und
kaufen und einen Artikel in einer Variablen speichern
, da Sie später wissen
müssen, wie viele dieser Artikel
Sie gekauft haben. Was nun die Anzahl
der Artikel angeht, die wir gekauft haben, denke
ich, dass ich diese
Informationen im Player speichern werde. Wenn ich den Player öffne
und hier drin bin, erstellen
wir eine neue Variable. Nennen wir diesen einen Gegenstand Pots. Jetzt ändern wir es
in eine Zeichenfolge, weil wir wissen müssen, über welches Objekt
wir sprechen. Jetzt werde ich es in eine Karte umwandeln. Ich muss
dir erklären, was eine Karte ist. Wenn Sie das einfach hierher ziehen, können
wir sehen, dass eine Map eine Verbindung
zwischen zwei Variablen ist, anstatt dass es sich um
eine Variable handelt. Jetzt haben wir
hier zwei Variablen in einer , ich kompiliere hier unten, ich klicke auf Plus, du kannst sehen, dass es ein
Feld gibt, in das ich schreiben kann. Das ist im Grunde die
String-Variable hier drüben. Ich kann
hier eine Zahl setzen, und das ist die Integer-Variable. Sie können sehen, dass wir eine Zeichenfolge
und eine Ganzzahl haben, und im Grunde können Sie so viele
haben, wie wir wollen. Ich möchte das verwenden, wir wollen den Gegenstand haben, zum Beispiel Königskrone. Und wie viele Exemplare
der Königskrone haben wir bis jetzt gekauft? So werden wir
diese Variable verwenden. Aber aus einer Map kann man
im Grunde alles machen. Zum Beispiel können Sie
es hier in eine Ganzzahl ändern. Sie können
es auch in eine Transformation ändern. Zum Beispiel hier, jetzt können Sie sehen, dass Sie es so verwenden
können, wo Sie eine Zahl haben, die im Grunde eine Ganzzahl
ist. Dann hast du die Transformation. Wenn du hier klickst,
kannst du die Transformation sehen. Im Grunde kannst du vielleicht
die Anzahl der Transformationen speichern die Anzahl der Transformationen , die du in der Map hast oder
was auch immer, etwas Zufälliges Aber wie Sie sehen können, ist eine Map eine Verbindung zwischen
zwei Variablen Aber lassen Sie mich
es
vorerst einfach in eine Zeichenfolge und die zweite in
eine Ganzzahl ändern weil ich im Grunde wissen möchte welchen Artikel wir sprechen über welchen Artikel wir sprechen und wie viele von diesem
Artikel wir tatsächlich gekauft haben. Dafür
benutzt du eine Map. Ich habe jetzt nicht
für diese gekauften Artikel kompiliert. Lassen Sie mich jetzt zur Artikelkarte
des Shops zurückkehren. Und ich benötige einen Verweis auf
meinen Spieler, weil ich diese Variable im
Event-Konstrukt
verwenden muss . Lass mich einfach mein
Blueprint-Interface benutzen. Holen Sie sich
zuerst den Spielcharakter, fangen Sie an zu spielen. Dann können wir von hier aus Get
Play unsere Referenz
ziehen und sagen. Denken Sie daran, dass dies die
Blueprint-Schnittstelle ist, die wir erstellt haben. Klicken Sie mit der rechten Maustaste, machen Sie
daraus unsere Variable und nennen Sie sie zum
Beispiel Spielerfigur Und mach weiter und verbinde es. Jetzt, wo wir die Variable haben, können
wir diese
Spielfigur nehmen und
sie verwenden, indem wir sagen, dass sie Punkte hat, und
wir können unsere Variable bekommen Was wir tun wollen, ist
im Grunde genommen, wenn ich zurückgehe, das ist die Objektstelle.
Wenn ich ihn einfach hineinziehe, wollen
wir einfach
den Text so einstellen,
wie wir ihn geschrieben haben,
und ihn verbinden Das ist im Grunde
das, was wir tun wollen. Wir müssen wissen, wie viele von
diesem Artikel wir gekauft haben und über welchen Artikel
wir sprechen. Wir können hier ziehen und
sagen,
wenn Sie zum Beispiel nicht wissen, was
Sie mit einer Karte machen können, können
Sie immer nach einer Karte suchen. Und jetzt siehst du alle Funktionen,
die du für eine Karte verwenden
kannst. Sie können zum Beispiel suchen,
finden, weil wir
den Artikel hier finden wollen , wenn wir den bestimmten Gegenstand
finden, zum Beispiel Königskrone. Wenn ich es von hier aus
buchstabieren kann, King's Crown, dann
wissen wir von hier aus, wie viele von diesem Artikel wir gekauft haben, und
wir können ihn tatsächlich anzeigen. Anstatt hier zu schreiben, können
wir bereits wissen welchen Artikel es sich handelt, weil
wir die Artikelinformationen haben. Also können wir das hier hin
und her ziehen. Und dann haben wir den
Artikelnamen, mit dem wir
eine Variable verbinden können . Jetzt nimmt
es den Namen
dieses Elements,
in dem wir uns befinden , und fügt ihn ein. Und von dort aus wird es den Artikel
finden und dann herausfinden, wie viele
dieser Artikel Sie
tatsächlich gekauft haben? Aber im Moment
haben wir in den gekauften Artikeln nicht wirklich
etwas aufbewahrt . Es ist also momentan leer, aber es wird
später
einige Informationen enthalten, wenn wir
tatsächlich Artikel kaufen. Ich werde es einfach hier
einstecken und es wird mir
angezeigt, eine Compilation on Play. Und jetzt können Sie sehen,
dass es
Null anzeigt , weil wir noch keine
Informationen darin haben.
72. 8.08 Die Kauf-Textfarbe ändern: Was ich jetzt tun möchte, ist dies
nach der Button-Farbe zu aktualisieren, denn wenn wir keine Münzen haben, möchte
ich
diese oder die Textfarbe
rot statt grün anzeigen diese oder die Textfarbe
rot statt grün Und es wird grün, wenn wir genug Münzen
haben
, um diesen Artikel zu kaufen. Lassen Sie uns weitermachen und das tun. Lassen Sie mich das einfach schließen. Auch hier möchte
ich mit der Benutzeroberfläche arbeiten und das innerhalb
der Playersteuerung machen. Hier drin werde
ich eine neue Funktion erstellen. Nennen wir das hier. Nennen wir es Updates, speichern oder aktualisieren, shoppen. Und es ist eine nach der Schaltfläche oder nach der Farbe des Textes,
ungefähr so. Sehr erklärend, aktualisieren Sie die
Shop-Artikelkarte nach der Textfarbe. Jetzt benötigen wir einen
Verweis auf all diese Shop-Artikelkarten, die
wir hier drin haben Denken Sie daran, dass
wir
das von uns erstellte Shop-Artikel-Array
bereits enthalten haben. Ich sage für jede Schleife, und wir werden sie alle
durchgehen. Für jeden von ihnen
möchte ich diesen Text nehmen. Wenn ich also zurückgehe und
mich daran erinnere, wie wir es genannt haben, ist
es Text von Text nach und wir haben es variabel
gemacht. Gehen wir zurück zum
Play-Controller. Ziehen wir es und sagen wir, wir
können diesen Text übernehmen. Was wir einfach machen wollen, ist wenn Sie einfach mit der Maus ziehen und Farbe sagen, wenn Sie nicht wissen
, wie das heißt, können
Sie sehen, dass es etwas gibt man Farbe und Deckkraft festlegt Lass uns diesen wählen. Ziehen wir es hierher. Jetzt können Sie
daraus ziehen und sagen Schieferfarbe
machen, weil wir sehen
wollen, was
wir damit machen können. Jetzt können wir hier eine bestimmte
Farbe einstellen. Jetzt möchte ich
die Farbe
je nachdem einstellen , ob wir tatsächlich Münzen
haben oder nicht. Jetzt müssen wir
mit den Münzen arbeiten. Denk dran, das ist drinnen. Im Inneren des Spielers befindet
sich eine so genannte Menge an Münzen, die
wir zuvor verwendet haben. Wir haben auch die
Artikelkosten, die auf der Artikelkarte
des Shops stehen
, weil wir
diese Artikelinformationen haben , sodass wir
die Kosten des Artikels kennen. Lassen Sie uns die im
Player-Controller verwenden. Sie können es selbst versuchen, wenn Sie üben möchten, oder
lassen Sie es uns zusammen machen. Nun zu diesem Artikel
werde ich Artikelinformationen sagen. Also hole ich mir diese Variable und ich
werde sie kaputt machen. Damit ich die Kosten des Artikels sehen kann, werde ich das hier wegziehen. Jetzt kann ich die
Artikelkosten hier sehen. Ich werde einfach nicht verbundene Pins
ausblenden und nur die Artikelkosten anzeigen Jetzt will ich auch die Anzahl der Münzen der
Spieler haben. Ich benötige eine Variable für den Spieler. Ich sehe, dass ich das nicht habe. Wenn ich einfach zurück zum
Player-Controller gehe und ich wieder, können wir
eigentlich einfach
zurück zum Shop-Artikel gehen. Wir können all das, was wir gerade in der
vorherigen Lektion erstellt haben,
einfach kopieren und
einfügen . Und ich werde einfach zu Recht eine Variable
für das Spiel
erstellen, und das geht viel schneller wir jetzt zurück. Jetzt haben wir das Spiel,
lassen Sie es uns hineinziehen. Sagen wir, Anzahl der Münzen. Ermitteln Sie die Anzahl der Münzen. Was wir jetzt fragen werden
ist, kostet die Münze? Ist sie größer? Ist es größer als die
Menge an Münzen, die wir haben? Dann kannst du von hier aus ziehen
und sagen: Wähle, wähle Farbe. Nun der Unterschied zwischen
einer ausgewählten und einer ausgewählten Farbe. Wenn Sie sie nun einfach
herausziehen, damit wir sie sehen können, wählen Sie „Farbe ist hier“
und „Auswahl ist hier“. Der Unterschied ist nicht
wirklich zu groß. Der Unterschied ist, wenn
Sie die Farbe auswählen, können
Sie sehen, dass sie
automatisch auswählt
, dass es sich um ein Edelmetall handelt, das
Sie einstecken müssen Für die Auswahl können Sie
wählen, was Sie wollen. Sie können eine Aufzählung eingeben,
wie wir es zuvor getan haben, aber Sie können
auch diese eingeben und sie wird als wahr oder falsch ausgeben Und dann kannst du damit machen,
was du willst. Im Grunde können Sie beide
verwenden. Ich werde vorerst nur Select
Color verwenden. Wählen Sie eine Farbe aus. Mach weiter und schließ das an. Es wird
sagen,
ob der Münzpreis für diesen Gegenstand höher
ist als die
Anzahl der Münzen, die Sie haben? Wenn ja, heißt es wählen Sie A. Wenn diese
Goldvariable wahr ist, wird
sie wählen
a, das heißt Münzen Wenn die Anzahl der Münzen, die
dieser Artikel gekostet hat, wenn Sie nicht
genug haben, um ihn zu kaufen, wird
er tatsächlich A auswählen. Wir brauchen eine rote Farbe
für das A und wir brauchen eine grüne Farbe für das Rindfleisch, weil Sie es
dort kaufen können Was die grüne Farbe angeht, werde
ich
sie einfach per Knopfdruck vom Designer kopieren ,
weil ich sie schon gemacht habe. Ich werde die lineare
Hex-Farbe kopieren. Ich gehe zurück zum
Play-Controller. Fügen Sie es für das ein, Fügen Sie es hier ein, klicken Sie für dieses. Ich
wähle
hier zuerst eine rote Farbe aus, damit ich sehen kann, wie sie
aussieht. Etwas wie das hier. Und ich kann die lineare Farbe kopieren. Klicken Sie einfach auf Abbrechen, weil ich es hier
nicht ändern möchte. Zurück zur, der roten
Farbe. Und jetzt haben wir es. Es wird sagen, ob die Artikel mehr kosten als das,
was Sie in Münzen haben? Wenn das stimmt, wähle eine, wähle die rote Farbe Wenn du genug Münzen hast,
wird es die grüne Farbe wählen. Es wird es
hier einstecken und es wird die Textfarbe
einstellen und kompilieren. Jetzt müssen wir
diese Funktion aufrufen, weil wir das noch
nicht getan haben, und wir wollen sie aufrufen,
wann immer ich auf Play klicke.
Ich möchte schon, dass
das alles aktualisiert wird. Der beste Weg, das zu tun, ist, dass wir die Artikelkarten hier
erstellt haben .
Wir erstellen sie alle. Bevor wir sie anzeigen, möchte
ich die Farben aktualisieren. Ich werde
sie hier so hinzufügen. Kompilieren aktualisieren. Wenn du auf Play klickst, kannst du
jetzt sehen, dass sie alle rot sind, weil ich
nicht genug Münzen habe. Wenn ich hier jedoch die Anzahl der Münzen für
den Spieler ändere, sagen
wir, ich habe jetzt 60 Münzen und klicke
auf Compile Play. Jetzt kann ich sehen, dass
ich
für die 60 Münzen tatsächlich
genug Münzen für alle
habe , also werden sie grün sein. Ich kann sehen, dass dieser Text
nicht richtig angezeigt wird. Das liegt daran, dass wir
einen Feind töten müssen , bevor er
tatsächlich auftaucht. Lass uns das tatsächlich reparieren. Vielleicht willst du eine
anfängliche Menge an Münzen. Der Grund dafür ist, dass wir
diesen Code nur ausführen , wenn wir den Feind
tatsächlich töten. Wenn ich die feindliche Basis öffne, haben
wir diese Menge an Münzen. Wenn ich das einfach kopiere, kannst
du es tatsächlich kopieren, wenn
du das Spiel öffnest. Und das kommt vom Spieler. Wenn du den Player öffnest und nicht hier in
der Spielerbasis, kannst
du sehen, dass wir die Anzahl der Münzen
aktualisiert haben. Wir müssen nur diesen ausführen und die Benutzeroberfläche
aktualisieren, da die
Anzahl der Münzen korrekt ist. Und du kannst das auch sehen, wenn du die Anzahl der Münzen
nimmst und eine Zeichenfolge
ausdruckst und du einfach auf den Bildschirm
druckst
und dann auf Play klickst. Sie können sehen,
dass hier 60 steht. Wenn du es gesehen hast. Links
oben steht 60. Es
wird tatsächlich richtig angezeigt, oder die Zahl ist korrekt, aber sie
wird nicht richtig angezeigt. Lassen Sie uns diese Benutzeroberfläche kopieren. Wir müssen nur die Benutzeroberfläche aktualisieren und die Anzahl der so verbundenen
Münzen einziehen. Wenn wir jetzt auf Play klicken, wird auch die
Anzahl der Münzen aktualisiert. Wenn ich auf Play klicke,
wird es korrekt angezeigt. Jetzt ist alles korrekt und wir haben es korrekt
angezeigt
, wenn wir den Feind töten. Es wird auch
die richtige Menge an
Münzen hinzugefügt , wenn wir
mehr und mehr Münzen bekommen. Wir können jetzt sehen, dass das
nicht
richtig angezeigt wird, weil wir es
aktualisieren müssen , wenn wir den Feind
töten. Lassen Sie uns das auch beheben. Wenn ich es schließe, gehe ich zu den Feinden und öffne die feindliche Basis. Und wir müssen es hier hinzufügen,
wann immer der Feind stirbt. Und wir aktualisieren die Anzahl
der Münzen. Lass es uns machen. Nachdem wir die
Anzahl der Münzen aktualisiert haben, benutzen
wir den Play-Controller. Und wir haben den
Play-Controller schon hier unten. Ziehen Sie es hinein und sagen Sie „
Shop-Artikelkarte anhand der Textfarbe aktualisieren“. Fahren Sie fort und verbinden Sie
es hier. Und jetzt sollte es funktionieren. Und wenn du auf „
Abspielen“ klickst und ich töte, kannst
du jetzt sehen, ob
ich 76 oder höher dann wird
es tatsächlich
grün. Wenn ich diesen Feind töte, können
wir jetzt sehen, dass er grün wird. Wenn ich einfach weiter töte, kannst
du sehen, dass es jetzt
grün wird , denn jetzt
habe ich genug Münzen, das funktioniert richtig und jetzt können wir weitermachen.
73. 8.09 Prüfen, ob der Spieler genug Münzen hat: Bevor der Spieler nun die By-Taste drücken
kann, müssen
wir auch überprüfen, ob der
Spieler genug Münzen hat. Andernfalls kann er tatsächlich die By-Taste
drücken
und
Gegenstände kaufen , ohne
dass er genug Münzen Lassen Sie uns versuchen,
mit diesem zu arbeiten. Wenn ich den
Player-Controller öffne, noch
einmal für den
Player-Controller, lassen Sie uns
hier auch
etwas in der Update-Farbe tun . Was wir
hier drinnen machen können, können wir ziehen. Jetzt nehmen wir den Knopf. Ich gehe zur Benutzeroberfläche und
öffne den Shop-Artikel und klicke auf diesen Button. Und ich werde es einfach
Button nennen und es zu einer Variablenkompilierung machen. Wenn ich jetzt zum Play-Controller zurückkehre, ziehe
ich von hier und sage Taste. Und ich nehme diese Taste, was du machen kannst, ist, sie hierher zu
ziehen und „Aktivieren“ zu sagen. Jetzt können Sie sehen, dass
etwas namens Set aktiviert ist. Gehen Sie weiter und wählen Sie
es aus, hier verbunden. Jetzt können Sie wählen, wann eine Schaltfläche
aktiviert werden soll oder nicht. heißt, ob der Spieler ihn drücken
kann oder nicht, wenn dieser rot ist,
was bedeutet, dass dieser Punkt wahr ist.
Das bedeutet, dass der Spieler diesen Gegenstand
nicht kaufen kann, es bedeutet, dass er nicht genug Münzen
hat. Wir können das tatsächlich ziehen
und hier einstecken. Eigentlich können wir das nicht,
denn das wird wahr
sein und das
wird wahr sein,
was bedeutet, dass es aktiviert ist und wir eigentlich das Gegenteil
wollen. Ich werde wieder ziehen und „Auswählen“
sagen, um es umzukehren. Fahren Sie fort und wählen Sie
diesen Auswahlknoten aus und schließen Sie ihn hier Jetzt könnte es
etwas verwirrend sein, wir haben nicht genug
Münzen, wenn die Kosten des Artikels höher sind als die Anzahl
der Münzen, die wir haben. Das bedeutet, dass dies wahr
sein wird, wann immer es wahr ist. Ich
möchte das deaktivieren weil wir nicht kaufen wollen, wenn wir nicht genug Münzen haben. Wenn dies jedoch falsch ist,
was bedeutet, dass wir hier
genug Münzen haben, möchte
ich es aktivieren. Ich möchte das nehmen und sagen, dass die Schaltfläche aktiviert ist.
Du kannst weitermachen und kaufen. So machen wir es rückgängig, also kompilieren Sie es
und klicken Sie auf Abspielen. Jetzt können wir sehen, dass die
Schaltfläche deaktiviert ist. Sie können sehen, dass es
etwas verblasst ist. Lassen Sie uns jetzt auch überprüfen, ob der Spieler genug
Münzen hat Lass es uns schließen. Lass uns die Artikelkarte
öffnen. Lass uns darauf klicken,
hier unten. Klicken wir auf das Ungeklickte. Wenn wir nun auf
diese Schaltfläche klicken oder den Artikel
kaufen, wollen
wir überprüfen, ob der
Spieler genug Münzen hat Lass uns das innerhalb
des Spielers machen, weil wir die Anzahl
der Münzen und die Berechnung
der
Münzen
bereits innerhalb des Spielers durchgeführt der Münzen und die Berechnung
der
Münzen haben. Lassen Sie mich einfach eine einfache
Funktion erstellen, nennen wir diese. Hat der Spieler genug Münzen? Die einfache Sache, die wir hier machen
wollen ist, dass wir überprüfen wollen, ob der
Spieler genug Münzen hat. diese Anzahl an Münzen herziehen, lassen Sie mich auch
hier für die Eingabe eine ganze Zahl hinzufügen
und das nenne ich
Artikelkosten, wenn die Anzahl der Münzen, die der Spieler
hat, größer oder gleich ist Wir müssen gleich sein, weil es den Artikelkosten
entsprechen kann,
was bedeutet, dass du genug Münzen
hast Ist es höher oder gleich
den Artikelkosten? Dann können wir
hier einfach einen Retourenschein
machen . Wenn ich einfach
return the return node schreibe und
das hier einfüge, wird eine Variable für uns erstellt. Dieser hat im Grunde genug Punkte, wenn er das
überprüft, wir werden
den Artikel posten und auf diese Funktion klicken. Ich werde es reinstellen. Denn denken Sie daran,
wann immer Sie
eine Funktion haben ,
die nur Informationen
abruft nichts festlegt, dann können Sie sie auf pure setzen. Dann sieht es hier wie diese
grüne Funktion aus, weil sie nur Informationen
abruft. Jetzt können wir diesen Spieler nehmen und sagen, er hat genug, oder wir nennen
es , hat der Spieler
genug Münzen? Also kann er ihn ziehen und sagen,
dass er genug Münzen hat. Und du kannst sehen, dass es
eine grüne Funktion , weil wir sie auf Pure gesetzt haben. Jetzt können wir die
Kosten dazurechnen und dann können wir rausgehen und schauen, ob wir tatsächlich genug Münzen
haben oder nicht. Lassen Sie uns das tun. Lassen Sie uns die Artikelinformationen nehmen, wir können sie knacken. Wir können den Artikelpreis nehmen
und ihn hier eintragen. Verstecken Sie die nicht verbundenen Pins. Jetzt können wir
von hier aus
einen Zweig ziehen und
diesen Zweig verbinden Jetzt machen wir das tatsächlich, wir überprüfen jetzt,
ob der Spieler
genug Münzen hat , bevor der
Spieler den Gegenstand kaufen kann.
74. 8.10 Den Artikel kaufen: Nachdem wir überprüft haben, ob der Spieler genug Münzen hat, gehen
wir rüber und
kaufen den Artikel jetzt einfach Nun zum Kauf der Artikel.
Ich glaube, ich möchte das
im Player tun. Immer wenn du hier kaufst
und genug Münzen
hast, kaufst du die Artikel. Lass uns ein neues
Event im Player erstellen. Lassen Sie uns ein neues
benutzerdefiniertes Ereignis namens „Artikel
kaufen“ wie folgt erstellen. Für diesen Kaufartikel benötigen
wir
den Artikel natürlich zuerst. Wenn du es
jetzt nicht machen willst, lass uns einfach zurückgehen und hier rein gehen,
lass uns den Spieler nehmen, wir haben bereits die
Player-Variable. Lasst uns von hier aus zuschlagen und sagen „ Gegenstand
kaufen“ und
das Event nennen, das wir gerade gemacht haben. Wenn es stimmt, dass wir genug Münzen
haben, kaufen
wir den Artikel. Natürlich müssen wir
wissen, über welchen Artikel wir
sprechen , da wir hier einige Informationen
benötigen. Ich werde einfach eine
Eingabe erstellen und sie nennen wir sie, oder nennen wir sie
Artikelinformationsstruktur. Wir haben diesen Artikel, ich nenne ihn
einfach Item Compile. Jetzt können wir zur Artikelkarte im Shop
zurückkehren. dem Artikel handelt es sich offensichtlich
um den Artikel, in dem wir uns gerade
befinden, und wir haben
bereits die Struktur. Ich nehme es einfach
und stecke es hier ein. Diese Artikelinformationen werden
an den Spieler weitergegeben. Von hier aus können wir jetzt Dinge damit
machen. Was wir tun wollen,
ist natürlich, dass wir die Anzahl der Münzen
abziehen müssen die Anzahl der Münzen
abziehen die der Spieler hat. Lassen Sie
uns versuchen, das zu tun Jetzt kannst du es zum Üben
selbst machen, weil ich denke, dass du es selbst machen
kannst. Wenn du dich nicht
erinnern kannst, wie das geht, lass es uns zusammen machen. Sie können also die
Menge an Münzen nehmen, die Sie
gerade haben , und dann
Minus sagen, um sie zu subtrahieren Dann haben wir hier die Kosten für
den Artikel, wenn du von hier
ziehst und
sagst Artikelinfo kaputt machen Jetzt haben wir die Artikelkosten. Wir können die Anzahl
der Punkte, die Sie haben, abzüglich der
Kosten dafür angeben. Wir können diese Menge an
Münzen nehmen und sie wieder auf
diesen neuen Preis oder diese neue
Menge an Münzen, die wir haben, festlegen . Wir werden einfach hier klicken. Verstecken Sie nicht verbundene Pins. Machen Sie einfach weiter und strukturieren Sie es
so. Sie können auch eine Zeichenfolge drucken. Lassen Sie uns eigentlich keine Zeichenfolge
drucken. Wir können
die Benutzeroberfläche einfach sofort aktualisieren. Lass es uns hier oben einfach
so machen. Ich werde das einfach kopieren. Münzen aktualisieren, Betrag I. Ich werde es
so einloggen. Lassen Sie uns kompilieren. Mal sehen, was passiert, wenn ich auf Play
klicke. Ich habe 60. Wenn ich etwas für 23 kaufe, habe ich noch 37 übrig. Ich kaufe wieder für 34, ich habe noch drei übrig. Und wenn ich hier klicke, siehst
du, dass ich
nicht weiter kaufen kann. Denn denken Sie daran, wir haben hier bereits überprüft, ob der Spieler
genug Münzen hat oder nicht. Wir können
den Artikel nicht kaufen , wenn wir nicht genug Münzen
haben. Das funktioniert wirklich gut. Das Problem ist
momentan, wenn ich kaufe, kann
man sehen, dass die Knöpfe
nicht gelesen werden. Es sieht so aus, als ob ich immer noch
genug Münzen für diesen
habe , was ich nicht habe. Lassen Sie uns auch die Schaltflächen aktualisieren. Wenn ich zum
Player-Controller gehe. Lass uns den
Player-Controller öffnen. Und denken Sie daran, dass
wir hier diese Funktion namens „Shop-Artikel anhand der Textfarbe
aktualisieren“ eingerichtet haben . Nennen wir das hier. Gehen wir zurück zum Spieler. Lass uns den Controller nehmen, der hier eingefügt wurde. Lassen Sie uns den Job
„Updates“ anhand der Textfarbe „Karte“ nennen. Lassen Sie es uns hier einstecken. Es sollte es
bei jedem Kauf aktualisieren. Wenn ich jetzt auf Play klicke
und etwas kaufe, siehst
du, dass es rot wird. Und ich kann sie nicht wirklich
kaufen. Und sie sind behindert.
Wenn ich diesen kaufe, werden
sie alle rot,
weil ich jetzt, wo die Logik
wirklich gut funktioniert, nicht
genug Punkte habe .
75. 8.11 Aktualisieren der Menge an gekauften Artikeln: Jetzt ist es an der Zeit zu aktualisieren, wie
viele Artikel wir gekauft haben. Denn denken Sie daran, dass wir
diesen Artikel mit dem Titel Artikel gekauft haben, gemacht haben. Und wir müssen speichern, wie viele Gegenstände du während des Spiels
gekauft hast. Auch hier, wenn wir auf
Spielen und etwas kaufen klicken, wird dir nicht wirklich angezeigt, dass
du
etwas gekauft hast , weil es hier
immer noch Null ist. Dazu müssen wir diese
Informationen aktualisieren. Ich kann mich nicht erinnern, wo wir diesen
benutzt haben. Wenn du versuchen willst,
dich daran zu erinnern,
wo du etwas benutzt
hast, kannst du jederzeit schreiben,
klicken und Referenzen finden. Und wir können sehen, dass dort
keine Ergebnisse gefunden wurden. Und das liegt daran, dass es nur innerhalb
dieses Bauplans sucht Wenn Sie jedoch auf
dieses kleine Symbol klicken
, werden
alle Blueprints durchsucht Doppelklicken Sie auf diesen. Sie können sehen, dass wir es hier
in der Artikelkarte des Shops verwendet haben in der Artikelkarte des Shops , um den Text hier zu aktualisieren, wie
viele Artikel wir gekauft haben. Wir haben es hier verwendet, um zu
aktualisieren, wie viele Artikel
wir gekauft haben. Gehen wir einfach zurück
zum Player und hierher wann immer wir den Button kaufen
und aktualisieren. Bevor ich den Button aktualisiere, werde
ich eigentlich
die Map bearbeiten . Nehmen Sie diese Karte hierher, ziehen Sie sie heraus und sagen Sie Hinzufügen. Jetzt wollen wir der Karte
noch einen Artikel hinzufügen, denn jetzt haben wir einen Artikel
gekauft. Was Sie tun können, ist,
es erneut zu nehmen und einzufügen, weil Sie im Moment keine
Informationen hinzufügen können. Was Sie tun müssen, ist, dass wir diese Funktion
finden und haben. Was Sie versuchen,
ist, den Gegenstand zu finden, der sich
bereits darin befindet. Wenn Sie hier einfach eine Zahl schreiben, wenn Sie zum Beispiel eine Zahl schreiben, überschreibt das die Informationen, die Sie hier bereits
haben Nehmen wir an, es war
die goldene Krone , die hier drin war.
Wenn du nur eins schreibst, bleibt
es
für immer eins, denn jedes Mal, wenn der Spieler
es kauft, wird es eins sein. Es wird diesen Artikel hier überschreiben. Wir müssen es ständig
mit höheren Informationen aktualisieren. Jetzt müssen wir das
Objekt zuerst innerhalb des Arrays oder innerhalb der
Map finden, um das Objekt zu finden. Denken Sie daran, wir
haben den Namen bereits. Wenn ich es jetzt
hier aufnehme, kann ich
diesen Artikelnamen verwenden und wir können diesen Gegenstand
in dieser Karte
finden. Sobald wir den Gegenstand gefunden
haben, wissen wir jetzt, wie viele von
diesem Gegenstand wir bisher haben. Dieser Betrag hier, was ich
tun möchte , ist, diese Zahl
plus eins plus eins zu nehmen . Jetzt fügen wir den
Artikeln, die wir bereits gekauft haben, einen hinzu. Dann kannst du
es hier einstecken. Denken Sie auch daran, dass Sie hier auch den Namen eingeben müssen. Lass es uns einfach von hier wegziehen. Stecken Sie es ein und machen Sie sich
wieder ein paar gespiegelte Notizen Es sieht nett aus. Und ich
werde einfach diesen hier
drüben so einstecken und
diesen hier unten. Okay?
Im Grunde suchen wir zuerst den Gegenstand in
dieser Map
und dann wissen wir, wie viele wir schon gekauft haben,
und wir fügen
einen hinzu und dann fügen wir ihn einfach
wieder in die Map ein. Wir verlieren diese Information nicht. Du klickst auf Abspielen
und drückst weiter auf etwas und siehst, dass immer noch Null angezeigt
wird. Das liegt daran, dass wir die Benutzeroberfläche nicht aktualisiert
haben. Die Benutzeroberfläche befindet sich im Shop-Artikel Cod, und es ist dieser Text hier , den Sie erneut
aktualisieren müssen, da dieser Teil
hier nur aktualisiert wird wenn wir den Code erstellen,
und er wird nicht mehr aktualisiert. Wir können
hier unten ein benutzerdefiniertes Ereignis erstellen und ich werde ein benutzerdefiniertes Ereignis
erstellen Benutzeroberfläche für gekaufte Artikel
aktualisieren. Was wir hier tun können,
im Grunde wollen wir den Text, diesen Text hier
setzen. Ich werde einfach C V hier unten
kontrollieren. Lass es uns einstecken.
Im Grunde wollen wir einfach das Gleiche tun
, was wir hier gemacht haben. Lass uns einfach x drücken, um es auszuschneiden und V
, um es hier einzufügen. Ich werde es einfach hier
verbinden. Anstatt
diesen Code hier oben zu haben, können
wir im Grunde einfach
diesen löschen und diesen hinzufügen. Aktualisiere Gegenstände, ich füge sie stattdessen einfach hier hinzu,
aktualisiere Gegenstände I. Der Grund, warum wir es
hier im Start-,
Spiel- oder
Event-Konstrukt aufschreiben , ist wir sicherstellen, dass wir die richtigen Informationen haben
. Immer wenn wir das Spiel öffnen
und uns das ansehen, ist
das der Grund, warum
wir es dort hinzufügen. zum Beispiel an, Nehmen wir zum Beispiel an, dass du
in Zukunft ein
Lade- und Speichersystem hast und das Spiel
jedes Mal schließt , wenn du es öffnest, wird es erneut ausgeführt
und
deine Informationen werden mit dem aktualisiert ,
was du gespeichert hast. Es ist sehr wichtig, das zu haben. Okay, wir haben diese
Update-Elemente, aber UI, wir müssen es vom
Player aus starten, wenn du zurückgehst, und wir müssen es ausführen, nachdem wir das Objekt zu dieser Map
hinzugefügt haben. Was wir jetzt brauchen, ist ein Verweis auf diese Widgets für die Shop-Artikelkarte denn jetzt
müssen wir dieses verwenden. Artikel aktualisieren, UI einfügen. Aber wie Sie sehen können, haben wir keinen wirklichen Hinweis darauf. Wir haben diese Karte, die als
Shop-Artikelkarten bezeichnet wird, und wir können
sie im Grunde verwenden, um einen Artikel zu finden. Aber auch hier
haben wir diese Informationen
nicht wirklich . Wir brauchen eine Möglichkeit, diese Karte zu
referenzieren. Jetzt können Sie das auf zwei Arten tun. Sie können entweder hier
im Player-Controller einfach benutzerdefinierte Ereignisse erstellen
, die
zum Beispiel Sets, zum Beispiel Sets, interagierte Shop-Artikelkarten oder wie auch immer Sie es nennen möchten Im Grunde genommen fügen Sie einfach den
Artikel aus dem Shop hinzu, Cod. Nochmal, im Grunde kannst du es
einfach von hier aus aufrufen, den Player-Controller
benutzen Wir brauchen hier oben einen
Verweis darauf. Grundsätzlich können Sie es
über den Player-Controller einstellen. Und vom Spieler aus können wir diese Variable hier
verwenden, um diese Karte
tatsächlich zu aktualisieren anstatt es auf diese Weise zu tun. Im Moment möchte ich die andere Methode
ausprobieren. Die andere Methode besteht im Grunde
darin, dass Sie einfach zum
Oder zum Spieler hier
zurückkehren können , um den Kaufartikel zu erhalten. Fügen wir einfach eine neue Variable hinzu. Nennen wir es Shop It Cod. Wir können diesen
Weg immer ändern, wenn wir in Zukunft
herausfinden , dass wir
daraus etwas Besseres machen könnten. Aber lassen Sie uns vorerst
nach dem Artikel Cod suchen. Wählen Sie ihn aus und kompilieren Sie den Artikel wieder im Shop. Schauen wir uns das hier
im Kaufartikel an. Immer wenn wir etwas kaufen, möchte
ich den
Bezug auf mich selbst setzen und selbst sagen. Im Grunde definieren
wir dieses Ladenkabel als die
Karte, in der wir uns gerade befinden. Das ist es, was Selbst bedeutet. Diese Informationen haben wir immer, wenn wir einen Artikel kaufen, wann immer wir den Artikel zu
den Artikeln hinzufügen , aber
wir können jetzt
die Aktualisierungsartikel aufrufen , aber ich ziehe von hier und
sage Artikel aktualisieren. Aber ich mache weiter und verbinde mich, es ist wieder so. Sie können doppelklicken,
um einen hinteren Routenknoten zu erstellen. Wann immer das erledigt ist, sollte es jetzt die Benutzeroberfläche aktualisieren. Und dann mach weiter und füge diesen Update-Shop-Artikel Code nach
Textfarbe wieder ein, speichere alles. Und jetzt
lass uns spielen und sehen, was passiert, wenn ich
eine der Fackeln kaufe Siehst du, ich habe einen. Wenn ich noch einmal
eins kaufe, habe ich zwei. Jetzt wird korrekt berechnet. Wenn ich mir jetzt
viel mehr Geld gebe, also wenn ich zurück zum Spieler gehe
und hier die Anzahl
der Münzen drin sehe, setze
ich es einfach auf etwa 1.000 oder 10.000
100.000 oder was auch immer. Hier ist es. Jetzt können Sie
sehen, ob ich einfach weiter kaufe, nur sehen möchte, ob es funktioniert
und ob es richtig funktioniert. Du kannst weiter kaufen. Und Sie können sehen,
dass die Benutzeroberfläche gleich bleibt. Die Benutzeroberfläche ändert nicht die
Textposition und so weiter. Alles funktioniert
gut und auch das Geld korrekt
berechnet. Also jetzt funktioniert das voll und ganz.
76. 8.12 Artikel-Spawn-Punkte erstellen: Lass uns jetzt weitermachen und die Spawnpunkte
der Gegenstände hinzufügen. Was ich tun möchte, ist, dass jedes Mal,
wenn
ich etwas kaufe , diese
Gegenstände in der Welt erscheinen Und das ist im Grunde die
gleiche Idee wie Kekslikör. Es ist dieselbe Idee, bei der man
etwas kauft und es
erscheint hier auf dem Bildschirm, ich finde es etwas
interessanter. wir weiter und machen das, oder machen wir ein paar Farbpunkte hier
drinnen Denken Sie daran, dass wir bereits
einen Punkt für den
Feind gemacht haben, der hier drüben ist. Lassen Sie uns einfach dieselbe Methode verwenden. Wir haben also den Feind und wir
haben die Spawn-Punkt-Basis. Das ist die übergeordnete Klasse, also klicke ich einfach mit
der rechten Maustaste und erstelle eine untergeordnete Looprint-Klasse Wir können das
BP it, Spawn Point, nennen. Das ist jetzt der Punkt. Welchen Gegenstand werden
wir spawnen? Wir können es im Grunde in
der Welt platzieren und wir
können einfach Y20 setzen, es ist vorne und ich werde es
einfach auf eins setzen,
sodass es vor den
Kacheln ist. Wir können hier
etwas einstellen, alles speichern Und ich werde einfach die
Alt-Taste gedrückt halten und ziehen, um es zu kopieren. Jetzt kannst du sehen, dass wir zwei Spawnpunkte
haben, aber wie können wir entscheiden, ob aber wie können wir entscheiden, ob hier
die
Haltekrone erscheinen soll oder ob es
andere Gegenstände sind, die hier spawnen
sollen? Das können wir tun, indem wir ihnen
eine Variable zur Verfügung stellen. Was wir tun können, ist
, zur
Spawn-Punkt-Basis hier
drinnen zurückzukehren Spawn-Punkt-Basis hier
drinnen Was wir tun können, ist, eine neue Variable
zu erstellen. Wir können es Namen nennen oder wir können es auch einfach als Namen des
Spawnpunkts bezeichnen Ich denke, das ist in Bezug auf diesen Punkt etwas
aussagekräftiger diesen Punkt etwas
aussagekräftiger Wir können es in eine Zeichenfolge ändern, speichern. Denken Sie daran, wenn Sie auf
Instance Editable
und Expose on Spawn klicken Instance Editable
und Expose on Spawn Wir haben dies bereits verwendet, als wir die Informationen zu
den Artikelkarten
hinzugefügt haben die Informationen zu
den Artikelkarten
hinzugefügt Wenn du das machst
und kompilierst, kannst
du dir das
Innere der Welt ansehen, du hast diesen Pin hier drüben, den Namen des Spawnpunkts Das ist dieselbe Variable wie diese, weil
du sie für die
Instanz editierbar gemacht hast und sie beim Spawn verfügbar wie diese, weil
du sie für die
Instanz editierbar gemacht hast und sie beim Spawn verfügbar gemacht hast.
Sie erscheint hier oben. Was wir mit diesem machen können,
ist , dass wir
auf den ersten klicken , wir können ihn aufrufen, mal sehen, welche Artikel wir haben. Wir haben das P. Ich werde
nur die Lichtfeder benutzen. Das erste sollte das Licht
sein. Schreiben Sie den Namen genau. Denken Sie daran, dass dieser Name mit dem
in der Datentabelle identisch
sein muss . Welchen Namen Sie auch immer hier haben, es muss
derselbe sein wie hier draußen. Der zweite ist die Fackel. Jetzt haben wir beide Spawnpunkte. Jetzt wissen wir, welche Gegenstände wo spawnen
sollen. Jetzt
fehlt uns nur noch die Logik, und das werden wir in
den nächsten Lektionen tun Aber jetzt haben wir zumindest die
Spawnpunkte, mit denen wir arbeiten können. Lassen Sie uns zur nächsten Lektion
übergehen.
77. 8.13 Den gekauften Gegenstand ablasten: In Ordnung, jetzt lasst uns
weitermachen und den Gegenstand spawnen. Versuchen wir, von hier aus
rückwärts zu arbeiten. Wenn ich Gegenstände spawne, würde
ich gerne rückwärts arbeiten,
weil es sinnvoller ist, zu wann oder wo wir
unsere Events und Funktionen
für das Spawnen hinzufügen müssen unsere Events und Funktionen
für Denkt daran, dass ich den
Player-Controller verwende Dinge
in die Welt zu spawnen Wenn ich also hier reingehe, haben wir diesen
Spawn-Schauspieler hier schon gemacht Spawn-Schauspieler. Bleiben wir einfach konsequent und
machen es hier drinnen Ich werde einfach direkt
ein neues benutzerdefiniertes Ereignis erstellen. Nennen wir diesen einen Spawn-Item. Okay, auch hier müssen
wir einen
Spawn-Akteur aus der
Klasse verwenden, müssen
wir einen
Spawn-Akteur aus der
Klasse verwenden der für den
Gegenstand ausgewählt wurde, den wir spawnen möchten Es kommt wirklich darauf an, welches es ist. Nun, hier wird ein Fehler angezeigt. Ich muss das deaktivieren. Je nachdem, welchen Gegenstand wir kaufen, ist
dies der Gegenstand, den
wir spawnen möchten Wir können nicht wirklich
einen statischen Wert festlegen, wir müssen ihn nur hierher
ziehen. Ziehen Sie das wieder rein, ich
nenne das einen Gegenstand. Was die Position des Elements angeht, brauche
ich nicht wirklich eine Transformation. Also was ich tun werde,
ist machen zu sagen. Wann immer Sie „Make Transform“ sagen, liegt
das im Grunde daran,
dass ich die Positions-,
Rotations- und Skalierungswerte sehen möchte . Aus diesem Grund verwenden wir make. Sie können diesen
Ort jetzt in das Event ziehen. Es erstellt also eine Pin-Notiz dafür. Und ich
nenne es einfach Spawn-Standort weil mich die Rotation und der Maßstab nicht
wirklich
interessieren , es wird gleich bleiben Mich interessiert nur der Ort, an dem ich den Gegenstand spawnen
möchte Nun zu diesem Spawn-Item, wo ist es
am sinnvollsten zu spielen oder
dieses Event auszurufen Der Ort wäre, wenn
wir einen Gegenstand kaufen, wir den Preis im
Spieler selbst berechnen Immer wenn wir den Artikel kaufen, fügen
wir ihn
hier der
Variablen oder der Map hinzu und wir aktualisieren die Schaltflächen. Danach kann ich
es in der Welt spawnen. Im Grunde genommen ist das Spawnen
im Player-Controller, also brauche ich den
Player-Controller wieder Oder Sie können von
hier aus ziehen, wenn Sie möchten. Und du kannst sagen, Gegenstand spawnen,
bereitstellen und selektiv auswählen. Jetzt musst du angeben, von welchem
Gegenstand du sprichst. Jetzt haben wir schon
diesen Kurs von hier. Ich werde
diesen einfach noch einmal kaputt machen. Nehmen Sie an dem Kurs teil,
stecken Sie ihn hier ein und verstecken Sie nicht verbundene Pins Ich werde es hier einfach näher
betrachten,
doppelklicken, um einen Knoten zu erstellen Was den Spawn-Standort angeht, müssen
wir hier
genauer sein Weil wir den Ort oder die Position
dieses Schauspielers hier
gesehen haben müssen , Spawnpunkt
der Gegenstände Du kannst jederzeit in den Spielmodus
zurückkehren und dir ansehen,
wie wir es zuvor gemacht haben Wenn wir zum
Startspiel zurückkehren, verwenden wir diesen. Werde ein erstklassiger Schauspieler. Und denken Sie an diese Funktion Klassenschauspieler
wird alles abgerufen, was bereits in der Welt
erschienen ist ,
wenn Sie auf Abspielen klicken Denn wenn du sagst,
hol dir einen erstklassigen Schauspieler und du hast das jetzt innerhalb
des Levels, wird dir das eine Ära geben Denken Sie daran, dass mit dieser
Funktion nur der Schauspieler angezeigt wird, der
bereits in der Welt geboren Die haben wir bereits hervorgebracht. Wir können
es also tatsächlich gebrauchen, um Schauspieler der Extraklasse zu werden. Lass es uns einfach
hier drinnen machen , denn das ist
eigentlich nicht die Methode, die wir
verwenden müssen, um den Akteur der Klasse zu ermitteln. Wir können diese
Methode nehmen, wir
sagen Spawnpunkt
und wir können den Spawnpunkt
des Elements auswählen , den wir von hier
ziehen können , und sagen, Standort des Schauspielers
ermitteln Wir bekommen jetzt den Standort des
Schauspielers, das ist dieser Ort hier Und wir können es anschließen. Jetzt
wollen wir einfach sehen, was passiert. Wir können einfach auf Play klicken und ich versuche im Grunde, etwas
zu kaufen. Nichts spawnt und es ist
tatsächlich das Richtige. Ich frage mich nur, warum
es nicht laicht. Mal sehen, ob wir die Artikel tatsächlich
hinzugefügt haben. Das könnte momentan das
Problem sein. Wenn wir es öffnen und
zum Viewport gehen, kann
ich sehen, dass wir keine Artikel haben Ich werde das
jetzt tatsächlich tun. Für alle Artikel, die
wir zuvor erstellt haben. Zum Beispiel die Krone des Bösen, wir müssen
das Quell-Sprite auswählen Gehen Sie fort und wählen Sie es hier aus, damit es hier erscheint, kompilieren Gehen Sie zum nächsten
, Grand Wizard,
Hats, klicken Sie auf die hier
ausgewählten
Renderkomponenten und kompilieren Sie als Nächstes. Dies ist die Artikelbasis, also müssen wir hier
nicht wirklich etwas
hinzufügen. Ich gehe zur King's Crown. Und wir können es tatsächlich von hier aus
tun,
anstatt hier oben zu klicken. Die nächste ist
die King's Crown. In Ordnung, das
war der letzte. Jetzt habe ich sie alle hinzugefügt. Und ich werde einfach
weitermachen und
für alle auf Compile klicken , um sicherzustellen, dass alles wie erwartet
funktioniert. Okay, alles schließen, alles
speichern. Und lass uns
noch einmal auf Play by the Light Feather klicken. Jetzt kannst du sehen, dass die
Lichtfeder spawnt. Und wenn ich die Fackel kaufe, laicht auch die
Fackel. Beide reagieren. Sie laichen
am selben Ort. Aber wir wissen, dass dieser
Schmerzpunkt funktioniert. In den nächsten drei Lektionen werde
ich
Ihnen drei Methoden
zeigen wie wir
diese effizient erzeugen können Was ich im Grunde tun möchte,
ist, dass
wir ab diesem Punkt alle Gegenstände spawnen wollen,
aber im Moment ist alles Wenn du nun
die Größe des Gegenstands, der
gerade erscheint
, reduzieren willst , kannst
du das hier in der Gegenstandsbasis grundsätzlich in dieser Größenordnung tun Für diesen Gegenstand kannst du auf das
Schloss klicken Es ändert alle drei
Werte gleichzeitig. Und wenn ich 0,5 schreibe, klicke ich
auf Play und kaufe etwas. Du kannst sehen, dass der
Artikel jetzt kleiner ist. Nun zum Em, ich denke, ich
werde die Skala von 0,25 wählen, weil die
Symbole sehr groß sind Wenn ich auf „Jetzt spielen“ klicke
und etwas spawne, kannst
du sehen, dass das die Größe ist ich mag, die Größe von diesem Du kannst immer einen Bitloga haben, aber wir werden eine Menge
Gegenstände haben Ich denke, das ist eine
gute Größe dafür. Okay, speichern wir alles und fahren wir mit
dem nächsten fort.
78. 8.14 Spawn-Logik: In den nächsten drei
Lektionen werde ich dir
zeigen, wie wir
diese Spawning-Methode anwenden können Jetzt
wird die erste einfach sein
und dann gehen wir zu etwas Mittlerem
und dann zu
etwas Fortgeschrittenem und dann zu
etwas Fortgeschrittenem Ich hoffe, du
bleibst für alle bei mir. Fangen wir mit dieser an, was die einfache Methode ist. Nun zum Spawnen, ich werde das innerhalb
des Spielmodus machen, weil wir
hier die Spawnpunkte nennen, wo wir sie definieren Lass mich den Spielmodus öffnen. Wir haben den Malpunkt des
Feindes bereits definiert. Jetzt ist es Zeit für diesen. Anstatt es hier draußen zu tun, lassen Sie uns tatsächlich
eine Funktion dafür erstellen. Weil es ein
bisschen größer sein wird , als
das nur hier zu tun. Lass mich einfach eine
Funktion daraus machen. Lassen Sie mich das „Set
Items“, „Punkte“ nennen. Normalerweise habe ich
aus funktionellen Gründen eine vor ihnen, und ich werde es nur hier
tun, um auch bei diesem Punkt
konsistent zu bleiben . Kompiliere und speichere
jetzt für diesen. Was du jetzt machen kannst, bevor wir anfangen, nur damit wir es nicht vergessen, ich möchte hier die
Spawtpoints aufrufen, die Funktion hierher
ziehen,
weitermachen und verbinden Und jetzt funktioniert es, okay? Jetzt müssen wir
innerhalb dieser Funktion etwas tun. Was ich zuerst tun möchte, ist,
dass ich alle St. Points sammeln möchte. Um das zu tun, sagen wir,
holen wir uns alle Schauspieler der Klasse. Merken
Sie sich diese Funktion, Sie können sie nur
für Dinge verwenden ,
die bereits hier drin sind, raus. Und wir haben hier schon St.
Points drin. Realistischerweise werden wir jetzt für jeden Gegenstand
einen St. Punkt haben. Wir werden also viel mehr haben. Hoppla, wir werden hier viel
mehr
solche Spanien-Punkte haben hier viel
mehr
solche Spanien-Punkte Aber lassen Sie uns vorerst einfach all diese
löschen. Und ich bleibe
einfach bei zwei. Wann immer diese Methode funktioniert, werde
ich das alles einfach
kopieren. Und es werden
vorerst etwa
5 Sekunden Arbeit sein. Lass uns einfach diese
beiden nehmen und mit ihnen arbeiten. Nehmen wir an, wir holen uns alle
Schauspieler der Klasse und suchen nach dem Gegenstand
Spa Point, diesem hier. Und es sollte
beide bekommen. Wenn du sehen willst,
was es tatsächlich bekommt, kannst
du jederzeit eine Zeichenfolge ausdrucken du von hier ziehen kannst, und Länge
sagen, damit du es sehen kannst. Wie viele
Spawnpunkte haben wir bekommen? Da sollten zwei stehen. Wenn du auf Play
klickst,
steht hier oben zwei. Wenn du es sehen kannst, wissen wir jetzt, dass es diese beiden
S-Punkte bekommt. Fantastisch. Was wir jetzt tun können ist, von
hier wegzuziehen und jeweils vier zu sagen. Jetzt können wir mit
jedem dieser Spa-Punkte etwas anfangen. Was wir tun wollen, ist,
den Standort grundsätzlich zu definieren . Weil wir den Standort
innerhalb des Players benötigen. Jedes Mal, wenn wir einen Gegenstand spawnen, benötigen
wir den Standort des Spawnpunkts für den
nächsten Gegenstand, den wir spawnen möchten Was ich tun möchte, ist, dass
ich nicht
alle Gegenstände hier
übereinander spawnen alle Gegenstände hier
übereinander Was ich hier tun möchte,
ist, dass ich
Gegenstände in einer Reihe spawnen möchte. Ich möchte hier den ersten Gegenstand
spawnen Ich möchte den
zweiten Gegenstand hier spawnen. Drittes Objekt hier, viertes, fünftes, sechs und so weiter Jetzt kannst du es so machen, es ist kein Problem. Aber stellen Sie sich vor, Sie haben 200
Artikel für den ersten Artikel, Sie haben 200 für den zweiten. Dein ganzes Level wird
voller Schauspieler sein. Ich denke nicht, dass es
eine gute Methode ist, also werde ich einfach alle
löschen Aber im
Grunde versuchen wir das zu tun. Wir versuchen hier,
alle Gegenstände in
einer Reihe zu spawnen . Lassen Sie
uns versuchen, das zu tun Gehen wir jetzt zurück
zum Spielmodus, was wir hier machen können,
es hängt wirklich davon ab, welchen
Gegenstand wir spawnen müssen Denkt daran, dass wir für jeden
Spawnpunkt
den Punktnamen Spanien
variabel gemacht haben, den wir veröffentlicht haben,
und wir haben
Light Feather geschrieben Lassen Sie uns von dieser ziehen und
nach dem Namen des Spawnpunkts suchen. Mach weiter und hol dir die Variable. Ziehen Sie jetzt von hier und
sagen Sie Switch on string. Das ist genau
wie zuvor, wo wir den Schalter Aufzählung
einschalten, Zeichenfolge einschalten, das
können Sie auch tun Klicken Sie auf das Plus, um Pins hinzuzufügen. Der erste, der erste
Gegenstand, den wir haben, ist die Fackel oder eigentlich die Lichtfeder. Dann haben wir die Fackel, wir haben diese beiden kompiliert. Was wir nun hier machen können, wenn
es die Lichtfeder ist, wollen
wir diesen Punkt nutzen. Es ist eine Fackel, wir
wollen diesen Punkt nutzen. Fangen wir mit
einer leichten Feder an. Wir wollen
zunächst ein Array
erstellen. Weil wir das
ohne ein Array zum Speichern der Orte,
die wir finden, nicht wirklich tun können. Lass mich das
in einen Vektor umwandeln. Lassen Sie mich das Licht
Father Spawn Points nennen. Lass uns das hier rausnehmen. Jetzt müssen wir es
in ein Array umwandeln, weil wir mehrere
Orte speichern müssen. Das ist diese Reihe von
Gegenständen, die wir spawnen müssen Anstelle eines Vektors können
Sie mit der rechten Maustaste darauf klicken. Sie ändern es in
einen Vektor, oder Sie können jederzeit darauf klicken und es hier
ändern,
wenn Sie möchten. Jetzt haben wir dieses Array. Und was wir damit verwenden müssen
, ist die Funktion Hinzufügen. Also müssen wir einen Standort hinzufügen und wir müssen
ihn hier hinzufügen. Okay, jetzt
hängt es davon ab , welche Standorte wir hinzufügen
müssen. Wie machen wir das? Wie komme ich
einfach von einem Spaw-Point aus an verschiedene Standorte einfach von einem Spaw-Point aus Weil ich keine weiteren
Spawnpunkte hinzufügen werde. Dies ist der einzige Spawnpunkt, den ich für
die Lichtfeder hinzufügen
werde, aber ich möchte
hier viele Gegenstände haben, die ich zum Spawnen benötige Was wir tun können, ist, es
mich einfach machen zu lassen und du kannst
sehen, wie einfach es ist Zunächst benötigen wir natürlich den Standort
dieses Punktes in Spanien. Zuerst ziehe ich das mit der Maus
und sage es an den Ort. Jetzt habe ich die Position
dieses Spawnpunkts. Was wir
mit diesem machen können, ist, dass ich eine Schleife mit vier Schleifen machen
kann Wir können diese
vier Schleifen hier auswählen. Jetzt kommt es darauf an, wie viele Gegenstände du zuerst spawnen möchtest Fangen wir einfach
mit fünf Gegenständen an. Wir werden hier vier schreiben. Der Grund dafür ist, dass der
erste Index in einer Schleife 00 ist und als 101234 kommt Das sind fünf Punkte, 0-4 Was wir tun müssen, ist
diesen Acts-Standort zu finden Jetzt musst du denken, dass du die Gegenstände auf diese Weise spawnen
wirst Du musst darauf achten,
auf welcher Achse du dich befindest. Das ist die X-Achse, der
rote Pfeil ist die X-Achse. Wenn Sie darauf klicken und
das Objekt ziehen, können
Sie im Grunde
hier unten an der Position im Detailbereich sehen, dass Sie sich in die Plus-Richtung
der X-Achse bewegen. Das ist im Grunde das, was
wir versuchen zu tun. Ich möchte
das Z nicht beeinflussen und ich
möchte auch das Y nicht beeinflussen. Ich möchte nur das X beeinflussen. Deshalb können wir das
nehmen und wir können Break Vector
sagen, weil wir nur die
X-Achse beeinflussen wollen. Auch für diesen. Da ich
das hier nicht einloggen kann, ziehe
ich daraus
und sage Make Vector. Jetzt kann ich auch X, Y
und Z sehen und wir können diese
Informationen im Grunde hierher
ziehen. Nun zum Y, zum Z, ich möchte nichts ändern. Ich will sie nicht beeinflussen, ich will nur das X beeinflussen. Jetzt kann ich sagen X vielleicht zehn Einheiten verliert. Im Grunde genommen nehmen wir diesen Standort und fügen dann
zehn Einheiten hinzu. Der nächste Artikel wird stattdessen hier
sein. Lass uns zurückgehen. Wir sagen zehn, und dann schließen wir
es wieder an Wir nehmen diesen
Standort ein, das ist er schon. In diesem einen Punkt addieren
wir zehn
zum X und dann schließen wir es wieder an und
das ist unser neuer Standort Natürlich können wir nicht einfach
zehn einstecken und
zehn einfach von hier raushalten, denn
das wird dasselbe sein, werden im Grunde genommen
Elemente
hinzufügen , alle Was wir tun müssen, wir
müssen diesen Index erneut verwenden. Der Index wird zuerst
Null sein, dann 123. Was wir tun können, ist
, diese Zahl hier im Grunde zu
multiplizieren. Anstatt einfach zehn zu schreiben, können
wir sie ziehen,
multiplizieren und auswählen. Was wir hier sagen können, ist, dass wir hier zehn
multipliziert mit dem Index
sagen können . Und das sollte gut funktionieren. Was wir sagen, ist zuerst zehn
multipliziert mit Null, was genau
dieser Spawnpunkt sein wird Wir sagen zehn
multipliziert mit eins, wir sagen x Dann
wäre der nächste Punkt hier. Jetzt geht es wieder auf
den Index von zwei. Es wird zehn mal zwei heißen. Das sind 20. Da wird
x plus 20 stehen. Der nächste Punkt wird hier
sein und so weiter. Es wird einfach eine Schleife laufen und
Orte wie diesen hier hinzufügen. Wir werden das alles
löschen. Und jetzt können wir es verbinden. Wir können es tatsächlich ausprobieren und sehen, ob das funktioniert.
Wenn ich nur hier spare. Und wir können versuchen,
es im Spieler zu spawnen ,
im Spawn-Item Wir müssen
das jetzt natürlich löschen, da wir es
zuvor erstellt haben, und wir müssen die Orte
aus dem Spielmodus
hinzufügen Ich habe
den Spielmodus hier nicht wirklich, lassen Sie uns einfach eine
Kurzreferenz dazu erstellen. Wenn ich sage, dass du dir den Spielmodus holen sagst,
denk daran, dass er unter „Spiel beginnen“ steht
. Holen wir uns den Spielmodus. Holen Sie sich die Referenz zum
Spielmodus, denn denken Sie daran, dass wir den
Entwurf dafür bereits erstellt haben. Wir können mit der rechten Maustaste darauf klicken
und daraus eine Variable namens Spielmodus eine Variable namens Spielmodus
wie diese machen. Ich habe es nicht angeschlossen. Lass mich das jetzt einfach neu arrangieren. Wir können den Spielmodus nehmen. Ich gehe einfach näher ran. Wir können die Spawnpunkte des
Fluges nehmen, wir können sie uns hier besorgen Wir können auch holen sagen, weil wir den
Spanien-Punkt
brauchen. Besorgen Sie sich eine Kopie. Nun, es hängt wirklich davon ab welchen Spawnpunkt
du benötigst, denn das hängt von den
Gegenständen ab, die du gekauft hast Eigentlich
muss ich hier einfach
„Finden“ sagen Weil es den Artikel finden wird,
den Sie gekauft haben. Es entspricht dem
Gegenstand, dem Drehpunkt hier. Suchen Sie jetzt den Artikel
, den Sie gekauft haben. Und es hängt wirklich davon ab, wie
viele Artikel Sie gekauft haben. Nun, da der gekaufte Artikel immer eins oben sein
wird, weil wir hier ein Plus oder
wir fügen einen hinzu Wir müssen das nehmen
und minus eins sagen,
denn denken Sie daran, dass wir bei Index Null
beginnen Wir beginnen nicht bei Index eins. Wenn Sie einen Artikel gekauft haben, müssen
wir diesen um eins absetzen
und ihn dann einstecken, weil der erste Artikel
bei Index Null erscheint Wir müssen immer sagen minus eins kompilieren und das
dann einfach einstecken Klicke auf Play und versuche
einfach leichte Federn zu kaufen. Jetzt können Sie sehen, dass es funktioniert. Wir
spawnen tatsächlich in einer Linie und es wird
nicht mehr spawnen Weil du sehen kannst, wie
es hier oben spawnt. Das liegt daran, dass wir es
nur als
0-4 definiert haben. Jetzt kannst du immer
99 schreiben und dadurch werden 100 Objekte
erzeugt. Jetzt geht es
100 Mal nach rechts, bevor es aufhört. Jetzt können Sie sehen, dass das wirklich gut
funktioniert. Nun, wenn du das
für all die anderen Gegenstände machen willst, musst
du natürlich alles nehmen. Sie müssen kopieren und einfügen. Und du musst das
hier schon einmal so machen. Immer wenn hier der erste fertig
ist, musst
du das auch für die Fackel
machen. Eigentlich müssen
wir diesen auch kopieren. Und das müssen wir auch tun. Sie können hier sehen, dass das
eine Menge Kopierarbeit ist. Du kannst das viel besser machen. Denn denken Sie daran,
wir haben, sagen wir, wir haben 50
Gegenstände im Spiel. Du musst das für alle Gegenstände 50
Mal kopieren. Sie können sehen, dass das keine wirklich
gute Programmierpraxis ist. Ich würde
das in meinem Spiel niemals tun. Ich werde das einfach löschen
. Das war der erste. Das ist die einfachste
Methode, mit der wir das machen können. Ich habe eine Methode, die etwas heißer
ist. Lassen Sie uns
in der nächsten Lektion einfach weitermachen.
79. 8.15 Spawning-Logik - Fortgeschrittene: Alles klar, jetzt sind wir zurück. Und was ich jetzt tun möchte, bevor wir
diese ganze Methode ändern, ich möchte sie ein bisschen verbessern. Weil wir diese verbesserte Methode
verwenden werden. Wir werden nicht
all die Dinge löschen , die
wir gerade tun. Lassen Sie uns einfach mit dem weitermachen
, was wir derzeit haben. Jetzt muss ich das später
ändern, aber vorerst
behalten wir es einfach und lassen Sie uns das alles
behalten. Aber was ich jetzt
tun möchte, ist, wenn ich auf Play
klicke und Artikel kaufe. Ich möchte auch, wann immer es
einen bestimmten Punkt erreicht, in
der nächsten Reihe durchkommen. Es kauft nicht nur in einer Reihe, sondern auch
in der zweiten Reihe Jetzt sehe ich, dass dieser
Fehler behoben ist, weil wir ihn im Index
nur auf
vier gesetzt haben Aber wie Sie sehen, kann
es zu lang werden, wenn ich einfach weiter in dieser Reihe kaufe. Ich möchte auch, dass
es automatisch in
die nächste Reihe geht und dort Gegenstände kauft
oder spawnt Lassen Sie uns zuerst etwas
Logik hinzufügen, lassen Sie uns hier einfach
fünf oder vier schreiben Genau wie zuvor muss ich
wissen, wann diese Schleife beendet ist. Klicken wir mit der rechten Maustaste auf diesen. Wir können es zu
einer lokalen Variablen heraufstufen. Der Unterschied zwischen einer
Variablen und einer lokalen Variablen besteht
darin, dass eine lokale Variable in dieser Funktion liegt eine lokale Variable in dieser Funktion liegt, in der
Sie sich gerade befinden. Wir befinden uns in dieser Funktion mit den Spawn-Punkten für festgelegte
Gegenstände. Wenn ich einen lokalen Punkt in Spanien erstelle und
zum Ereignisdiagramm zurückkehre, kann
ich die Variable hier nicht
sehen da sie nur
innerhalb dieser Funktion existiert Wir mussten hier im Grunde
etwas Logik anwenden, aber wir
brauchen sie wirklich nicht hier draußen. Wir verwenden das nur, wenn die Schleife
beendet ist oder nicht, wir können mit der rechten Maustaste hier klicken und zu
einer lokalen Variablen heraufstufen. Normalerweise nenne ich sie zunächst
lokal, nennen
wir das eine
Schleife, letzter Index. Da dies der
letzte Index der Schleife ist, müssen
wir auch
eine weitere lokale Variable erstellen. Ich werde es in eine Ganzzahl ändern. Auch hier ist es kein
irrwitziges normales. Die zweite, ich möchte es
einfach lokale
Anzahl von Zeilen nennen Ich muss wissen, in wie vielen Zeilen die Artikel sein müssen. Benötige ich es in einer Reihe oder brauche ich es in zwei Reihen,
drei Reihen und so weiter. Lassen Sie uns vorerst einfach drei Zeilen
hinzufügen. Wenn ich kompiliere, klicke
auf die Variable und hier drüben im
Standardwert, genau richtig drei. Jetzt wollen wir drei Zeilen. Was ich hier tun möchte, ist, den Ortsanschluss zu nehmen. Letzter Index, den ich sagen möchte, entspricht das dem
Index jetzt hier? Weil dieser Index hier aufwärts
zählt. Und Sie können sehen, dass Sie,
wenn
Sie eine Zeichenfolge drucken, immer eine Zeichenfolge drucken können,
wenn Sie etwas nicht verstehen oder wenn Sie
etwas möchten. Clarity Four, du kannst es einfach
hierher ziehen und auf Abspielen klicken. Jetzt können Sie sehen, dass die Nummer
gedruckt wird. Und wenn ich
es hier einfach länger mache, damit wir sehen
können, was vor
sich geht und es lesbar ist. Klicken Sie auf Abspielen. Sie können
es in der Nummer 01234 sehen Es zählt aufwärts
, wenn dieser Wert
dem verlorenen
Index der lokalen Schleife entspricht , der dieser ist Wenn wir nur kompilieren, können
Sie sehen, dass er jetzt
auf vier gesetzt ist . Wenn
das dem entspricht, wissen
wir, dass dies die letzte Schleife ist, die es durchlaufen hat. Verbinde diesen einfach wieder. Wenn das stimmt, wollen wir Anzahl der Zeilen
nehmen, mit der
wir sie vergleichen wollen. Wie oft
ist diese Schleife gelaufen? Nehmen wir an, Sie benötigen hier
drei Zeilen. Sie müssen die
Schleife dreimal ausführen, weil sie beim ersten Mal in einer
Schleife zu dieser Zeile wiederholt
wird, dann muss sie
hier und hier in einer Schleife laufen. Wenn wir die
Anzahl der Rose mit drei angegeben haben, muss
sie dreimal wiederholt werden. Ich werde wieder eine
neue Variable erstellen. Lassen Sie uns diesen einen
Local-Loop-Zähler nennen. Nehmen wir diesen
lokalen Schleifenzähler und sagen wir Loss Plus, weil wir ihn jedes Mal um
eins
erhöhen müssen , wenn die
Schleife beendet ist Diese Schleife hier ist jetzt beendet. Wenn das stimmt, müssen wir einen zum Zähler für die
lokale Schleife
hinzufügen. Wir müssen uns fragen, ist das der Zähler für den
Teilnehmeranschluss, ist er kleiner als die
Menge an Rose? Wenn es weniger ist, ist es im
Moment weniger,
weil die Menge an Rose drei
ist und diese nur
eine ist. Gehen Sie zurück und wiederholen Sie die Schleife. Wenn dieser Schleifenzähler jetzt drei
ist, wird
er nicht erneut wiederholt,
da auch dieser Wert bei drei liegt. Und wir werden den Code stoppen. Geh einfach raus und
verbinde das hier. Wenn es jetzt weniger als
die Anzahl der Zeilen ist, müssen
wir die Schleife erneut ausführen. Nehmen wir das hier als wahr an und lassen Sie uns es einfach zur Schleife
zurückführen. Nehmen wir die
Hinrichtungsnadel hier. Ich doppelklicke, um eine hintere Routennotiz
zu machen. Ich kann es also tatsächlich so
sehen. Jetzt gehen wir zurück und
wiederholen das noch einmal. Jetzt klickst du auf
Play und kaufst. Sie können sehen,
dass nichts passiert. Warum passiert hier nichts? Aber man kann tatsächlich sehen,
dass etwas passiert. Denn wenn ich wie hier fünf kaufe
und ich mich daran erinnere, den
letzten Index auf vier gesetzt zu haben, bedeutet
das, dass ich bis zum sechsten fünf
Artikel spawnen kann Es wird nicht fünf
mal zehn sein. Es ist kein Bug, wenn F um 15 ist, aber wenn ich 16 kaufe,
kann man sehen, dass es ausfällt Was
gerade passiert, ist, dass du
die 15 Gegenstände
übereinander spawnen lässt, du nimmst nicht die nächste Reihe Der Grund ist, denken
Sie daran, dass Sie
den Z-Wert beeinflussen müssen , weil die Zeile hier im Grunde
der Z-Wert ist, wir haben den Z-Wert nicht beeinflusst Sie müssen etwas
mit diesem Z-Wert machen. Was wir tun müssen,
ist zu sehen , in welche Richtung
wir gehen wollen. Wenn ich jetzt darauf klicke und es nach unten
ziehe, achte
einfach
auf den Z-Wert hier im Detailbereich. Wenn ich das nach unten drücke, geht
es hier in das Minus
des Z. Was ich tun kann, ist,
den Z-Wert zu nehmen. Ich kann Minus sagen. Wir müssen
es einfach so machen wie zuvor. Wenn ich das
hier nehmen und sagen kann, multipliziert
wie zuvor, werde
ich das verschieben, ich werde es
tatsächlich löschen, weil wir das nicht
wirklich brauchen Wir können das
hier jederzeit kopieren und einfügen, wenn wir müssen. Auch hier müssen wir es
wie zuvor
multiplizieren . Sagen wir für zehn. Und es ist nicht wirklich
der Index, weil wir ihn nicht
wirklich in derselben Schleife multiplizieren wollen. Da es sich bei der ersten
Schleife um den Z-Wert
handelt, ist er durchweg derselbe. In der zweiten Schleife ist der
Z-Wert durchweg derselbe. Es wird hier nicht
jeden einzelnen Index ändern. Anstatt dies zu tun,
müssen wir eine weitere lokale Variable erstellen. Nennen wir diesen einen
lokalen Z-Achsen-Multiplikator. Nun zum Standardwert, er bleibt
Null, weil wir ihn mit nichts multiplizieren
wollen Die erste Schleife, also die erste
Schleife, das ist alles richtig. Lass es uns einfach hier verbinden. Alles ist miteinander verbunden. Jetzt heißt
es, dass etwas nicht stimmt. Der aktuelle Wert einer gültigen, gültigen Zahl. Ich weiß nicht, warum
es das sagt. Wenn du auf Datei klickst
und alle Notizen
aktualisierst, weiß ich nicht, warum es so
nervt Einfach ziehen und nochmal
multiplizieren sagen. Ich ziehe es
hierher, anstatt zehn Gott zu sagen, und verbinde es erneut
und kompiliere es. Und
jetzt funktioniert es. Ich weiß nicht, es war
nur ein zufälliger Bug. Jetzt haben wir das verbunden. Im Grunde müssen
wir
diesen lokalen Z-Achsen-Multiplikator erhöhen diesen lokalen Z-Achsen-Multiplikator Denn für die erste Schleife
wollen wir , dass das Z durchweg
gleich ist Für die zweite
Schleife wollen wir
, dass das Z durchgehend
gleich ist, und so weiter. In jeder Schleife ändert sich das Z. Wir können es hier machen. Wir
nehmen den lokalen Z-Multiplikator wenn wir wissen, dass wir wieder eine Schleife
machen werden Wenn das wahr ist, erhöhen wir den Wert
einfach um eins plus verbunden und gehen so wieder in die
Schleife zurück Jetzt sollte es funktionieren, wenn ich kompiliere
und wenn ich auf Play klicke. Und wenn ich die
Lichtfeder fünfmal sechsmal kaufe, müsste
sie hier unten stehen,
was auch richtig ist. Und du kannst sehen,
dass alles richtig funktioniert. Jetzt könnt ihr sehen, wie toll
es ist, dass wir all
diese Gegenstände von einem
einzigen Punkt in Spanien aus spawnen diese Gegenstände von einem
einzigen Punkt in Spanien aus Jetzt musst du
deine Karte nicht mit vielen
Spanien-Punkten spammen deine Karte nicht mit vielen
Spanien-Punkten Das ist sehr optimiert
, weil es nur läuft, wenn
du dein Spiel startest. Weil es all
diese Spanien-Punkte in einem
Array speichern wird diese Spanien-Punkte in , das du später
verwenden kannst, um die Gegenstände
tatsächlich zu spawnen.
Lass uns alles speichern Das war es vorerst
und wir werden mit dem nächsten
weitermachen und
es etwas weiter ausbauen. Ich hoffe, du bist immer noch bei mir, aber was
wir einfach tun werden, ist,
dass wir diesen
Teil hier loswerden werden. Und ich werde dir zeigen, wie wir das etwas weiter
voranbringen können . Klicken wir auf Datei, Alle
speichern und fahren wir mit
dem nächsten fort.
80. 8.16 Spawning-Logik - Fortgeschrittene: Im Moment werden wir den Code, den wir hier geschrieben
haben,
verbessern Das ist also der letzte
Teil, was wir tun können. Anstatt all das zu tun, lassen Sie mich
vorerst nur diesen Teil und auch diesen löschen. Für diesen
Punkt, den wir bekommen, klicken
wir einfach mit der rechten Maustaste
hier und machen daraus eine lokale Variable.
Nennen wir diesen einen lokalen Gegenstand Spawnpunkte Jetzt haben wir auch diese
Spawnpunkte. Bevor wir das alles tun, sollten wir
sicherstellen , dass es nicht Null ist Wir stellen nur sicher
, dass wir tatsächlich
einige Spawnpunkte haben und dass die Karte tatsächlich Spawnpunkte
enthält Also ziehe von hier
und wir sagen Länge.
Wir stellen sicher, dass diese Länge
größer als Null ist und dann können
wir eine Verzweigung machen Wow, wir stellen sicher, dass wir tatsächlich ein paar Spawnpunkte haben Bevor wir all diese Logik anwenden, sonst wird es keinen Sinn machen Lassen Sie uns
das vorerst weglassen und weitermachen
und es verbinden.
Wenn Sie sich das jetzt ansehen, müssen
Sie sich überlegen,
wie Sie es
kleiner machen können als zuvor. diesen Code zu kopieren und ihn dann hier
einzufügen Verbindung herzustellen
und dann weiterzumachen Wie können Sie
diese Methode hier verkürzen , sodass
Sie nicht das, was sich von
diesem Code unterscheidet, in den Code kopieren und
einfügen müssen
, den Sie ändern müssen Das Erste
, was
mir in den Sinn kommt, ist, dass ich mir dieses Array
ansehe denn zuerst müssen Sie
die Standorte für die großen Spawnpunkte der
Federn hinzufügen die Standorte für die großen Spawnpunkte der
Federn Dann lass uns einen neuen machen. Klicken Sie einfach auf dieses eine
Steuerelement D, um es zu duplizieren. Der zweite sind die
Fackel-Spawnpunkte, ich glaube, der
zweite ist die Fackel Ja, das ist sie. Die zweite
ist die Fackel. Wir brauchen tatsächlich
die Fackel hier unten , wo du die
Spawnpunkte hinzufügen musst und nicht die
Lichtfeder Das ist der einzige Unterschied. Um das nochmal zu
verkürzen,
denkt daran, den Auswahlknoten zu verwenden.
Ein sehr wichtiger und
mächtiger Node, den ihr aus diesem
herausziehen
und dann Select sagen könnt . Nun können Sie die Feder oder die Fackel auswählen,
je nachdem, was
Sie hier anschließen. Woher wissen wir nun, welche wir auswählen
sollen, wo das ist? Nochmals, wo Sie die Aufzählung
verwenden können. Wenn ich zu den
Elementen zurückgehe, die ich schreiben kann, klicke ich auf Neue
Blueprint-Aufzählung erstellen Und nennen wir dieses eine Element. Lass uns das öffnen.
Lass uns einfach ein paar Artikel hinzufügen. Jetzt probiere ich einfach etwas aus. Der erste Artikel ist Light Feather. Der zweite ist Torch. Wir können immer versuchen zu
sehen, ob das funktioniert. Wenn es nicht funktioniert, ist es
nicht wirklich wichtig, dann haben wir
etwas daraus gelernt. Wenn ich jetzt zurückgehe, habe ich diese Aufzählung Ich werde
diese Aufzählung tatsächlich
zu diesem Punkt in Spanien hinzufügen , weil wir
, genau wie der
Name, die Aufzählung korrekt
einstellen müssen die Aufzählung korrekt
einstellen Lassen Sie uns die
Problematik der Punkte einbeziehen, denn zuvor haben wir diese Elementvariable
oder diese spanische
Punktnamensvariable zu dieser
Punktbasis
hinzugefügt oder diese spanische
Punktnamensvariable . hier. Aber es macht nicht
wirklich Sinn, der Punktebasis
eine
Artikelaufzählung hinzuzufügen eine
Artikelaufzählung Punktebasis weil der Feind sie
nicht wirklich braucht Warum würdest du es innerhalb
der Punktbasis hinzufügen? Denken Sie daran, dass der Punktpunkt ein untergeordnetes Element dieses Punkts ist. Ich möchte keine
unnötigen Variablen hinzufügen , wo man
sie bei allen anderen Akteuren nicht wirklich braucht . Wir brauchen sie nur hier
drinnen. Fügen wir es hier hinzu. Fügen wir stattdessen eine
Variable hinzu, nennen wir sie Item. Lassen Sie mich einfach nach Artikeln suchen. Artikel. So haben wir es
genannt. Geh und wähle es aus. Kompilieren. Lassen Sie uns
alles noch einmal speichern. Offenlegen, Instanz, Bearbeitbar. Beim Spawn verfügbar machen, kompilieren. Wenn ich jetzt darauf klicke, kann
ich den Gegenstand
auf Light Feather ändern Und beim nächsten kann ich es auf Torch
ändern. Jetzt haben wir diese Information. Wenn ich jetzt
zu meinen Plänen zurückkehre, öffne meinen Spielmodus Was wir hier drinnen tun können, um an diese Informationen
zu kommen. Denken Sie daran, wir
haben diese Informationen bereits hier. Also kann ich meinen lokalen Gegenstand nehmen, Spawnpunkte, ich kann sagen, bekommt Und ich hole mir einfach den ersten, dann sage ich Gegenstand und dann suche ich meine Aufzählung Jetzt mach weiter und
stecke das hier ein. Jetzt kannst du sie wieder einstecken. Jetzt können Sie sehen,
je nachdem, was dieser Wert
ist, werden
diese Arrays ausgewählt Wenn es die
Lichtfeder ist, die du hier draußen bei
der Anzeige eines Spawns
ausgewählt hast , wird
es die
Lichtfeder-Reihe auswählen und so weiter Ich kann mir vorstellen, dass
es gut funktionieren wird. Auch hier unten,
um den Standort des Schauspielers zu finden, braucht
es einen Schauspieler.
Mach weiter und kopiere das und
füge es hier ein. Das wird also auch
gut funktionieren , nachdem es die Spawnpunkte
für das erste Mal hier
hinzugefügt hat, für das erste muss es Der zweite, wenn er den zweiten
hier erreicht. Denken Sie daran, dass wir gefragt haben, ob der Zähler für die lokale Schleife
größer
ist als die Anzahl der
Zeilen, die Sie haben möchten? Kleiner, größer, wenn er kleiner ist. Wenn das stimmt,
machen wir einfach weiter und wiederholen die Endlosschleife. Wenn es jedoch nicht kleiner ist, bedeutet das, dass wir
die Schleife beenden müssen, weil wir die maximale
Anzahl von Zeilen für diese Zeile erreicht
haben, wir müssen zur nächsten übergehen. Was wir tun können, ist,
das zu nehmen und Index sagen zu können. Weil wir wissen, dass
wir den
Index Null entfernen müssen , weil
wir im Grunde
den ersten Index verwenden , um die
Elemente von hier aus zu erzeugen,
entfernen wir die
Elemente von hier aus zu erzeugen, den ersten Index
, der Index Null ist Bevor wir wieder
zum nächsten Spawnpunkt zurückkehren, müssen
wir sicherstellen,
dass dieser nicht leer ist Denn was passiert, wenn du den letzten Spawnpunkt
erreichst? Wir wollen nicht weiter loopen. Wir müssen uns hier hinziehen
und sagen, dass es nicht leer ist. Weil wir immer dann eine Schleife machen wollen,
wenn das nicht leer ist, machen
wir einen Zweig, machen
weiter und verbinden ihn. Wenn es nicht leer ist, wollen
wir es erneut wiederholen. Denken Sie jetzt daran, dass wir den Z-Wert zurücksetzen müssen
, da wir uns wieder in einer neuen Zeile
befinden. Wir müssen alle
Einstellungen für den Z-Wert zurücksetzen. Ich werde ihn auf Null setzen. Und dann auch für den lokalen
Schleifenzähler, weil wir jetzt
einen neuen Schleifenzähler starten, werde
ich ihn auch auf 20 setzen. Lassen Sie mich sehen, ob wir
noch etwas ändern müssen. Was den
Local-Loop-Index angeht,
so bleiben wir eigentlich gleich, weil wir
die gleiche
Menge an Elementen pro Zeile haben . Wir
müssen wirklich nichts ändern. Lassen Sie uns alles kompilieren und
speichern. Nun zu diesem, wir werden
es im Grunde wie folgt wieder in den Loop einstecken . Doppelklicken Sie erneut
darauf, damit wir
sehen können , was wir gerade tun. Lassen Sie uns sehen, ob es
tatsächlich funktioniert. Bevor wir nun auf Abspielen klicken
und das versuchen, könnt ihr sehen, dass es
übereinander Ich denke nicht, dass es hier
ein Fehler ist, denn denken Sie daran, dass Sie
im Player auch entscheiden, wie Sie das
eigentlich nennen Wir hatten nur den
Spawnpunkt der leichten Federn, von dem wir kamen. Du. Eigentlich musst du das auch etwas dynamischer
machen. Denken Sie jetzt noch einmal daran, dass Sie hier die Position,
das Array, ermitteln müssen , je nachdem, welches
Objekt für diesen Vorgang verwendet wird. Denn hier hast du eine
Zeichenfolge und was du im
Spielmodus
verwendest, ist eine Aufzählung Du kannst sie nicht wirklich zusammen
verwenden. Sie können auch keine
Zeichenfolge in eine Aufzählung einfügen. Wenn wir es hier rausgebracht haben,
müssen wir es irgendwie konvertieren. Lass uns hier oben eine neue
Funktion machen. Nennen wir das,
besorgen wir ihm Spawnpunkte. Das ist nur das Sammeln von
Informationen. Denken Sie daran, es auf Pure zu setzen, damit es wie
eine grüne Funktion aussieht. Wir bekommen hier nur
Informationen. Nun zu dem,
was wir tun könnten, wir könnten
zum Beispiel nach Artikeln
suchen. Wir könnten diese
Aufzählung wie zuvor verwenden
und wir können sagen, die Aufzählung
einschalten Und wir können
die Spawnpunkte grundsätzlich abhängig davon zuweisen ,
worüber wir sprechen, welches Objekt wir Das Problem dabei ist, wenn
wir diesen benutzen müssen, holen wir ihn nach Punkten Wenn ich kompiliere und zurück zum Player gehe und
den Spielmodus nehme und sage, wir rufen es an, bekommt man Spa-Punkte. Sammle Spa-Punkte. Ich habe versucht, diesen zu benutzen. Wenn ich versuche, das hier einzufügen, können
Sie sehen, dass die Zeichenfolge
nicht mit der
Artikelaufzählung
kompatibel ist mit der
Artikelaufzählung
kompatibel Jetzt könnten wir die Aufzählung
der Elemente
innerhalb der Struktur hinzufügen Aufzählung
der Elemente
innerhalb der Struktur Ich möchte das nicht wirklich tun, aber du kannst es tun, wenn du willst Das ist auch eine Methode
, die funktionieren kann. Aber was ich tun
möchte, anstatt daraus eine Aufzählung
zu machen, lassen Sie uns
daraus eine Zeichenfolge machen Wählen Sie stattdessen eine Zeichenfolge und nennen wir sie Elementname Lassen Sie uns diesen löschen. Dann können
wir sagen, String einschalten. Lass uns sie hinzufügen. Manuelles
Klicken auf das Plus. Der erste Gegenstand ist
die Lichtfeder. Der zweite Artikel ist
goldbraun. Was wir tun können, ist, wenn es die Lichtfeder
ist, wir können einen
Return-Node-Schreibvorgang hierher zurückkehren lassen, ihn
auswählen und ihn einfach hierher
ziehen. Ich nenne
das einfach Spawnpunkte. Was wir tun können, ist
, das hier zu
kopieren und einzufügen, verbunden und einfach so Okay, jetzt müssen wir das
für alle Spawn-Punkte machen, aber jetzt schauen wir mal, ob es funktioniert Und wir können immer weitermachen. Wenn ich zurück zum Spieler gehe, nehme ich
jetzt die
Spielmodus-Variable und sage Items Points und ich sage Items Spon Points Jetzt kann ich mir die Spanien-Punkte holen, abhängig vom Namen des Gegenstands Ich werde das einfach hier
reinziehen. Dann nehme ich die
Spawnpunkte und ziehe sie
dann hierher Jetzt können wir diesen Teil löschen , weil er jetzt
dynamisch hinzugefügt wird Und wenn ich auf Play klicke
und helle Federn kaufe, wenn ich Fackeln kaufe, sie immer noch an derselben Stelle Mal sehen, was hier drinnen
falsch läuft. Ich kann also sehen, dass ich
Golden Crown versehentlich geschrieben habe und es ist Torch. Also das ist wahrscheinlich das Problem. Wenn ich hier rauf klicke,
richtig, wieder Torch. Wenn ich es wieder verbinde, als
ich den Namen geändert habe, und ich erneut auf Play
klicke, kaufe ich die Lichtfedern
und ich kaufe die Fackel. Sie können jetzt sehen, dass sie perfekt
funktioniert. Jetzt kann ich sehen, dass es
auch in
den drei Reihen, die
ich ausgewählt habe, spawnt den drei Reihen, die
ich ausgewählt habe, Lassen Sie uns jetzt testen und sehen,
ob das funktioniert. Wenn wir die Einstellungen ändern, wenn ich in den Spielmodus gehe, setze Item-Spawnpunkte Wenn ich einfach auf
die lokale Anzahl von
Zeilen klicke und diese stattdessen
in zwei Zeilen ändere, auch für den Loop-Counter Der letzte Index hier, sagen wir, ich wollte zehn Elemente in einer Zeile. Ich schreibe hier neun, weil denken Sie daran, dass der
Startindex Null ist, Fycliconplay, ich kaufe
die hellen Federn, Sie können zehn davon kaufen Und es wird hier bleiben, aber der elfte
geht in die Jetzt können Sie sehen, dass
es perfekt funktioniert und ich kann
dasselbe mit der Fackel machen. Das Gute ist, dass Sie
immer
einen löschen und
ihn platzieren können, wo immer Sie wollen. Sie können zum Duplizieren auf
Strg+Alt klicken. Es kann wie bei diesem Speichervorgang wieder auf
Torch umgestellt werden. Ich glaube nicht, dass wir diesen
Punktnamen für diesen Punkt mehr brauchen . Ich werde es wahrscheinlich entfernen, aber lass uns erneut auf Play klicken. Jetzt kannst du sehen, dass sie funktionieren, weil der
erste Torch war. Jetzt überprüfen wir einfach, ob der
erste Torch ist, der zweite
Feather und so weiter. Sie
funktionieren alle korrekt. Gehen wir jetzt zurück zur
spanischen Punktebasis oder zu dieser. Lassen Sie uns die
Instanz Editable entfernen und beim Spawn verfügbar machen, weil
wir sie nicht mehr benötigen Gehen wir zurück zum
Play-Controller. Ich werde das alles löschen und
das
alles zusammen verschieben. Ich werde nur
ein paar hintere
Routennotizen erstellen , um
das viel besser zu organisieren. Ordnung, jetzt
habe ich
alles neu angeordnet und nur Notizen zur
Umleitung gemacht. Es sieht besser aus Was wir jetzt brauchen, sind all
die anderen Antwortpunkte. Lassen Sie uns diesen Teil einfach beenden. Lass mich den
ersten hier unten löschen. Lass uns einfach
von vorne beginnen. Was Sie tun können, ist einfach
hierher zu ziehen und Sie müssen erstellen, natürlich bis zu der Anzahl
der Artikel, die Sie haben. Im Moment haben wir
zehn. Ich gehe einfach runter
, das ist 234. Wir müssen im Grunde eine größere Karte
erstellen oder vielleicht müssen wir mehr Platz
schaffen. Mach einfach weiter und
kopiere acht davon. Gut, jetzt
habe ich zehn davon. Klicken Sie auf den ersten und
vergewissern Sie sich, dass es der erste Artikel ist. Du kannst jederzeit
rübergehen und
hier nachschauen , welche du in welcher Reihenfolge
hast. Die erste ist die
Lichtfeder. Dann wählt Torch die erste
als Lichtfeder aus. Auch hier benötigen
wir die Aufzählung der
Elemente, wir müssen die
Elemente zu ihnen hinzufügen Die Lichtfeder
ist die erste,
Torch, und dann
brauchen wir die Ruine der Zeit Die Beschützerin. Ich füge
sie hier einfach alle hinzu. Der letzte für mich
ist Crown of Evil. Jetzt, wo ich sie alle
wieder habe, rette sie alle. Schließ es.
Lass uns rüber gehen. Und dann müssen wir sie auch hier
alle ändern. Der erste ist Torch. Das kannst du öffnen. Ich werde es meinem zweiten Monitor hinzufügen. Und dieser ist die Ruine der Zeit. Eigentlich ist es hier einfach
in Ordnung. Wir können
es im Grunde einfach der Reihe nach hinzufügen. Der Beschützer, also der letzte, für mich ist das die
Krone des Bösen. Alles sollte gut
funktionieren. Wenn ich jetzt
zum Spielmodus zurückkehre, öffne den Spielmodus. Lass es uns hier öffnen. Jetzt habe ich all diese Eingaben, in die
ich Werte eingeben kann. Lassen Sie uns das noch einmal duplizieren. Sie müssen zum Beispiel für
jeden von ihnen einen erstellen. Der nächste ist Ruin
of Time Spawn Points. Mach einfach weiter und mache
sie alle und verbinde
sie auch hier Das ist der letzte für mich. Der letzte ist die Krone
der bösen Spawnpunkte. Ich werde weitermachen
und das auch hinzufügen. Nochmals, nur dafür
sorgen, dass alles gut ist, sie so neu anordnen,
das sollte in Ordnung sein Okay, jetzt, wo wir das hinzugefügt
haben, gehen wir zum
Player und stellen sicher, dass wir hier
nichts tun müssen Im Spieler hier bekommst du
tatsächlich Gegenstände, Spawnpunkte, wir
müssen das auch hier tun Mach weiter und klicke ein paar Mal auf das
Plus. Schauen Sie sich hier noch einmal
Ihre Arrays an und
benennen Sie sie einfach entsprechend Der dritte ist Ruin of Time. Stellen Sie sicher, dass Sie
alles richtig geschrieben haben, da dies
ebenfalls aus der Datentabelle übernommen wird Nennen Sie Ruin of Time. Der andere ist der Beschützer. Ich werde sie einfach wieder
alle hinzufügen. Auch dies ist die
letzte für mich, die Krone des Bösen, und ich hoffe, ich habe keinen von ihnen wieder
falsch geschrieben, nur um das
ein paar Mal zu kopieren Das ist 678910. Jetzt haben wir sie alle. Mach einfach weiter und stecke
sie alle wieder hier ein. Und dieser ist der
letzte für mich. Dann mach weiter und
verbinde sie alle. Dieser ist der letzte. Stellen Sie nur sicher, dass Sie das noch einmal überprüfen. Wenn Sie
hier einen Fehler haben,
überprüfen Sie hier einfach , ob Sie alles richtig
gemacht haben. Überprüfe noch einmal, ob
du das alles
richtig einsteckst , also
so zusammen Und stellen Sie außerdem sicher,
dass Sie in den eingestellten Spawnpunkten, an denen Sie all
das korrekt eingegeben haben, die Namen
innerhalb der Aufzählung
in den Elementen hier richtig geschrieben haben,
sie entsprechen
den Namen, die Sie in der haben Vergewissern Sie sich nur, dass das alles
korrekt ist , denn das ist
sehr, sehr wichtig Alles sollte in Ordnung sein. Wenn ich jetzt zum Player zurückkehre, sollte
alles funktionieren. Wenn ich auf Play klicke, kaufe ich
jetzt etwas. Lass uns einfach alle testen. Wenn sie erscheinen, bedeutet das, dass
sie funktionieren Jetzt muss ich
die Karte etwas größer machen, aber das können wir später machen Aber jetzt kannst du sehen, dass ich
die Rose, die ich habe,
nur für 20 Gegenstände spawnen kann die Rose, die ich habe,
nur für 20 Gegenstände Also kannst du es in der Kiste sehen
, wenn ich mehr als 20 habe. Aber ich werde die Zahl später
auf viel mehr erhöhen. Aber wie du siehst,
kann ich von jedem Artikel 20 kaufen. Es sieht wirklich gut aus. Jetzt haben wir Artikel die der Anzahl
der Artikel entsprechen, die wir kaufen Alles wird
richtig berechnet , alles
ist perfekt Lassen Sie uns es jetzt schließen. Ich werde
das auch neu anordnen und wir können mit der nächsten Lektion
weitermachen
81. 8.17 Artikelkostenstruktur und Datentabelle: Alles klar, was
wir jetzt tun werden, wir werden
die Preise jedes
Mal erhöhen , wenn Sie
hier im Geschäft etwas kaufen Sie können sehen, dass jedes Mal, wenn ich etwas im Laden
kaufe, der Preis gleich bleibt. Und das ist normalerweise nicht der Fall
bei einem Idler-Spiel oder Clicker-Spiel, weil es
immer schwieriger werden muss sonst ist das
wirklich schlechtes Spieldesign und es wird ein flaches Spiel sein, also müssen wir den Preis
erhöhen Das
passiert zum Beispiel auch in Cookie Clicker, wenn Sie es
noch nicht ausprobiert Wenn
Sie also beispielsweise mehr Cursor kaufen, können
Sie sehen, dass der Preis steigt und es wird schwieriger Also müssen wir das
auch für unseren Shop tun. Wir müssen
den statischen Preis ändern. Lassen Sie uns das schließen. Dazu möchte ich nun
eine neue Struktur erstellen , die
alle Preise enthält. Wenn Sie zu den Bauplänen zurückkehren,
öffnen Sie die Strukturen. Lassen Sie uns eine neue
Blueprint-Struktur für diesen erstellen. Ich nenne es Artikelkosten. Lassen Sie uns jetzt diesen öffnen. Was wir im Grunde tun müssen, dass
wir die
Artikelkosten für jeden Artikel angeben müssen. Ich werde das in eine Ganzzahl ändern
. Das erste, das wir Light Feather Cost
nennen können. Sie müssen nur alle
Artikel auflisten, die Sie haben. Jetzt können Sie zu
dieser Aufzählung gehen. Wenn Sie sich nicht an die Artikel erinnern, können
Sie
sie immer einfach hier nebenbei haben Und Sie können weitermachen und
alle Namen in
die Struktur schreiben . Fügen Sie eine neue Variable hinzu, kopieren Sie
diese und fügen Sie sie ein. Fügen Sie eine neue Variable hinzu, kopieren Sie
diese und fügen Sie sie ein. Ich werde es
für sie alle tun. Ordnung, dieser ist
der letzte für mich, und ich werde den letzten
hinzufügen, und jetzt haben wir sie alle. Lass mich das
schließen und alles speichern. Was wir nun tun müssen, lassen Sie uns aus dieser eine Datentabelle
erstellen. Es ist immer schön, einen zu haben. Klicken wir mit der rechten Maustaste,
gehen wir zu Blueprints, erstellen eine Tabelle mit verschiedenen
tatsächlichen Daten und wählen Sie die Artikelkosten Klicken Sie auf OK. Nennen Sie einen DT-Artikel kosten. Speichern wir jetzt alles. Wir müssen zu Google Sheets gehen. Hier in Google Sheets hatten
wir das schon einmal. Lass uns eine neue erstellen. Lass mich diesen einfach duplizieren. Dupliziere das. Lass es mich einfach hier nennen, DT Item Cost. Was wir jetzt brauchen ist, lassen das alles vorerst
löschen. Was wir hier
in dieser Datentabelle benötigen sind die Kosten für jeden Artikel. Der erste ist der Preis für
leichte Federn. Zum Beispiel wird Artikel Nummer eins
etwa zehn kosten. Artikel Nummer zwei wird etwa 15
kosten. Artikel Nummer drei könnte
etwa 25 kosten und so weiter. Und lass uns einfach alle
Namen für die Artikel hier schreiben. Ich habe
sie jetzt alle aufgeschrieben, alle Artikel. Jetzt müssen Sie
für alle einen Preis angeben . Zum
Beispiel dieser. Der erste Artikel könnte zehn für die Fackel
kosten, er könnte 15 kosten. Vielleicht 2030, 40,60, sagen
wir 7510125, und vielleicht 150 Auch hier braucht es Zeit, all
das zu tun. Ich wähle einfach gleich aus, nehme das erste mal 1.2, vielleicht mache ich einfach weiter
und ziehe ein paar davon. Jetzt kannst du sehen, wie mächtig das ist, denn du kannst Formeln
in Google Sheets
erstellen und du kannst diese Zahlen, die im Grunde per
Formel erstellt
werden, für dein Spiel importieren im Grunde per
Formel erstellt
werden ,
und du kannst sie verwenden. Das habe ich auch in
Farm Tail verwendet , als ich es entwickelt habe. Lassen Sie uns die Anzahl
der Dezimalstellen reduzieren , weil wir wirklich keine
Dezimalstellen benötigen. Lassen Sie uns alle entfernen. Ja, wir können das machen. Klicken und
ziehen Sie auch für die Zahlen, die Anzahl der Artikelplätze.
Es hängt wirklich davon ab, wie
viele Artikel Sie kaufen können. Aber nehmen
wir an, du kannst für dieses Spiel 50 Artikel kaufen. Artikel 50 kostet das, wir können ihn einfach auf Artikel
50 ziehen, ungefähr so. Du musst es für
den Rest von ihnen tun. Ich glaube, ich kann es
so machen. Ja, ich kann sie
hier
tatsächlich alle auswählen und ich kann sie so
hierher ziehen, und alles wird
so gut sein. Okay, jetzt habe ich
all diese Zahlen. Sie können anhand eines Datenblatts sehen, wie schnell es
geht. Jetzt kann ich auf Datei klicken, auf Herunterladen
klicken, CSV-Datei
herunterladen. Jetzt können wir
noch einmal weitermachen und den
Namen so ändern. Jetzt kann ich zurück zum Motor gehen. Gehen wir innerhalb der Engine zum Ordner mit den Datentabellen. Lass uns das hier anklicken und hineinziehen
. Es wird alle
Informationen aktualisieren, wie wir hier sehen können. Jetzt sind wir bereit,
dies zu verwenden. Lass uns alles speichern. Bevor wir das beenden, erstellen wir auch
die Bibliotheksfunktion. Ich werde es öffnen,
nur um konsistent zu bleiben. Ich werde diese
am Anfang tatsächlich in F umbenennen , weil ich das
normalerweise für meine
Funktionen wie diese mache. Okay, lass uns jetzt eine
neue Funktion machen. Nennen wir das
„Artikelkosten ermitteln“. Jetzt hängen die Artikelkosten davon
ab , wie viele Artikel
wir gekauft haben. Denn wie Sie hier sehen können, es wirklich davon ab, wie viele
Artikel wir gekauft haben,
wenn wir zurückkehren hängt es wirklich davon ab, wie viele
Artikel wir gekauft haben,
wenn wir zurückkehren. Denn wenn wir einen Artikel
gekauft haben, müssen
wir dafür sorgen, dass der
Artikel zwei kostet. Hier. Wenn wir bereits
acht Artikel gekauft haben, müssen
wir die
Kosten für den nächsten Artikel
, also Artikel Nummer neun, ermitteln, anstatt sie als Zeichenfolge anzugeben,
wie wir
es hier normalerweise für
alle getan haben. Eigentlich haben wir hier
eine Ganzzahl verwendet. Lassen Sie uns auch
hier eine Ganzzahl verwenden. Lassen Sie mich eine Eingabe-Ganzzahl hinzufügen. Lassen Sie mich das eine
Menge gekaufter Artikel nennen. Anzahl der gekauften Artikel. Wir haben diese Informationen bereits in der Spielerkarte. Was wir tun können, ist, dass wir diese Nummer nicht wirklich benötigen, aber wir müssen ihr eine hinzufügen. Sie haben aufgrund der Anzahl der
Artikel, Nehmen wir an, Sie haben aufgrund der Anzahl der
Artikel, die Sie
gekauft haben, drei Artikel gekauft. Realistisch gesehen wollen wir
den Preis für Artikel Nummer vier ermitteln. Sie würden diese Nummer nicht verwenden, aber Sie müssen ihr
eine hinzufügen, weil Sie die nächste benötigen,
den Preis für diese Nummer plus eins Und dann können wir sagen, die
Datentabellenzeile abrufen, wie wir es bis zur Erstellung einer Tabellenzeile getan haben Wir müssen die
Artikelkostendatentabelle verwenden. Jetzt können wir das hier einfügen, aber jetzt können Sie sehen, dass sie nicht kompatibel
sind, aber Sie müssen
es in eine Zeichenfolge übertragen, zwei Zeichenketten, und dann
können Sie es
aus einer Zeichenfolge in
eine Namensvariable konvertieren. Also mach weiter und verbinde es. Jetzt können wir einen Rückgabeknoten erstellen, eine Rücksendung hinzufügen,
das hier hinzufügen und das eine Artikelkosteninformation
nennen. Denken Sie daran, darauf zu klicken und
daraus eine reine Funktion zu machen, denn auch hier
erhalten wir nur Informationen daraus. Testen wir es jetzt einfach,
bevor wir diese Lektion beenden. Nur damit wir wissen, dass
es tatsächlich funktioniert. Wenn ich zum Beispiel in den
Blueprints-Spielmodus gehe, kann ich
hier in der Grafik
sagen, Informationen zu den Artikelkosten abrufen Und hier ist es. Und wir
können es verwenden, wie wir wollen. Okay, machen wir das, kompilieren, speichern und fahren
wir mit der nächsten Lektion fort.
82. 8.18 Item-Kostenfunktion abrufen: Jetzt können
wir
eine neue Funktion namens Artikelkosten
abrufen erstellen eine neue Funktion namens Artikelkosten
abrufen Versuchen wir, das innerhalb
des Players zu machen , weil es am sinnvollsten
wäre. Denn hier hast du
die Anzahl der Münzen und wir arbeiten hier mit
Münzen. Ich werde tatsächlich eine neue Funktion
erstellen. Ich nenne das
„Artikelkosten abfragen“. Versuchen wir herauszufinden, was
wir hier tun müssen. Auch hier werde ich es in ein reines
ändern weil wir nur paar Informationen über die Kosten für
den Artikel erhalten. Wir haben gerade diese
Datentabelle und Funktionsbibliothek erstellt steht, dass wir die Artikelkosten ermitteln und
wir können diese verwenden. Wir benötigen die Information wie viele Artikel
wir bisher gekauft haben. Denken Sie daran, wir
haben diese Karte bereits. Das können wir also ganz einfach tun
, indem wir „Finden“ sagen. Genau wie zuvor müssen wir den entsprechenden Artikel
finden, wir benötigen tatsächlich den Artikelnamen. Wir brauchen hier
eine Variable. Anstatt nur den Artikelnamen
zu haben, klicken
wir einfach hier oben. Da ich später
hier weiß, ob wir das ändern, müssen
wir auch
den Artikelpreis auswählen . Wenn ich
nur eine Rücksendung mache, damit Sie
sehen können, was vor sich geht, erstelle ich hier einen Rücksendeknoten. Wir müssen die
Kosten des Artikels zurückerstatten, weil das das eigentliche
Ziel dieser Funktion ist. Wir müssen die Artikelkosten kennen. Jetzt brauchen wir das, je nachdem, lassen Sie uns hier einen ausgewählten Knoten erstellen. Es hängt davon ab, über welchen Artikel wir sprechen, und wir
können diese anschließen. Aber das Problem ist, dass wir hier keine Zeichenfolge
einstecken können. Denn wenn ich eine Zeichenfolge mache, mache ich
jetzt eine Zeichenfolge und versuche, sie anzuschließen, ist
sie nicht kompatibel. Ich denke, wir müssen die Aufzählung, die wir
erstellt haben, tatsächlich zu unserer Artikelstruktur
oder zur Struktur
der Artikelinformationen
hinzufügen erstellt haben, tatsächlich zu unserer Artikelstruktur oder zur Struktur
der Artikelinformationen Nun, ich habe bereits gesagt, dass wir es möglicherweise in
der Artikelinformation
benötigen,
und ich denke, das tun wir tatsächlich Lassen Sie uns das jetzt tatsächlich tun. Das ist sehr einfach, weil wir bereits
alles haben, was wir brauchen. Wenn ich mich
an die Aufzählung erinnere, haben
Sie diese
Artikelaufzählung bereits Gehen wir zu den Strukturen, öffnen wir die Artikelinformationen. Und der Grund, warum
wir es
hier hinzufügen müssen ist hier drüben. Ich kann
hier einfach Artikel sagen, Artikelinfo. Und ich kann
den Artikel einfach so hinzufügen, denn jetzt haben wir den Artikelnamen und wir
haben auch die Aufzählung Fügen wir die Aufzählung
zu dieser Struktur hinzu. Lass uns hier rüber gehen. Fügen Sie eine
neue Variable namens item hinzu. Lassen Sie uns dies in
die Artikelstruktur ändern , die ich zuvor erstellt habe. Kompilieren oder einfach speichern, lass mich es einfach
hier nach oben unter den Namen verschieben. Speichere alles noch einmal. Jetzt
müssen Sie zur Datentabelle zurückkehren. Sie müssen die Artikelinformationen öffnen
. Jetzt
müssen Sie hier natürlich rechts
eine neue Spalte hinzufügen und diesen einen Artikel nennen. Kopieren Sie einfach alles hier und jetzt sind Sie fertig. Sie einfach
die CSV-Datei herunter und benennen Sie diese um. Jetzt habe ich diesen schon, also werde ich ihn löschen. Ich werde es
in Artikelinfo umbenennen und dann gehe
ich zurück
zur Engine hier drinnen. Gehen wir zu den Datentabellen und ziehen wir diese
hier hinein. Und jetzt haben wir alle Informationen,
die wir benötigen. Okay, speichern wir alles. Gehen wir jetzt zurück zum Player. Und was wir tun können, ist
, das aufzuschlüsseln. Jetzt können wir den Namen M hinzufügen. Wir haben das, lassen Sie mich einfach alles hierher
verschieben. Jetzt können wir den
Artikelnamen hinzufügen. Das ist erledigt. Jetzt können wir das hier einstecken. Das ist also die Anzahl
der Artikel, die wir gekauft haben. Es wird also automatisch der Preis
für den nächsten Artikel ermittelt. , dass wir innerhalb dieser Funktion Denken Sie daran, dass wir innerhalb dieser Funktion eine hinzugefügt haben. Es geht also automatisch
zum nächsten Artikel, um
zu sehen, wie viel er
kostet. Also jetzt haben wir das. Wir werden
den Preis des Artikels auswählen,
je nachdem, über welchen Artikel
wir sprechen. Jetzt, wo wir
diese Aufzählung haben, können
wir sie einfach anklicken, hierher
ziehen und hinzufügen Jetzt wissen wir bereits, über welches
Element wir sprechen , weil wir es
jetzt in unserer Datentabelle definiert haben In der Datentabelle wissen wir, über welchen
Artikel wir sprechen. ausgewählt Abhängig von
der Aufzählung wird
automatisch
der richtige Wert Fahren Sie einfach fort und verbinden Sie
all diese miteinander. Und es
wird automatisch einen Wert auswählen je nachdem, welchen Wert
dieser Wert hier unten hat. In Ordnung, wir sind
mit dieser Funktion fertig. Bevor wir das beenden,
lassen Sie uns noch einmal etwas verbessern. Wenn ich zum Spielmodus zurückkehre. Denken Sie daran, dass wir das alles
innerhalb der Spawnpunkte des Sets
gemacht innerhalb der Spawnpunkte des Sets
gemacht Eigentlich haben wir
die Elementaufzählung bereits verwendet, aber bei den Get-It-Spawn-Punkten haben wir diesen Schalter für die Zeichenfolge verwendet sogar ein bisschen besser machen Jetzt, wo wir die Aufzählung haben
, können wir
es Lassen Sie mich das einfach löschen und sagen, ändern Sie
das
tatsächlich in Elemente Gehen Sie weiter und wählen Sie es aus.
Das ist der Artikelname. Das ist in Ordnung. Wir können sagen switch on, wir haben switch on enumeration statt switch on string Es ist viel einfacher, weil
es Ihnen automatisch
alle Werte gibt , die Sie in der
Aufzählung
notiert haben der
Aufzählung
notiert Nochmals, mach einfach weiter und füge es hinzu. Jetzt können Sie während der
Spieleentwicklung sehen, dass es einige Dinge
gibt, die Sie in Zukunft benötigen
könnten. Zum Beispiel wollte ich diese Aufzählung vorher nicht hinzufügen, aber jetzt
ist es viel sinnvoller, sie im Spiel
zu haben Es ist immer schön, zu
deinen vorherigen Mechaniken
zurückzukehren deinen vorherigen Mechaniken und Dinge hinzuzufügen
, die besser sind, wenn du sie
während der Entwicklung brauchst Jetzt, wo wir
Gegenstände bekommen haben, ein Punkt. Denken Sie daran
, dass wir auch zum Spieler gehen müssen. Also wenn ich das
Spielerdiagramm öffne , weil du
jetzt eine Ära hast. Denn denken Sie daran, dies ist das vorherige Problem, das wir zuvor hatten. Wir können einer Aufzählung keine Zeichenfolge
hinzufügen, aber jetzt haben wir die Aufzählung
innerhalb der Struktur Wir können es einfach hierher ziehen. Lass diesen Stift stehen und
mach weiter und kompiliere. Mach einfach weiter und gestalte es so
strukturierter. Wenn wir jetzt einfach auf die Platte klicken
, um das Spiel zu testen und zu sehen ob alles so
funktioniert, wie ich sehen kann, funktioniert
alles
genauso gut wie zuvor. Okay, jetzt ist das viel besser. Wir haben unsere neue
Funktion zum Abrufen der Artikelkosten eingerichtet, und wir können damit die Kosten für den Artikel austauschen. Lass uns mit dem nächsten weitermachen.
83. 8.19 Steigende Artikelkosten: In Ordnung, willkommen zurück. Jetzt sind wir bereit, die Artikelkosten zu
aktualisieren. Die Artikelkosten werden
in der Benutzeroberfläche angezeigt. Lassen Sie uns hier die
Artikelkarte des Shops für den Preis öffnen. Gehen wir zur Grafik. Bisher legen
wir nur fest, dass der Preis hier in dem Event-Konstrukt, in
dem wir den Preis festlegen,
statisch ist. Lassen Sie uns das noch einmal
innerhalb eines benutzerdefinierten Events tun, genau wie wir
es für die Anzahl der Artikel getan haben . Lassen Sie mich hier mit der rechten Maustaste klicken und ein neues benutzerdefiniertes Ereignis erstellen. Nennen wir dieses eine
Update Artikelkosten. Nun zu den Artikelkosten, das Ziel hier ist im Grunde nur
, den Text festzulegen. Also werde ich einfach wie zuvor
den
Text zum Artikelpreis verwenden. Das ist letztendlich
das, was wir jetzt für den Artikeltext
tun müssen . Auch hier kommt es darauf an, über welchen
Artikel wir sprechen. Lass mich hier einfach mit der rechten
Maustaste klicken. Dieser Artikel hat gekostet, weil wir jetzt diese Funktionsbibliothek
erstellt haben . Wir können das nehmen und es
aufschlüsseln. Aber jetzt können Sie sehen, dass das Problem darin besteht, dass wir nicht wissen
, welches wir verwenden sollen. Denken Sie daran, dass
wir,
anstatt diesen zu verwenden, einfach einen
innerhalb des Players erstellt haben. Lass uns stattdessen diesen verwenden. Wenn ich den Spielerbauern nehme und das hier
nehme und
sage, die Kosten für den Gegenstand ermitteln, haben
wir diese Funktion
vom Spieler Jetzt
müssen wir nur noch den Gegenstand einstecken,
weil wir das
alles in der vorherigen Lektion gemacht haben ,
wo wir ihn auswählen,
je nachdem, welchen Gegenstand
wir ihm geben. Gehen wir zurück zum Artikel Code. Lass mich das hier oben einfach löschen
. Die Artikelinformationen
haben wir schon, also werde ich sie
einfach einstecken. Jetzt. Wir haben die Artikelkosten. Jetzt können Sie sehen, wie einfach es ist, den
Artikel so zu kosten. Es sieht auch viel sauberer aus, wenn man
Dinge zu Funktionen macht. Lassen Sie mich das
alles hier neu anordnen. Jetzt haben wir die Artikelkosten. Anstatt es hier oben
als statischen Wert festzulegen, werde
ich es einfach löschen. Klicke auf diesen und verstecke
unverbundene Pins hier oben. Was wir sagen können, ist die
Aktualisierung der Artikelkosten. Und nenne im Grunde einfach
die Funktion, die wir sind, das Ereignis, das wir hier unten
erstellt haben. Also aktualisiere auch diese. Okay, das funktioniert jetzt. Das Problem ist, dass wir es genauso wie
den Preis aktualisieren müssen , für alle anderen Artikel oder
andere Orte, an denen wir den alten Artikelpreis
verwendet haben. Denn wenn ich das nur
hervorhebe, wenn ich einfach mit der rechten Maustaste auf
diese Artikelinformation klicke,
denke daran, dass wir hier die Kosten für den Artikel
oder die Münzen haben . Und wir
brauchen es nicht mehr wirklich, weil wir es von diesem bekommen. Was wir tun können, ist, mit der rechten Maustaste darauf zu klicken und Referenzen zu finden. Und ich werde auf
das kleine Symbol hier unten klicken, weil ich
die Referenzen in
allen Bauplänen finden muss .
Wenn ich auf den ersten klicke, schaue ich mir
gerade an und sehe wo ich diese Münzen verwende, weil ich
sie gegen diesen austauschen muss Nehmen wir noch einmal den Spieler,
sagen wir, den Artikelpreis ermitteln. Stecken Sie den Artikel ein, bei dem es sich um
diesen handelt. Stecken Sie es hier ein. Anstatt diesen Artikelpreis zu verwenden, können
wir
stattdessen diesen verwenden. Lass uns das löschen. Sie müssen
es austauschen, da dies der korrekte Artikelpreis
ist, den
Sie gerade verwenden. Gehen wir zurück zu unseren Referenzen und klicken wir auf die nächste. Zeigt nichts an
, da dies
nur der Artikelname ist .
Klicken Sie auf den nächsten. Auch dies sind wieder die
Artikelkosten. Mal sehen,
ob wir das kopieren können. Lass mich das einfach kopieren, damit
ich es nicht noch
einmal auf den Artikel schreiben muss. Wir haben diese
Informationen bereits hier. Stecken Sie es ein, verbinden Sie
es, löschen Sie das. Lass es uns einfach hier
drüben, kompilieren. Lassen Sie uns die Referenzen öffnen. Klicken Sie noch einmal
auf den nächsten, hier
ist nichts. Klicken Sie
auf den nächsten. Jetzt sind wir im Player, also können wir es einfach von hier aus
übernehmen. Hol es dir. Kosten. Und
der Artikel ist hier. Und die Kosten, wir können es einfach wieder hier
einstecken. benutzen wir
nicht. Klicke darauf. Verstecken Sie unverbundene Pins wie diesen. Kompilieren. Gehen Sie noch einmal zu den Referenzen zurück.
Klicken Sie auf den nächsten, Nichts hier. Klicken Sie erneut auf
den nächsten. Und hier verwenden wir auch nicht
die Artikelkosten. Jetzt können wir auf Plate klicken
, um zu sehen, was passiert. Wenn ich jetzt auf Nach klicke,
siehst du, dass die
Artikelkosten nicht aktualisiert werden. Das liegt
natürlich daran, dass wir dieses Ereignis „Artikelkosten
aktualisieren“
nennen müssen . Das macht Sinn
, wenn wir einen Artikel kaufen. Wenn ich zum
Player gehe und wir
zu diesem einen
Kaufartikel gehen , nennen wir ihn hier. Rufen wir es immer dann auf, wenn
wir
zu dieser Map etwas hinzugefügt und die Anzahl der Artikel
, die wir gekauft haben,
aktualisiert haben,
bevor wir die Farbe des
Kauf-Buttons oder die Farbe des Texts aktualisiert haben. Lass es uns hier tatsächlich hinzufügen. Wenn ich einfach von hier wegziehe
und sage Artikelkosten aktualisieren, verbinden
wir es so. Das sollte gut funktionieren. Denken Sie daran, dass dieser Pin
vom Shop-Artikel stammt, da wir eine Referenz von ihm
hatten. Und lass mich einfach auf diesen
klicken. Unverbundene Pins ausblenden,
kompilieren, auf Abspielen klicken. Wenn ich jetzt kaufe, können Sie sehen, dass
der Artikelpreis steigt. Es steigt,
je nachdem, was ich in
die Datentabelle geschrieben habe. Lassen Sie mich jetzt, nur um
sicherzugehen,
die Datentabelle öffnen und sehen, ob
ich die Dinge richtig gemacht habe. Jetzt
sollte Artikel Nummer 15 128 kosten. Artikel Nummer 15 kostet 128 und das ist richtig.
Jetzt können Sie es sehen, und das sollte
für alle funktionieren. Also dieser letzte, Artikel Nummer 11, sollte 929€ kosten Artikel Nummer 11 ist dieser, der letzte kostete 929, das ist
also richtig Jetzt wissen wir, dass das
richtig ist und dass es auch richtig
berechnet wird Weil du jetzt sehen kannst, ob
du auf den letzten klickst, sollte
er 929 subtrahieren Und wenn wir hier drücken, ist
das auch der Fall, alles funktioniert einwandfrei Speichern wir alles und fahren wir mit
dem nächsten fort.
84. 8.20 Das Item-Tooltip-Widget entwerfen: Was ich als Nächstes tun möchte,
ist, wenn wir auf
Spielen klicken und die
Maus über Ich möchte ein paar haben, einen
Tooltip, der dir zeigt, wie viel Schaden pro Sekunde du bekommst oder Schaden du pro Sekunde
bekommst, wenn du diesen Artikel kaufst Lass uns weitermachen und einen Tooltip
erstellen. Klicken wir mit der rechten Maustaste auf die Benutzeroberfläche und erstellen Sie ein
neues Widget, einen Blueprint Nennen wir diesen einen WB-Tooltip. Tooltip, wie dieser. Und
lass es uns jetzt öffnen. Auch hier müssen wir wie gewohnt
eine Leinwand hinzufügen, bevor wir mit dem Entwerfen beginnen. Dann glaube ich, ich
gehe einfach hier rein. Ich werde dieses kopieren,
dieses Overlay und dieses Bild Ich werde C und V hier drinnen
kontrollieren. Ich werde
hier oben auf den Vollbildmodus klicken. Und wählen Sie stattdessen erneut die gewünschte Option
auf dem Bildschirm aus. Für den Ankerpunktsensor ist es rechts 0,5 in der
Ausrichtung für X und Y. Dann klicken Sie ebenfalls auf Größe
zum Inhalt. Und Position x und
Y sollten Null sein. Y Null, jetzt ist es in der Mitte. Okay, jetzt
fangen wir an, es zu entwerfen. Ich mache einfach
weiter und lösche dieses Bild sowie
dieses horizontale Feld. Ich ziehe
den Text einfach hierher. Lösche das horizontale Feld. In diesem Fall werde ich die Größe dieses Textes
reduzieren. Ich denke, es ist vielleicht zu groß. Versuchen wir es stattdessen mit 18. Für den Schatten-Offset. Lass mich stattdessen zwei hier schreiben. Okay, für dieses Bild schreibe
ich, anstatt
dass das Bild eine bestimmte Größe hat, anstatt
dass das Bild eine bestimmte Größe hat, einfach
32, was die Standardgröße ist. Und wir können
es einfach an den Inhalt von
innen nach außen anpassen.
Fangen wir mit dem Text an. Was den Text angeht, müssen wir
zum Beispiel sagen, dass jede Fackel fünf DPS liefert Das wollte ich sagen. Anstatt es nur als Text zu haben, möchte
ich tatsächlich ein vertikales Feld
hinzufügen , weil ich etwas
anderen Text darunter benötige. Lassen Sie uns ein vertikales Feld hinzufügen. Füge den Text zu diesem hinzu. Und fahren Sie einfach fort und drücken Sie
D , um es hier unten zu duplizieren. Ich will damit sagen, dass
es dir anscheinend sagen wird, wenn
du hier oben
zum Beispiel Null DPS machst , wenn
du hier oben
zum Beispiel Null DPS , wie viel DPS dieser Gegenstand gibt Und DPS
ist übrigens,
falls du es nicht weißt, Schaden Also, wie viel Schaden pro Sekunde wird dieser Artikel anrichten, wenn Sie ihn kaufen
? Wie viel
machst du derzeit? Das ist, wenn zum Beispiel 15 davon, es sollte 15 mal fünf
heißen. Und es wird dir sagen,
wie viel DPS du für die Farbe verwendest Ich werde einfach diese
Farbe kopieren, die wir hier haben. Füge es in dieses ein. Und füge es auch in
dieses ein. Jetzt denke ich, dass ich
ihm auch etwas Platz geben werde. Hier können wir ihm zum Beispiel
einen Abstandshalter zwischen den beiden Texten geben einen Abstandshalter zwischen den beiden Texten Geben wir ihm ein Leerzeichen
von zehn und Y. Und geben wir dem
vertikalen Feld auch etwas Schreiben wir 30 und den Abstand,
sodass wir
jetzt einen gewissen Abstand für den DPS haben Ich möchte auch
die Textfarbe ändern , weil
ich finde, dass es
besser aussieht , wenn wir hier ändern, wie sehr DPs die Textfarbe
mögen, weil sie
einfacher zu Nun, wir können es nicht wirklich
nur mit einem Text
machen , weil es sonst die Farbe
des gesamten Textes
ändert Stattdessen
müssen wir diesen Text duplizieren, indem wir auf
Strg D
klicken . Fügen wir ihn
in ein horizontales Feld ein, weil wir ihn nebeneinander haben müssen. diese beiden
zu einem horizontalen Feld hinzufüge, ich diese beiden
zu einem horizontalen Feld hinzufüge, lösche ich die fünf DPS aus diesem und
dem anderen Ich werde den
gesamten anderen Text
bis auf die fünf
DPS wie diesen löschen bis auf die fünf
DPS wie Denken Sie daran, hier ein Leerzeichen hinzuzufügen. Also klicke ich auf diese eine Werbefläche. Nun, so sieht es aus. Jetzt können Sie sehen, dass der Raum etwas zu groß
ist. Ich werde
das Leerzeichen tatsächlich löschen und stattdessen
ein Leerzeichen hinzufügen,
weil wir jetzt kontrollieren können, weil wir jetzt kontrollieren können wie viel Abstand
zwischen den Zeichen ist Und ich werde vier in das
X
schreiben . Ich finde, das
sieht viel besser Lass uns das
Gleiche hier unten tun. Ich werde diesen einfach
duplizieren. Eigentlich, lösche
den hier unten. Zieh es so unter
dem Abstandshalter runter. Dann können wir hier unten zum Beispiel
Null DPS schreiben hier unten zum Beispiel
Null DPS Wir können derzeit mit null
DPS schreiben. Ich möchte zum Beispiel
sicherstellen, dass dieses horizontale Feld zur Mitte
ausgerichtet ist,
ebenso wie dieses andere
horizontale Feld ebenfalls zur Mitte
ausgerichtet Lassen Sie uns nun die Farbe der
fünf DPS oder des
DPS-Textes hier oben ändern fünf DPS oder des
DPS-Textes hier oben Ich werde es in
etwas Violettes wie dieses ändern. Du kannst versuchen,
die Farbe zu finden , die du magst, vielleicht so
etwas. Was die Sättigung angeht, möchte
ich nicht, dass sie
zu gesättigt sonst ist sie etwas zu
schwer zu lesen. Ich werde es
auf etwa
0,42 einstellen . Das ist für die
Lautstärke, eins ist in Ordnung Klicken Sie auf Okay, das ist
ein anderer Text. Jetzt können Sie ihm
etwas mehr Sättigung verleihen. Zum Beispiel 0,445 Sie können dies auch in den
anderen kopieren Jetzt
möchte ich auch
die Schattenfarbe darunter ändern die Schattenfarbe darunter weil
sie
nicht mehr passt. Ich werde das einfach hier
oben auf der Grundlage dieser beiden kopieren. Ändere es so, dass es etwas
sehr Dunkles wie dieses ist. Vielleicht 0,4,
so etwas wie 0,4 die Cola. Dann mach weiter und kopiere das über die Schattenfarbe hinaus
und sieh es dir an, und ich denke, es
sieht viel besser Lassen Sie mich diesen
Wert hier oben stattdessen auf 0,4 ändern. Bei der Farbsättigung kopiere ich diese
Farbe einfach nach unten. Und ich werde
die Konturfarbe auch hier
unten kopieren . Jetzt können Sie sehen, dass es
eine andere Farbe hat
und viel einfacher zu lesen ist. Ich glaube, wir sind mit
der Gestaltung dieses Modells fertig. Lass uns mit dem nächsten weitermachen.
85. 8.21 Aktualisieren der Tooltipp-Informationen: Lassen Sie uns nun weitermachen und
die Tooltip-Benutzeroberfläche hier aktualisieren. Gehen wir zur Grafik und aktualisieren wir die Informationen
tatsächlich Ich werde das alles löschen. Und lassen Sie uns noch
einmal mit der rechten Maustaste klicken und ein neues benutzerdefiniertes Ereignis namens
Update Tooltip UI Nun zu diesem Thema, was
wir im Grunde
tun wollen, ist,
den Text dieser zu ändern Der erste, siehe hier,
da steht der Name des Artikels. Wir brauchen hier einen dynamischen Wert, wir brauchen den Namen jedes Elements. Klicken Sie auf dieses, ich nenne
es einfach, es gibt PS. Dieser Text hier oben. Ich nenne es
einfach, wie viel Schaden pro Sekunde wird dir dieser
Artikel geben? Wie DPS wird dieser
Artikel funktionieren? Oder wie viel du hier oben machen
wirst. Ich
nenne es einfach PS. Ich nenne
es einfach genauso , gibt DPS-Betrag Das ist der Betrag hier unten. Ich
nenne es einfach PS. Das ist die Menge an PS. Okay, lassen Sie uns kompilieren
und sagen
wir, gehen wir jetzt zurück zur Grafik. Fangen wir mit dem
gibt P an, dem ersten Text. Wir wollen den Text einfach
wie gewohnt so einstellen. Denken Sie jetzt daran, was
ich vorhin gesagt habe. Ich habe bereits gesagt, dass Sie,
wenn Sie einen dynamischen
Text wie diesen haben, einen Formattext verwenden müssen. Schreiben wir von hier aus
und sagen Text formatieren. Schreiben wir einfach
denselben Satz. Da steht, dass jeder geben soll. Was wir hier
schreiben müssen, ist jeder. Und dann müssen wir
die geschweifte Klammer öffnen , weil die
Fackel ein dynamischer Wert ist Wir
sagen einfach den Elementnamen und schließen ihn mit den
geschweiften Klammern (Enter).
Sie können sehen, dass
jeweils eine Eingabe erscheint und der
Elementname so aussieht Und jetzt können wir
den Artikelnamen eingeben, wir benötigen tatsächlich die
Artikelinformationen. Um das zu tun, fügen wir hier
einfach einen Pin hinzu, ändern ihn in die
Artikelinformationsstruktur und nennen ihn Artikel. Jetzt können wir das nehmen, wir können es kaputt machen und wir können den Artikelnamen
nehmen und ihn hier
einstecken. Und es wird korrekt
aktualisiert. Okay, das ist fertig. Schauen wir uns als Nächstes
diese Menge an DPS an. Nehmen wir, gibt den PS-Wert an
und stellen den Text noch einmal ein. Auch jetzt
brauchen wir im Grunde einen Formatierungstext
wie zuvor. Also mach weiter und nimm das. Anstatt das zu sagen, können
wir EPS-Betrag sagen
und wir können DPS sagen, hier
die Zahl, und danach
den Text DPS Jetzt müssen wir den
DPS-Betrag eingeben. Jetzt
haben wir das nicht Wir müssen es tatsächlich hinzufügen
und wir müssen es dem Artikel hinzufügen
,
weil jeder Artikel, den wir kaufen seine
eigene Menge an DPS haben
sollte Gehen wir zu den
Blueprint-Strukturen und öffnen wir die TM-Informationen Fügen wir eine neue
Variable namens DPS oder Schaden pro Das liegt an dir.
Verwandle es in ein Float ,
speichere, speichere alles. Denken Sie jetzt daran, dass Sie
es
auch
über Google Sheets zur Datentabelle hinzufügen müssen . Aber vorerst öffne ich
nur die M-Informationen. Du kannst hier einfach schreiben,
was du willst. Ich werde einfach 10.20
und 30 oder vielleicht 50 schreiben. Ich werde es nur
für die ersten drei schreiben, nur zum Testen. Ich
brauche es jetzt wirklich. Wir brauchten nur den
Wert hier in der Artikelinformation. Jetzt hast du dieses DPS, mach weiter und schließ es hier Und das sollte gut funktionieren. Lassen Sie uns nun für den Rest das Doing DPS nehmen. Jetzt. Es ist der Text hier unten. Es wird heißen, dass ich es
derzeit tue. Jetzt können Sie
hier sehen, dass wir
keine dynamischen Werte haben und wir diesen Text
nicht wirklich
ändern müssen. Wir müssen
diesen Text eigentlich nicht manipulieren. Wir müssen nur diesen ändern. Gehen wir zurück und nehmen den
Betrag namens Geschenke, PS-Betrag. Stellen Sie stattdessen Text ein. Wir müssen es auf den Betrag einstellen. Ich werde diesen einfach kopieren. Und dieser zeigt die Gesamtmenge an DPS für
diesen Artikel an, die Sie verwenden können Ich werde hier einfach die
Gesamtmenge an DPS und
danach nur noch DPS schreiben Gesamtmenge an DPS und
danach nur noch DPS Ich habe es nicht angeschlossen.
Die Gesamtmenge an DPS hängt nun
davon ab, wie viele
Artikel Sie gekauft haben Und denk dran,
das haben wir bereits im Player. Wir brauchen einen Hinweis
auf den Spieler. Lass uns das machen. Hier ist es übrigens,
Spielercharakter,
versuche das selbst zu machen, wenn du kannst. Weil ich denke, dass du es schaffen kannst. Wir haben bereits die Variable, die Kartenvariable innerhalb des Players,
die
Sie verwenden müssen, sagen
wir, es ist eine
Spielerreferenz aus der
Blueprint-Oberfläche Mach weiter und verbinde dich. Jetzt hieß
es Item Spot. Mach weiter und hol dir diese Karte hier. Nun müssen wir anhand dieser Karte den Gegenstand
finden, mit dem
wir arbeiten. Ich ziehe
hierher und sage Finden. Und wir müssen den Gegenstand finden. Und wenn wir den Artikel finden, wird
es uns sagen, wie viele von diesem Artikel
wir gekauft haben. Ziehen wir das einfach ganz hierher. Jetzt haben wir die Anzahl
der Artikel, die wir gekauft haben. Um den gesamten Schaden pro Sekunde zu berechnen, musst
du die Anzahl der Artikel, die du gekauft hast,
mit
der Anzahl der DPs oder der Menge pro Sekunde multiplizieren , die jeder Artikel
hat Nehmen wir diesen und multiplizieren
ihn mit der Menge an
PS, die jeder Artikel Und damit haben wir die Gesamtmenge an DPS, die
wir hier anschließen können Mach weiter und stecke das auch hier
ein. Jetzt sind wir tatsächlich fertig, also machen Sie weiter und klicken Sie auf
„Nicht verbundene Pins ausblenden Machen Sie weiter und
doppelklicken Sie darauf, um neue Kunstnotizen zu erstellen und Ihren Code
zu organisieren Ordnung, jetzt
ist das organisiert und wenn das fertig ist,
kompilieren Sie und speichern Sie alles. Und jetzt sind wir mit der
Aktualisierung des Dual-Tip I fertig.
86. 8.22 Das Tooltip-Widget anzeigen: Jetzt ist es an der Zeit,
dieses von uns erstellte Tooltip-Widget
anzuzeigen dieses von uns erstellte Tooltip-Widget Um das zu tun,
müssen wir das innerhalb
des Shop-Artikels Cod machen. Denken Sie daran, dass dieser
Tooltip angezeigt werden soll, wenn
wir auf Play klicken . Immer wenn wir mit der Maus
über diese Karten fahren, sie sich tatsächlich
im Shop-Artikel. Das machen wir Lass uns hier reingehen. Ich möchte dieses Widget anzeigen. Immer wenn ich mit der Maus über
etwas auf dieser Karte fahre, klicke
ich einfach auf
dieses Overlay und mache es Das bedeutet, dass überall dort, wo wir den Mauszeiger auf dieser
Karte bewegen, sie angezeigt wird Klicken Sie auf dieses Overlay. Ich gehe hier in das Menü Verhalten und
klicke auf Erweitert Hier unten siehst du dieses Tool
namens Tool Tip Widgets. Fahren Sie fort und klicken Sie auf Binden
und erstellen Sie eine Bindung. Dann mach weiter und erweitere das. Jetzt brauchen wir das
Widget, das wir erstellt haben, das Shop-Tooltip-Widget Wir haben keinen Verweis darauf erstellt
, da wir normalerweise
Verweise auf die Benutzeroberfläche innerhalb
der Play-Steuerung erstellen Verweise auf die Benutzeroberfläche innerhalb
der Play-Steuerung Für dieses Widget haben
wir jedoch nicht wirklich etwas
erstellt. Ich möchte es nicht hier drinnen
erstellen , wie wir es bisher getan haben. Weil es nichts ist, was
man öffnen und schließen kann. Es ist einfach etwas, das
immer dann erscheint, wenn Sie mit
der Maus über Karten Anstatt es hier zu tun. Was ich tun werde, ist
normalerweise, dass meine Ereignisse, die ich in meinen Spielen finde,
als Initialisierungsschicht bezeichnet In diesem Event füge
ich alles hinzu, was ich brauche, was passieren soll,
wenn ich das Spiel öffne Zum Beispiel muss dieses
Tooltip-Widget erstellt werden, sagen
wir, Widgets erstellen. Und fahren Sie fort und wählen Sie
das Tooltip-Widget aus, diesen einen Shop-Tooltip Und mach weiter und mach daraus eine Variable namens Shop-Tooltip Zum Beispiel Shop Tool, Okay. Das ist jetzt erstellt, und
denken Sie auch daran, es hier hinzuzufügen. Ich werde das tun, bevor ich die Karten erstelle. Jetzt
ist es nicht wirklich wichtig. Aber nur um hier sauber zu bleiben. Der Spieler wurde initialisiert. Jetzt rufen wir
dieses Ereignis hier unten auf,
stellen es in Verbindung, was auch immer
ich brauche, um zu passieren Wenn ich das Spiel öffne, füge
ich es
dem ersten Spielerevent hinzu. Jetzt haben wir einen Verweis
auf dieses Tooltip-Widget. Also, was wir jetzt
innerhalb der Karte machen können,
wir können uns den Player-Controller holen, den Player-Controller
holen Dann können wir
von hier aus weiterleiten und sagen, die
Player-Controller-Referenz
aus dem Widget-Blueprint abrufen Player-Controller-Referenz
aus dem Widget-Blueprint Jetzt können wir diesen
nehmen und Tooltip sagen, und wir können dieses
Widget bekommen, das wir gerade erstellt Für dieses Widget müssen wir,
wenn ich zurück zum Widget-Shop gehe,
Tooltip hier aufrufen wenn ich zurück zum Widget-Shop gehe .
Denken Sie daran, dass wir die Tooltip-Benutzeroberfläche
aktualisiert haben Nennen wir diesen einen
Update-Tooltip, den ich angeschlossen habe. Jetzt braucht es einen Artikel
, weil wir ihn verwenden, um im Grunde alle Informationen zu aktualisieren,
die wir haben. Das liegt daran, dass wir uns im
Shop-Artikelcode befinden und wir diese
Artikelinformationen zuvor erstellt haben, die wir auch
hier verwendet haben, um die Artikelinformationen zu aktualisieren. Nehmen wir diesen
und stecken ihn hier ein. Und dann verbinde das. Denken Sie auch daran,
dieses Widget-Tool hier mit
Putt und dem letzten Knoten zu verbinden hier mit
Putt und dem letzten Knoten zu Auch hier können Sie
doppelklicken. Sie haben sich so organisiert. Okay, das sollte funktionieren. Wenn wir kompilieren und
alles speichern. Und wenn ich auf Play klicke, kannst
du jetzt sehen, dass es tatsächlich mit dem richtigen
Namen für das Objekt
angezeigt wird. Sie können sehen, dass jeder Lauf
eines Gegenstands oder jeder Lauf von Zeit angezeigt wird, und der Beschützer schützt
jeden Königshelm, jede Königskrone und so weiter Jetzt wird auch
der Tooltip mit
den richtigen Informationen angezeigt .
Jetzt gibt es ein Problem. Wenn ich jetzt
erneut auf Play klicke und etwas kaufe, siehst
du, dass kein DPS und nichts
wirklich angezeigt wird Lassen Sie uns nun
versuchen, es zu schließen und überprüfen wir in der Datentabelle,
ob wir die Dinge richtig geschrieben haben Wenn ich die
Artikelinformation öffne, sollte der erste DPS, die Lichtfeder 1020
sein, dann 50. Und wenn ich auf Play klicke
und ankreuze, dass der
erste Wert
1.020,50 sein sollte und ich sehe, dass hier
nichts angezeigt Aber du kannst hier sehen, dass jedes
Mal, wenn ich etwas kaufe, es tatsächlich korrekt angezeigt wird Wenn ich meine Maus bewege und wieder mit der
Maus drüber fahre, wird 20 DPS angezeigt Schauen wir uns an,
wo es schief geht. Wenn ich das
Shop-Tools-Widget öffne, gibt es mir
die Informationen
hier, erste wurde aufgerufen, DPS Dieser gibt den DPS-Betrag
an. Das ist richtig Schauen wir uns an, wie
der DPS-Betrag angegeben ist und wie dieser festgelegt wird Schauen wir uns auch den
anderen Teil des Codes an, und hier geht es tatsächlich
schief Weil ich den angegebenen
DPS-Betrag verwende, anstatt den DPS-Betrag zu verwenden, ist
das falsch Lassen Sie mich
diesen hier einfach löschen und kompilieren. Klicken Sie auf Play und wenn
ich mit der Maus darüber fahre, wird es
jetzt korrekt angezeigt Das lag daran, dass ich
den Text hier falsch gesagt habe. Text, der EPS macht, ist der richtige und gibt an, dass
DPS auch korrekt war Okay, wenn ich jetzt etwas kaufe, kannst
du sehen, dass es immer noch
Null anzeigt, wenn ich gerade Aber wenn ich mich
davon entferne und wieder dorthin übergehe, können
Sie sehen, dass es korrekt
angezeigt wird. Wenn ich mich entferne oder zu
ihr gehe, wird sie korrekt angezeigt. Bei den derzeit 30 DPS müssen
wir
den aktuellen
DPS wie an einem anderen Ort aktualisieren , da er nicht sofort
aktualisiert wird Was wir tun können, ist, dass ich
dieses Update bei
jedem Kauf eines Artikels ToolPi aufrufen kann dieses Update bei
jedem Kauf eines Artikels ToolPi Wenn ich alle schließe, gehe
ich zurück zu den Bauplänen Öffne den Player hier. Wir haben diesen einen Kaufartikel gemacht. Was wir hier mit
dem Kaufartikel machen können , ist, dass ich ihn einfach hier aktualisieren
kann. Am Ende brauchen wir
den Player-Controller. Ich nehme den
Player-Controller und erhalte Tooltip-Widget
, das wir erstellt haben. Lassen Sie uns dann jedes Mal, wenn wir einen Artikel
kaufen, die
Update-Tooltip-Benutzeroberfläche ausführen jedes Mal, wenn wir einen Artikel
kaufen, die
Update-Tooltip-Benutzeroberfläche Und was ist der Artikel? Es ist dieser, den wir hier eingegeben
haben. Nehmen wir das und
schließen es wieder an. Organisiere es einfach so. Und lass uns kompilieren und auf Play
klicken und
sehen, was passiert. Wenn ich jetzt kaufe, können Sie sehen, dass die Schadenssumme pro
Sekunde sofort
aktualisiert wird und dass es auch korrekt
aktualisiert wird,
je nachdem, welches GPS wir erstellen. Um das zu beenden,
öffne hier dein Google
Drive.
Lass uns die
Level-Informationen finden, die Artikelinformationen hier, Artikelinformationen und danach, was
die Münzen kosten. Lassen Sie uns DPS hinzufügen. Für das TPS schreibe ich einfach für das erste Element, es macht fünf DPS und
dann sagen wir einfach gleich Ich werde einfach
Zufallszahlen mit
1,5 multiplizieren lassen . Ich werde
es einfach bis hier unten machen Ich werde einfach alle Dezimalstellen entfernen , weil
ich sie nicht benötige. Und wir können es
ungefähr so machen. Man kann auch
sagen, multipliziert mit 1,8 Wir richten tatsächlich
mehr Schaden an wir nun diese CSV-Datei
herunter und denken Sie daran, diese Datei umzubenennen
und T item
info umzubenennen Fahren Sie fort und
öffnen Sie das Projekt. Gehen Sie zu den Datentabellen, fahren Sie dann fort und importieren Sie die
Artikelinformationen hierher. Lassen Sie uns die
Artikelinformationen überprüfen, um
sicherzustellen , dass TPS
vorhanden ist. Und das ist es auch Und so können Sie jetzt sehen jeden Artikel die richtige
Menge an DPS angezeigt wird Und wenn Sie etwas kaufen, wird der
aktuelle DPS korrekt angezeigt Offensichtlich machen
wir momentan
nicht wirklich DPS, weil wir
keinen automatischen Schaden haben Aber zumindest
funktioniert unser System jetzt , sodass wir den Kurs
fortsetzen können
87. 9.01 Schäden automatisch anwenden: Es ist jetzt an der Zeit, dem Feind
automatisch
Schaden zuzufügen Und das wird normalerweise
in
Clicker-Spielen gemacht, wenn du es kaufst Und es verursacht Schaden pro Sekunde. Es sollte es
automatisch tun,
anstatt dass du weiter auf den Feind klickst. Lass uns weitermachen und das tun.
Lass uns das im Player machen. Gehen wir zurück und
gehen in den Player. Jetzt haben wir schon etwas
mit dem Schaden hier drinnen gemacht . Im Inneren des Spielers, oder
eigentlich war es im Inneren des Feindes, wo wir hier
etwas Schaden angerichtet haben. Lasst uns nun etwas Schaden
im Inneren des Spielers anrichten. Das ist jetzt der
Spieler, der Schaden anrichtet. Lassen Sie uns mit der rechten Maustaste klicken und
ein neues benutzerdefiniertes Ereignis erstellen. Nennen wir das Auto Damage. Wird bei diesem automatisch
Schaden anrichten. Um den automatischen Schaden zu verursachen, brauchen
wir etwas, das sich wiederholt. Wir brauchen einen Looping-Code
, der ständig
läuft und der nie aufhört und Schaden
anrichtet Sie haben so etwas wie
einen Timer. Wir haben etwas, das Event genannt wird. Stellen Sie den Timer nach Ereignis ein. Sie haben auch etwas, das nach dem Funktionsnamen
set tim genannt wird. Jetzt sind sie sich ähnlich. Diese beiden Funktionen
sind ähnlich. Normalerweise benutzen wir sie, wenn
wir etwas Looping brauchen. Wir verwenden den Delay-Node
immer dann, wenn wir Code
verzögern und danach etwas
tun müssen Code
verzögern und danach etwas
tun Denkt daran, dass
wir den Delay-Node innerhalb
der feindlichen Basis verwenden. Wenn ich hier reingehe, verwenden
wir das, um den Code tatsächlich zu verzögern , weil wir darauf
gewartet haben, dass der Flip vorbei ist. Wir haben den Code um die
Länge des Flipbooks verzögert
und dann überprüft, ob der Spieler oder der Feind tot war oder nicht. Hier nutzen wir die Verzögerung. Wenn Sie etwas
benötigen, das in einer Schleife läuft, muss
der Code in einer Schleife laufen Es ist besser, einen Timer zu verwenden. Wir haben einen Timer nach
Funktionsnamen und einen Timer nach Ereignis. Jetzt spielt es keine
Rolle, welche Sie verwenden, da sie
fast identisch sind. Eigentlich verwende ich beide, also habe ich nicht wirklich
eine Präferenz. Ich kann Ihnen zeigen
, wie man sie für das
T benutzt . Lassen Sie uns zuerst den
Timer nach Ereignis verwenden. Lassen Sie mich das
hier rüberstellen und das hinauszögern. Lassen Sie uns das
zuerst per Event verbinden. Du musst es dem Timer sagen. Wie schnell möchtest du loopen? Ich möchte zum Beispiel alle 0,1 Sekunden eine
Schleife wiederholen. Das bedeutet, dass der Code alle 0,1 Sekunden ausgeführt wird
. Der Code hier wird zehnmal pro Sekunde
ausgeführt. Ich werde es auf
Looping setzen. Jetzt brauchen wir eine Veranstaltung Ich werde das hier runterziehen
, direkt bei der benutzerdefinierten Veranstaltung. Nennen wir das
Auto Damage Loop. Welchen Code du auch schreibst, er ist jetzt
raus und
wird in einer Schleife wiederholt. Zum Beispiel, wenn ich
von hier ziehe und
eine Print-Zeichenfolge schreibe und sie sollte Hallo
sagen und ich kompiliere. Jetzt dieser Autoschaden, du
musst offensichtlich irgendwohin rennen und ich werde es einfach
am Anfang ausführen. Spiel hier oben. Und lasst uns schreiben, Schaden anrichten. Jetzt veranstalten wir
diese Veranstaltung hier. Und es wird diesen
Timer ausführen, der den Code wiederholt. Kompilieren Klicken Sie auf Play. Es führt diesen Code tatsächlich aus
und er läuft immer noch. Wie Sie hier sehen können, läuft es oder es sagt
zehnmal pro Sekunde Hallo. Wenn ich zum Beispiel 0,04 schreibe und
auf Play klicke, kannst du
sehen, dass es viel schneller Wenn Sie nicht
gut in Mathe sind, können
Sie
es jederzeit berechnen, indem Sie zum Beispiel
1/0 0,04 sagen. Das bedeutet, dass der Code
25 Mal pro Sekunde ausgeführt wird Nun ein Häkchen,
vielleicht kennst du diesen ich dir immer sage
, dass
du Event nicht verwenden sollst Dieser sehr schlechte läuft tatsächlich
bei, wenn Sie recht haben,
1/0 0,02, das ist
tatsächlich 50 Mal, dieser Event-Tick läuft 60 Dieser ist eigentlich
nicht einmal genug. Es läuft vielleicht
0.18 oder sogar niedriger. Wie Sie sehen können,
ist Event Tick super, super schnell. Es läuft tatsächlich so. Das Complay, das ist das Event. Sie können sehen, der
Timer ist viel optimierter. Sie können den Code
nicht annähernd so schnell ausführen, aber Sie können immer noch die
gleichen Ergebnisse erzielen, wenn ich ihn mit
0,05 ausführe . Das bedeutet, dass ich den Code
20 Mal pro Sekunde
ausführe Das ist manchmal
notwendig, denn wenn Sie den Code zu langsam ausführen, fühlt
es sich an, als ob
die Statusleiste hinterherhinkt,
weil dadurch die Gesundheit auf diese Weise beeinträchtigt wird . Dies ist der Fall, wenn Sie
den Timer zu langsam laufen lassen. Und das können wir tatsächlich sehen,
wann immer wir das alles tun. Jetzt den Timer
nach Funktionsnamen einstellen. Der Unterschied zwischen diesen beiden darin, dass eine Funktion in einer
Schleife ausgeführt wird, eine Funktion, die wir hier erstellen. Ich werde diese tatsächlich
verwenden, weil ich
hauptsächlich diese
verwenden möchte, weil sie den Code sauber
hält. Ich muss
mein Ereignisdiagramm nicht mit
zufälligen Ereignissen schreiben oder spammen . Ich kann eigentlich einfach
eine Funktion erstellen und sie ist
versteckt, und
für diese Funktion ist es viel sauberer Nennen wir es Autodamage. Lassen Sie uns
diese Funktion auch hier einrichten. Es wiederholt den
Namen, den Sie hier geschrieben haben. Es wird
diese Funktion wiederholen. Denken Sie jetzt daran, dass Sie
es genau so schreiben müssen , wie Sie es hier geschrieben
haben. Damit es funktioniert, steige ich
um 0,05 oder lass uns tatsächlich um 0,14 erhöhen. Jetzt versuchen
wir das. Lass
mich das löschen Lassen Sie mich das auch löschen. Lass es mich verbinden,
lass uns das schreiben, es zu einer Variablen hochstufen, damit wir den
Timer stoppen können, wenn wir ihn brauchen. Ich nenne
es einfach Auto Damage Handle, denn wenn Sie
die Maus darüber halten, wird angezeigt,
dass es sich um einen
Timer-Griff oder einen Damage-Handle handelt. Wir können es verwenden, um den
Code zu stoppen oder den Timer zu stoppen. Nun, im Grunde genommen dieser Schaden, ich möchte ihn hier oben im Event
ausspielen oder mit dem
Spielen für den Spieler beginnen. Immer wenn wir das Spiel starten, wir an, den Orodamage zu Natürlich richten wir keinen Schaden an , wenn wir noch
keine Artikel gekauft haben Gehen wir hier zur Funktion Oder
Schaden. Genau wie zuvor möchte
ich
Schaden anrichten und jetzt ist der beschädigte
Akteur der Feind. Und denken Sie daran, dass
wir im Play-Controller einen Hinweis auf den Feind haben. Ich nehme den
Player-Controller und suche nach gespawnten Feind, weil
wir ihn zu
einer Variablen gemacht haben , und
verbinde ihn Was nun den Basisschaden angeht, werden
wir in der nächsten Lektion
damit arbeiten Im Moment schreibe ich nur fünf und das sollte gut
funktionieren. Jetzt Flic, spiel. Sie können jetzt sehen, dass der Feind automatisch beschädigt
wird Und es sieht gut aus. Aber wir müssen
natürlich einige
der Animationen hier korrigieren. Jetzt möchte ich dir zeigen
, dass es sich verzögert anfühlt, wenn du dieses Mal sagst. Oder zu langsames Spiel, es sieht verzögert aus, es
sieht von schlechter Wenn Sie
es jedoch auf etwas wie
0,04 einstellen , was ich eigentlich setzen
möchte, sieht
es viel sauberer Je niedriger Sie es einstellen, desto sauberer wird es
aussehen, so wie Sie können hier sehen, dass es viel reibungsloser
läuft. Denken Sie jedoch daran,
je niedriger Sie ihn einstellen, desto mehr werden
Sie diesen Timer und desto mehr Ressourcen
werden Sie in Ihrem Spiel verwenden
und desto weniger
optimiert wird es sein Ich möchte dir
hier sagen, dass vier Timer
versuchen sollten, ihn so
hoch wie möglich einzustellen ohne
das Aussehen des Spiels zu beeinträchtigen Wenn ich denke, dass 0,05 für Leggy steht, setze ich es auf 0,04
und ich werde mit dieser Zahl zufrieden sein Auch
hier kannst du reingehen und sagen, was 1/0
0,04 ist . Das bedeutet, dass mein Code 25 Mal ausgeführt wird.
Das ist gut Das ist in Ordnung. Viel besser
als der Event-Tick , der 60 Mal pro Sekunde ist. Okay, jetzt sind wir mit
all dem fertig und fahren
wir mit der nächsten Lektion fort.
88. 9.02 Den Gesamt-DPS berechnen: Um die richtige
Schadenssumme anzuwenden, müssen
wir berechnen wie viel Schaden der Spieler pro
Sekunde Da der Spieler all diese Gegenstände
kaufen kann, müssen
wir alles
zusammenfügen und es dann als automatischen
Schaden auf den Feind
anwenden. Lassen Sie uns das tun, indem wir eine neue Funktion
erstellen. Und dieser wird Update Total EPS
heißen. Zuerst benötigen wir alle Artikel
, die der Spieler gekauft hat. Nehmen wir diese Karte.
Um das zu tun, haben
wir zwei Funktionen. Wir haben zwei Knoten. Wir können einen benutzen, den man Schlüssel nennt. Was Schlüssel sind, ist die
erste Spalte hier, die Zeichenfolge. Das
nennt man Schlüssel. Wenn ich nach unten gehe und Werte sage, dann kannst du die
Werte dieser Schlüssel abrufen. Wir haben hier Schlüssel
, das sind die Zeichenketten, und dann haben wir die Werte. Jetzt brauchen wir alle Gegenstände
, die der Spieler gekauft hat, also müssen wir die Schlüssel benutzen. Ich werde
diese Schlüssel hierher bringen. Jetzt haben wir alle
Elemente in einer Reihe. Ich werde sie alle
durchgehen. Für jeden Loop, für
jedes dieser Elemente wollen
wir wissen, wie viel Schaden pro
Sekunde sie machen Denken Sie daran, dass wir für den DPS die
Option Get Item Info,
Get Info haben , die wir aus
der Funktionsbibliothek Machen wir weiter und holen uns
das für den Artikelnamen. Lass es uns hier einstecken. Und jetzt können wir
diese Struktur durchbrechen . Und jetzt
haben wir die Menge an DPS Nun wieder die Menge an DPS. Sie hängt auch
davon ab, wie
viele Artikel wir von diesem ausgewählten
Artikel
gekauft haben , den wir gerade haben Wir müssen auch die Werte verwenden. Ich werde
das hier kopieren und
Werte angeben , weil wir wissen
müssen, wie viel wir tatsächlich von diesen Artikeln
gekauft haben. Bei den Werten werde ich von hier aus
weiterleiten und „
get“ sagen , weil wir uns hier bereits in einer Endlosschleife befinden, sodass ich das
nicht wiederholen muss Also sage ich einfach
, besorgen Sie sich eine Kopie. Welchen Index möchtest du haben? Ich werde einfach
den
Indizes oder Indizes für diesen Artikel folgen , damit wir die richtige
Anzahl von Elementen
für den entsprechenden Artikel erhalten für den entsprechenden Artikel Was wir nun damit machen können,
wir können sagen, das ist die Anzahl
der Artikel multipliziert mit DPS Wenn wir zum Beispiel fünf von dem Artikel
haben, heißt
es fünf Mal Zum Beispiel sind zehn DPS zehn. Dann benötigen wir eine neue Variable
, um den gesamten DPS zu speichern. Ich werde eine neue
Variable namens Total DPS erstellen. Ich ändere es nicht in ein Float. Was wir jetzt tun können, ist die
alte Menge an DPS, los, den DPS, den wir gerade berechnet haben
,
wir können ihn hier auf
den neuen DPS setzen Wenn wir das nicht tun, wenn
ich einfach alles verschiebe,
wenn wir das hier machen
und es verbinden, bedeutet das, dass jedes
Mal, wenn es berechnet,
dieses EPS tatsächlich auf
diese Zahl gesetzt wird Und das wollen wir nicht, weil wir alle Elemente durchgehen und im Grunde alle Zahlen
stapeln Und multiplizieren und multiplizieren und ergänzen
Sie
diese Variable weiter und ergänzen
Sie
diese Anstatt sie
auf einen statischen Wert zu setzen, müssen
wir
den alten Betrag des gesamten
DPS-Werts zu Und wir erhalten hier den neuen Betrag,
und wir können hier im Grunde den gesamten DPS
festlegen Jetzt haben wir den gesamten DPS. Und vielleicht bekommen wir auch eine Zahl oder nicht wirklich einen Dollar,
aber wir zeigen einen Dollar an, wo es weiter berechnet wird und
vielleicht wird die Zahl an
einem bestimmten Punkt falsch angezeigt Was ich tun möchte, ist, dass
ich,
anstatt den gesamten DPS zu verwenden, eine neue Variable
erstellen werde,
eine lokale Variable namens Das ist eine lokale Variable, die nur innerhalb dieser
Funktion
existiert, in der wir uns gerade befinden Ich werde hier tatsächlich
die lokale Variable verwenden , um die Menge an DPS festzulegen Denken Sie jetzt daran,
dass
die lokalen Variablen nicht außerhalb
der Funktionen Wenn Sie das nächste Mal versuchen, den DPS zu
berechnen, wird
dieser Wert Null sein Diese lokalen Variablen werden jedes Mal
gelöscht, wenn Sie
versuchen, diese Funktion auszuführen Aus diesem Grund können Sie dies nicht
außerhalb dieser Funktion verwenden. Im Grunde müssen wir, wenn wir die Schleife abgeschlossen haben
und diese
Gesamtmenge an DPS eingestellt haben, diese
lokale Menge an DPS nehmen und wir können die
gesamte DPS Sie können es
so machen, oder Sie können es
im Grunde
direkt hier oben machen Es ist nicht wirklich
wichtig, aber ich kann mir vorstellen, dass es in Zukunft eine
Displaybox geben wird. Wenn nicht alles
in Ordnung ist, können
Sie
hier einfach den gesamten DPS anstelle des lokalen Ich werde es einfach so
machen. Und jetzt haben wir
den gesamten
DPS-Wert eingestellt und können alles speichern Wir können hier klicken,
unverbundene Pins ausblenden, wenn Sie möchten, und wieder alles neu
organisieren Nun, da wir
die richtige
Anzahl an TPS haben , die wir machen, gehen
wir zur nächsten Lektion über
und beenden
den und beenden
den
89. 9.03 Den richtigen Schaden anbringen: wir nun die
korrekte
Schadenssumme
oder den gesamten Schaden pro Sekunde berechnet haben , gehen
wir noch einmal zur automatischen
Schadensfunktion über und lassen uns die richtige
Schadenssumme berechnen Anstatt
hier zu schreiben oder einfach den gesamten Schaden pro Sekunde hierher zu
ziehen
und ihn hier anzuwenden, ist
das falsch, weil du auf Jetzt spielen
klickst und etwas
kaufst Und du kannst
hier sehen, dass es momentan keinen
Schaden anrichtet,
weil wir dieses
Update tatsächlich ausführen
müssen, total Lassen Sie uns das tatsächlich im Player machen , wenn wir einen Gegenstand
kaufen, weil wir den DPS aktualisieren müssen. Für
den DPS werde
ich das tatsächlich
nach oder vor dem
Spawnen des Gegenstands tun nach oder vor dem
Spawnen Und ziehen wir es rüber. Ziehen wir die Gesamtpunktzahl für das
Update mit ein , um sicherzustellen, dass sie bei
jedem Kauf aktualisiert wird. Und wenn ich auf Jetzt spielen klicke
und etwas kaufe, kannst
du sehen, dass es pro Sekunde Schaden anrichtet Was ich jetzt machen möchte,
ist,
dass ihr hier den
Schaden pro Sekunde sehen könnt , also für den ersten sollten es fünf
sein, wenn ich nur einen kaufe. Aber wie Sie sehen können, verursacht es nicht fünf
Schaden pro Sekunde. Jede Sekunde
macht viel mehr. Der Grund dafür ist, dass wir unseren Timer
laufen lassen. Wenn ich zum Ereignisdiagramm zurückkehre, läuft unser Timer bei 0,04. Wir lassen
ihn nicht einmal pro Sekunde laufen Also, wie Sie hier sehen können,
fünf neben der Lichtfeder. Jetzt werden wir
fünf Schaden pro Sekunde verursachen,
was richtig ist,
aber wir machen fünf Schaden pro Sekunde verursachen,
was richtig ist, es bei
0,04. Wir müssen tatsächlich eine Division machen
, um die
richtige Zahl pro Sekunde zu bekommen Lassen Sie uns das innerhalb des
Autoschadens hier machen. Was wir tun müssen,
ist im Grunde zu
sagen, dass wir genau das gemacht haben, was wir
zuvor gemacht haben, wo wir es hier gesagt haben Denken Sie an 1/0 0,04 und
das gibt uns 25. Im Grunde
läuft dieser Code 25 Mal pro Sekunde. Wir müssen die gesamte DPS durch 25
teilen , um die richtige
Zahl zu erhalten. Lass uns das machen Sagen wir 1/0 0,04 Hier nehme
ich, nehme
ich klicke
einfach mit der rechten Maustaste hier,
teile und wähle das aus Wir sagen 1/0 0,04 Im Grunde genommen
haben wir das in unserem Lassen Sie uns das tatsächlich in eine
Variable umwandeln. Lassen Sie uns daraus
eine Variable namens Auto Damage Tim Time machen. Jetzt können wir
diese innerhalb
des Autoschadens verwenden und sie hier einstecken. Und dividiere durch 11 geteilt durch
die Zeit des Autoschadage-Timers, die 0,04 ist. Das ergibt uns 25. Wie wir hier gesehen haben
, ergibt uns das 25. Was wir tun müssen, ist die
Summe pro Sekunde geteilt durch 25, uns die richtige
Menge an Schaden pro Sekunde ergibt Jetzt wird es korrekt fünf
Schaden pro Sekunde anrichten. Wenn ich jetzt kompiliere und
auf Play klicke
und jetzt auf By
für die Lichtfeder klicke, wird
sie tatsächlich
fünf Schaden pro
Sekunde korrekt verursachen. Sag einfach 75, wenn es fertig ist. Und hier stand tatsächlich 75. Weil wir
5 Sekunden durchmachen und fünf mal fünf ist 25. Das ist richtig. Aber ich kann sehen, dass die Zahl hier mit Dezimalstellen
angezeigt wird , und das gefällt mir nicht wirklich. Lass es uns reparieren. Lass es uns
schließen. Gehen wir zurück zur Benutzeroberfläche. Lass uns die Gesundheitsleiste öffnen. Und hier in der
Grafik für den Gesundheitsbalken fügen wir einfach den Float ein. Deshalb
spielt es hier mit Dezimalstellen, wenn
du den Feind triffst. Anstatt das zu tun,
können Sie von hier aus
ziehen. Wenn Sie die Funktionen nicht kennen, können
Sie im Grunde
einfach Floats schreiben Sie können versuchen, all diese
durchzusehen. Aber im Grunde möchte
ich
entweder den Boden oder das Siegel verwenden . Was
Boden und Siegel im Grunde sind, du kannst mit der Maus drüber fahren und du kannst sehen, was da steht. Da steht, dass es
abgerundet wird, du kannst es sehen. Aus -1,6 wird -2,1
0,6 wird eins. Entweder das oder du kannst Seal verwenden
. Ich denke, ich werde Seal verwenden. Daher werden aus
1,6 im Grunde zwei statt eins. Ich werde
Seal verwenden, und Sie können sehen, dass es es
in eine Ganzzahl umwandelt. Und denken Sie daran, dass eine Ganzzahl
keine Dezimalstellen hat. Ich werde Alt gedrückt halten. Klicken Sie hier, um die Verbindung zu trennen und dann stattdessen
diese Verbindung herzustellen. Jetzt haben wir also eine Ganzzahl. Und wenn ich auf Play klicke und
die Lichtfeder kaufe, kannst du
jetzt sehen, dass sie
fünf Schaden pro Sekunde verursacht. Es werden keine
Antidezimalstellen angezeigt, alles funktioniert einwandfrei. Aber wie Sie hier bei
all den Effekten sehen können, möchte
ich nicht, dass dieser
Effekt eintritt. Lassen Sie uns in der nächsten
Lektion weitermachen und all diese Probleme beheben.
90. 9.04 Den Hit-Effekt beheben: In Ordnung, jetzt sind wir
mit dem Autoschaden fertig. Sie können hier jedoch sehen, dass
wir diesen Effekt haben. Ich möchte nicht, dass dieser
Effekt da ist. Also müssen wir
etwas aus dem Code löschen. Wie Sie sehen können, ist
auch
das Abspielen der Todesanimation
nicht falsch. Lass uns weitermachen und
das alles reparieren. Lasst uns den Feind öffnen , denn der Schaden
ist hier drinnen. Jetzt wird der Treffereffekt abgespielt, denn jedes Mal, wenn
wir dem Feind Schaden zufügen, wird
der Treffereffekt abgespielt. Lass uns weitermachen und
das abschalten und schauen, was passiert. Ich klicke auf Spielen und
kaufe etwas Schaden. Hier kannst du sehen, dass
es richtig funktioniert. Die Todesanimation
wird jedoch aus irgendeinem Grund nicht abgespielt. Ich glaube, das liegt daran, dass
wir den Code viele
Male wiederholen und er bleibt Wenn ich jetzt einfach
dieses Todesereignis kopiere und versuche, es hier
einzufügen, ergibt das keinen
Sinn mehr, weil wir den Feind bei
jedem Klick sofort töten werden den Feind bei
jedem Klick sofort töten Und wie Sie hier sehen können, ist
das nicht der
richtige Ansatz. Was wir hier tun können,
ist zu fragen, ob der Feind tot
ist. Lass es uns hier versuchen. Ist der Feind tot?
Weil wir nicht wirklich wollen, dass es den Treffereffekt erleidet. Wenn ich das einfach verbinde und
versuche, auf Play zu klicken und ein paar Bände kaufe, sieht es jetzt richtig aus Und wenn der Feind stirbt, kannst
du richtig sehen,
dass der Feind stirbt Okay, also alles funktioniert. Wir haben den Treffereffekt deaktiviert und alles funktioniert. Wenn ich jetzt auf mich selbst klicke, kannst
du sehen, dass ich keinen Treffereffekt
habe. Also muss ich das
auch für den Treffereffekt korrigieren. Wenn ich jetzt darauf klicke, also das ist der Mausklick, können
wir stattdessen den
Treffereffekt hier oben hinzufügen. Und wenn ich auf Abspielen klicke, treffe ich
jetzt mit der Maus Man kann den Spieler sehen, der Gegner trifft, aber man kann auch sehen, dass die
Animation gebucht ist. Ihr seht hier, wenn ich klicke, manchmal
steht der Feind still. Und ich habe es wieder versucht. Aber ich glaube,
der zweite, der gebucht wurde, liegt daran, dass
wenn ich zu schnell klicke, du diesen sehen kannst. Die Todesanimation hatte ein Buch. Das liegt daran, dass hier in
The is Dead diese
Todesanimation sowohl für
den Auto-Clicker als auch für Sie
abgespielt den Auto-Clicker als auch für Sie Wenn Sie auf die
Todesanimation klicken wird sie grundsätzlich zweimal abgespielt Und das wird die
Animation buchen, weil du diesen Timer hier
dauernd spammst und er nie richtig abgespielt
wird Was wir tun können, diese
sehr einfache Lösung,
ist Schaden, den wir Da wir eine
sogenannte Schadensart haben, können
wir im Grunde angeben, ob es der automatische Schaden ist
, oder ist es der Klick oder die
Maus, der Schaden anrichtet? Um das ganz einfach zu machen, gehen
wir zu den Bauplänen Und hier schreibe ich einfach
Click Go to Blueprint Class, wir können nach der Schadensart suchen Wenn du nur nach Schaden suchst, kannst
du ihn
hier unten sehen, Schadensart Fahren Sie fort und wählen Sie das aus, nennen Sie es
einfach Autoschaden. Nun, wir werden hier
drinnen nicht wirklich auf Schäden
eingehen. Wir brauchen im Grunde nur
diesen Blueprint-Kurs. Sie können sich das so vorstellen, als würden mit Aufzählungen
arbeiten,
bei denen wir
eine Liste haben , die im Grunde
diese Klasse und einen
Aufzählungstyp verwendet diese Klasse und einen Gehen wir zurück und
gehen wir zum Player. Wie Sie hier
im Player sehen können, konnten
Sie, als wir den Schaden angerichtet haben, als wir den Schaden angerichtet haben, eine Schadensklasse festlegen Jetzt können wir sie
auf den automatischen Schaden setzen
, den wir gerade kompiliert haben. Was ich hier tun möchte, ist, dass ich das spielen
will , wann immer es ist, den automatischen Schaden,
der den Schaden anrichtet. Was wir hier
drinnen für
den Schaden oder den Feind tun können ,
ist, dass wir diese
Schadensart annehmen können und wir können im Grunde nach einem Namen suchen und wir
können ihn anzeigen lassen. Jetzt können Sie eine Zeichenfolge drucken
und sehen, was sie bewirkt, wenn ich das
einfach abklemme, weglege und Sie eine Druckzeichenfolge
schreiben können. Mach weiter und verbinde es. Und
verbinde auch diesen. Schau einfach, was es auf den Bildschirm
bringt. Wenn ich auf Abspielen klicke und
etwas kaufe, um automatischen Schaden zu verursachen, siehst
du, dass dort im Grunde der Name
des Bauplans
angezeigt wird und dort Auto Damage
steht So haben wir
es genannt. Ich kann das zu meinem Vorteil nutzen, indem ich es nutze
und nach Inhalten suche. Ich werde nur sehen, ob diese Zeichenfolge
etwas enthält, nach dem ich suche. Und wenn ich nur nach Autoschäden
suche , weil das Teil des
Namens des Bauplans Wenn der Name des Schadens, den ich verursacht
habe,
Autoschaden enthält, kann
ich hier eine Abzweigung erstellen Ich kann
auch rausgehen und das verbinden, oder im Grunde,
was Sie tun können. Sie können auch
sagen, wenn Sie nicht
beide Filialen hier haben wollen, können
Sie das nehmen
und Goldbarren sagen Im Grunde genommen können Sie das
stattdessen hier
übernehmen und diesen verbinden Sie können das
andere Edelmetall löschen. Wenn der Name Schaden enthält
und der Feind tot ist, kannst
du weitermachen
und diesen spielen Lass uns weitermachen und
kompilieren und speichern. Jetzt kannst du sehen, ob ich auf Play
klicke und hier etwas
kaufe, Damage. Du kannst sehen,
dass alles richtig funktioniert. Nichts ist ins Stocken geraten. Auch wenn ich auf Play klicke und
versuche, den Feind zu töten, funktioniert
alles
perfekt wie zuvor Und wenn ich kaufe oder beschädige und auf den Feind klicke, tun
wir beide etwas. Sie können sehen, dass es
nur einmal abgespielt wird. Und der Code steckt auch nicht viel Geld. Jetzt wissen wir, dass der Code
perfekt funktioniert. Ordnen Sie das
alles neu an
und fahren wir mit der nächsten Lektion fort und fahren wir mit der nächsten Lektion
91. 10.01 Die Level-Anzeige entwerfen: Was wir jetzt tun müssen, ist
genau wie in Clicker Heroes,
wo du das Level, das du erreicht
hast, hier oben sehen kannst Das Gleiche müssen wir auch
für diesen Clicker tun. Kehren wir zur Benutzeroberfläche zurück und fügen wir es
hier im Haupt-U hinzu, zur Seite innerhalb
der Haupt-Widgets Ich werde diesen Teil einfach hier
kopieren. Ich klicke einfach
auf dieses Overlay und kopiere
das Ganze hier, Steuerung C. Und dann klicke ich auf das Steuerelement
V. Und füge es einfach hier Bei diesem werden wir es nun
zur Seite legen. Ich klicke
auf den Ankerpunkt
und platziere ihn
für den Offset nach rechts . Ich werde einfach Null in das X
schreiben. Der untere Rand
ist ebenfalls Null. Jetzt kannst du sehen, dass es
nicht auf dem Bildschirm ist, es ist tatsächlich an der Seite hier. Wir müssen hier im Grunde die Ausrichtung für das X vornehmen, wir müssen es nach innen verschieben Wir schreiben
hier nur eins in die Ausrichtung, jetzt ist es auf dem Bildschirm Was wir jetzt tun müssen,
ist für die Position x, wir müssen sie nur wieder
vom Bildschirmrand
wegdrücken , genau wie zuvor, Sie
können auf diese klicken. Wenn Sie sich nicht erinnern,
was Sie getan haben, Sie es 30 Pixel weggeschoben. Lassen Sie uns
hier dasselbe tun, um konsistent zu bleiben. auf das Overlay klicke,
werde ich es im
X-Offset um 30 drücken , eigentlich -30, sonst geht
es in die andere Richtung Und 30 mal versetzt von oben. Und noch einmal 30 von
unten. Ich brauche auch einen Text
hier oben, wo Level steht. Lass uns
diesen Text einfach hier oben kopieren, Steuerung C und dann Steuerung
V. Hier unten auf dem Overlay Ich werde ihn
über dem Scrollfeld platzieren. Eigentlich müssen wir ein vertikales Feld
hinzufügen, sonst wird es in der Mitte sein. Lass uns nach einer vertikalen Box suchen. Mach weiter und füge es hinzu. Fügen Sie dann den Text und das
Scrollfeld in das vertikale Feld ein. Klicken Sie auf das vertikale Feld, fahren Sie
fort und füllen Sie es hier
horizontal und vertikal aus. Und auch das
Scrollfeld, das Sie ausfüllen
müssen, um hier auf Füllen zu klicken. Jetzt müssen wir es auch
etwas auffüllen, denn wie Sie sehen können,
befindet sich der Text auch über den Rändern Und was die Frontgröße angeht, glaube
ich, werde ich
die Vorderseite etwas weiter verkleinern, also schreibe ich hier vielleicht stattdessen
24. Was wir jetzt tun können, ist,
dass wir hier
für das Scrollfeld eine
Null in die Polsterung schreiben
können , weil ich jetzt der ganzen Sache
Polsterung hinzufügen werde auf dieses vertikale Feld klicke, gebe
ich
ihm eine Polsterung von.
Lass uns mit 50 beginnen und
sehen, wie es aussieht Okay, das sieht gut aus. Und außerdem muss ich das Overlay
vielleicht etwas vergrößern, das Overlay
vielleicht etwas damit ich sehen kann, wie
es rechts und links aussieht rechts und links Ich glaube nicht, dass ich es
rechts und links so stark ergänzen muss Ich werde stattdessen 35 schreiben. Auf diese Weise klicke ich auf diese Zeilen, um sie zu entfernen.
Um zu sehen, wie es aussieht. Ich muss hier unten natürlich einen Abstandshalter zwischen
dem Text und dem
Scrollfeld
hinzufügen hier unten natürlich einen Abstandshalter zwischen
dem Text und dem
Scrollfeld Füge einen Abstandshalter von
vielleicht 15 und dem Y hinzu. Jetzt haben wir das
Display hier oben fertig Lass uns stattdessen einfach Level schreiben. Gehen Sie zu und kompilieren Sie es und
machen Sie es einfach etwas größer. Wir müssen auch die Größe festlegen,
je nachdem, wie groß
die Levelkarte sein wird. Im Moment sieht
alles gut aus. Aber lass uns jetzt zur
nächsten Lektion übergehen und die Karte
entwerfen.
92. 10.02 Die Level-Karte entwerfen: Um die Level-Karte zu entwerfen, gehen wir genauso vor
wie hier bei
der Shop-Artikelkarte Also lass mich einfach mit der rechten Maustaste hier klicken, zur Benutzeroberfläche
gehen
und eine neue erstellen. Nennen wir das One Level Card. Lass es uns wieder öffnen. Fahren Sie fort und fügen Sie ein
Leinwandfenster hinzu, bevor wir etwas tun. Ändern Sie es
auch so, wie es
auf dem Bildschirm gewünscht ist. Jetzt sind wir bereit. Was ich tun möchte, ist, dass
die Karte im Grunde ein Knopf sein wird , weil es hier eine Reihe von Tasten geben wird, um den Level zu
wechseln. Je nachdem, zu welchem Level
du wechseln möchtest, kopiere
ich einfach diesen Button
, den wir hier gemacht haben. Klicken Sie auf dieses
Overlay und die Schaltfläche und den Text und klicken Sie auf Steuerung C. Gehen Sie zurück zur Level-Karte
und drücken Sie V hier. Nun zum Overlay,
ich klicke auch für den Text auf Größe zum Inhalt Bevor ich das hier für das
Overlay mache, ändern
wir den Ankerpunkt
so, dass er in der Mitte und 0,5 in den Ausrichtungen
und 00 in X und Y liegt. Jetzt ist er perfekt
zentriert für Ich werde vorerst nur einen
schreiben. Das wird also sowohl
das Level als auch
für diese Tastengröße anzeigen . Ich denke, ich werde es etwas reduzieren, ich brauche es nicht so breit. darauf klicken, können wir die Größe
im X
reduzieren . Ich glaube, ich
schreibe hier 100. Achten Sie nur darauf,
diese Bildgröße zu kopieren und
sie sowohl auf das Bild zu kopieren, als auch auf das gedrückte Bild einzufügen.
Für diese Textfarbe Ich werde es einfach
wieder auf diese Standardfarbe ändern. Also mach weiter und kopiere diese Farbe. Gehe zurück zur Levelkarte und
füge sie auch hier ein. Jetzt ist dieser im Grunde fertig. Schauen wir uns an, wie
es aussieht, wenn ich zum Hauptmenü oder
zur Haupt-Benutzeroberfläche zurückkehre . Und ich klicke hier, und diese
Liste heißt Artikelliste. Ich werde den Namen
dieses vertikalen Felds tatsächlich in eine
Ebenenliste
ändern . Kompilieren. Suchen wir nun hier
oben
nach der Levelkarte und ziehen sie
in die Levelliste. Und
duplizieren Sie es ein paar Mal, damit Sie sehen können, wie es
aussieht. Was ich hier
etwas korrigieren möchte , ist die Größe
dieses Overlays Wenn du es einfach hineinschiebst,
bis das hier verschwindet, versuche es
einfach so zu machen,
so klein wie möglich, aber ohne so zu nerven Auch die Scrollleiste. Ich möchte es hier am
Rand dieses Buttons starten. Also hier oben klicken, die Bildlaufleiste
runtergehen und die
Überschrift der Bildlaufleiste nach oben
finden. Ich werde einfach so
etwas wie acht schreiben. Das ist gut. Ich denke , das brauchen wir auch für den unteren
Teil. Ich bin mir gerade nicht sicher. Aber
wir können das immer ein paar Mal duplizieren und einen Blick darauf werfen und
auf das letzte klicken. Und das brauchen wir auch.
Für das untere Klopfen. Ich werde auch acht
schreiben. Eigentlich braucht es weniger. Schreiben wir statt acht, schreiben
wir stattdessen
etwa fünf. Wir können jederzeit hierher
zurückkehren, wenn wir weitere
Dinge
an der Benutzeroberfläche ändern müssen . Aber im Moment
sieht alles gut aus, und wenn ich auf Play klicke, hoffe
ich, dass die Maus darüber fährt, funktioniert
alles. Was ich jetzt tun kann, ist
einfach
alles zu löschen , damit es sauber ist und wir nur
diese Levelliste haben. Kompiliere, speichere alles
und lass uns weitermachen.
93. 10.03 Das Level einstellen: Lassen Sie uns nun fortfahren
und diese Stufe
für diese Schaltfläche dynamisch ändern Das wird jetzt sehr
einfach sein, denn lassen Sie uns auf
diesen Text klicken und
ihn einfach in Compile auf Textebene umbenennen. Und jetzt gehen wir zur Grafik. Jetzt
machen wir es genauso wie zuvor mit dem Shop-Artikel. wenn wir es der Liste hinzufügen, werden
diese Informationen
innerhalb des Event-Konstrukts geändert . Es wird im Grunde genommen
die Artikelkosten aktualisieren und das alles für
dieses Event, nehmen wir
wieder
dieses Event-Konstrukt. Das Einzige, was wir
tun müssen, ist im Grunde
das Niveau festzulegen , das wir
zur Festlegung der Zahl benötigen. Was nun die Ebene angeht, lassen Sie uns hier einfach eine
neue Variable erstellen und eine Ganzzahl verwenden. Nennen wir das eine Ebene. Wir werden
ihm diese Information geben. Wann immer wir dieses Widget erstellen, kannst
du jederzeit zum
Player-Controller zurückkehren, falls du dich nicht mehr daran erinnern kannst, was du mit dem Item-Shop
gemacht hast. Ihr seht hier, wenn ihr runtergeht, was wir gemacht haben, ist im Grunde
diese Artikelinformationsvariable zu erstellen. Und wir haben bei Spawn und
Instance Editable auf
Expose geklickt und wir konnten Informationen
hineinschreiben Wir werden hier tatsächlich dasselbe für
die Level-Instanz „
editierbar“,
„Beim Spawn verfügbar“ machen Level-Instanz „
editierbar“,
„Beim Spawn Wir können das im Grunde einfach
anklicken und so
hierher ziehen und schon sind
wir hier fertig. Wir können dem
ein paar Informationen geben , wann immer
wir die Karte spawnen, und
das werden wir in der nächsten Lektion tun
94. 10.04 Das neue Level freischalten: Ordnung, lassen Sie uns jetzt weitermachen
und dem ein paar Informationen geben Auch hier arbeiten wir mit der Benutzeroberfläche, also werde ich
das hier unten
im Player-Controller erstellen . Lassen Sie uns ein neues benutzerdefiniertes Ereignis erstellen. Und nennen wir dieses
eine Unlock-Level. Wir können diesen benutzen, um das Level zu
entsperren oder diese
Level-Anzeige hier drüben anzuzeigen. Immer wenn der Spieler einen Feind
besiegt. Dieses freigeschaltete Level erzeugt
im Grunde genommen dieses
Widget an der Seite. So können wir das Level sehen. Im Grunde genommen ist das momentan der Button, es hat eine Ära weil ich das
ohne jegliche Information verbunden habe. Wenn ich auf Play klicke, erscheint im Grunde immer
ein Button, wenn
du ein Level geschafft hast. Und genau das wollen wir tun. Es erstellt im Grunde das Widget. Welches Widget erstellt es? Es ist die Levelkarte
, die wir erstellen müssen. das Level angeht, können wir
ihm später sagen , welches Level freigeschaltet werden soll. Also werde ich das einfach anklicken
und hierher ziehen. Ich möchte diese
Schaltfläche zu meiner Levelliste hinzufügen. Wenn ich zur Benutzeroberfläche zurückkehre und die Haupt-Benutzeroberfläche
öffne, nennen wir
das eine Liste auf VB-Ebene Hier wollen wir
die Karte hinzufügen. Wenn ich zum
Play-Controller zurückkehre, kann
ich sehen, was ich habe.
Ich habe dieses WB-Hauptmenü, also kann ich es von hier aus hinzufügen und nach der Levelliste suchen.
Mach weiter und klicke darauf Jetzt können wir sagen, füge zwei hinzu, und du kannst diese auswählen. Fügt dem vertikalen Feld ein Kind hinzu. Im Grunde können Sie dieses
Widget, das Sie gerade erstellt haben
, zu Ihrer vertikalen Box hinzufügen und mit der Kompilierung
fortfahren. Jetzt beginnen wir
mit Level eins. Und Level eins sollte standardmäßig da
sein weil dieses Level, in dem
wir uns gerade befinden, lass uns Level eins einfach
standardmäßig hier im
Player Controller freischalten . Immer wenn wir das Spiel starten, schreibe
ich Unlock Level und wir können hier im Grunde
einfach eins schreiben. Wir schalten
standardmäßig Level eins frei und klicken auf Play Du kannst jetzt sehen, dass Level eins freigeschaltet
ist und angezeigt wird Und wir müssen alle anderen Level freischalten , wenn
wir einen Feind besiegen. Machen wir weiter und machen das
innerhalb des Spielmodus, denn wenn wir im
Spielmodus zurückgehen, ist
es lange her, dass wir das hier im Spielmodus gemacht haben
,
aber hier haben wir dieses
Inkrement zum aktuellen Level gemacht Lasst uns stattdessen das
Level hier freischalten. Immer wenn wir das Level erhöhen und es noch nicht freigeschaltet haben, können
wir es freischalten Nennen wir es, es befindet sich im
Player-Controller. Also brauchen wir hier den
Player-Controller. Und wir können nach dem Unlock-Level
suchen. Und mach weiter und nimm das hier. Was wir
hier tun müssen, anstatt
nur dieses aktuelle Level freizuschalten Da wir
vielleicht tatsächlich ein niedrigeres Level spielen, wollen wir es nicht wieder
freischalten,
wenn
wir
in ein höheres Level aufsteigen wollen Stellen Sie sich vor, ich spiele hier
und bin auf Level fünf, aber ich entscheide mich dafür, erneut auf Level
eins zu klicken und das
erste Level zu spielen. Ich möchte
Level zwei nicht erneut freischalten , weil ich es
bereits freigeschaltet habe. Wir benötigen hier eine neue Variable, um das zuvor
freigeschaltete Level zu speichern. Lassen Sie uns eine neue
Variable erstellen und
sie die zuvor entsperrte Ebene nennen und sie die zuvor entsperrte Ebene daraus eine Ganzzahl
machen. Was wir hier sagen können ist, ist das aktuelle Level, ist es höher als das
zuvor freigeschaltete Level? Wenn wir uns zum Beispiel auf Stufe eins
befinden und die zuvor freigeschaltete
Stufe vier ist, müssen
wir Stufe drei und so weiter nicht wirklich
freischalten. Nochmals, da wir uns bereits auf Stufe
vier, unserer höchsten Stufe, befinden , sollten wir diese Verzweigung vornehmen, falls die aktuelle Stufe höher ist als die zuvor
freigeschaltete Stufe. Wenn wir
Stufe fünf erreicht haben und Stufe vier
früher
freischalten, wenn das stimmt, nehmen
wir diese
zuvor freigeschaltete Stufe setzen sie
auf die aktuelle Stufe, die jetzt Stufe
fünf statt vier ist. Und wir können
diese Informationen einfach hier unten eingeben. Wenn ich jetzt kompiliere und auf
Play klicke , können wir diesen Feind
besiegen. Sie können sehen, dass Level
zwei jetzt freigeschaltet ist. Wenn ich auch diesen Feind besiege, wird
Level drei
freigeschaltet und so weiter. Also jetzt
funktioniert das alles richtig. Aber auch hier haben wir den Knopf nicht
wirklich beschichtet, sodass wir nicht wieder ins Level zurückkehren können. Und daran werden wir als Nächstes
arbeiten.
95. 10.05 Den aktuellen Level einstellen: Was wir im
Moment erreichen wollen, ist, dass wir verhindern
wollen , dass der Feind
spawnt, indem ein Level wie dieses
automatisch ändern Wir wollen die Stufen manuell
ändern, wenn wir auf diese Schaltflächen
klicken Lassen Sie uns weitermachen und als Nächstes damit
arbeiten. Jetzt befinde ich mich im
Spielmodus und lass uns
das ein bisschen herunterdrücken. Hier befinde ich mich unter
dem aktuellen Ereignis
, das wir zuvor erstellt haben Was ich hier machen möchte,
ist ein neues benutzerdefiniertes Ereignis. Lassen Sie uns das machen, nennen wir
dieses eine festgelegte aktuelle Stufe. Wir werden
dieses benutzerdefinierte Ereignis
immer dann verwenden , wenn wir auf diese
Level-Buttons hier draußen klicken. Wir werden das Level
manuell einstellen und
das aktuelle Level einstellen. Offensichtlich brauchen wir
hier
das aktuelle Level und wir müssen es einstellen. Und wir müssen
das mit den Ereignissen verbinden, weil wir
es dann an anderen Orten manuell einstellen können. Jetzt stellen wir
hier
das aktuelle Level für das aktuelle Level ein, ich sage einfach ein Level. Wir setzen das Level, das wir wählen
, auf das aktuelle Level. Dann ändern wir, wir, wir ändern ein Level. Wir wollen sicherstellen
, dass der Feind sich in dem aktuellen Level, in dem
wir uns befinden, entfernt wird, sonst spawnen
sie übereinander Denken Sie daran, dass es im
Plate-Controller ist, also werde ich
den Plate-Controller einfach hierher kopieren Ermitteln Sie die generierte gegnerische Variable. Klicken Sie mit der rechten Maustaste und sagen Sie „In einen validierten Get konvertieren
“. Weil wir jetzt
sagen können, ob es gültig ist, können
wir weitermachen und die Acta
vernichten Nachdem wir die Acta zerstört haben, wollen
wir den neuen Feind spawnen Im Grunde kann ich das hier
kopieren. Ich kann es einfach kopieren, einfügen und so verbinden. Wenn der Feind
noch nicht gültig ist, können
wir einfach weitermachen und den neuen Feind
spawnen Denn der einzige Grund, warum wir
diesen Teil hinzugefügt haben , ist sicherzustellen, dass der aktuelle Feind zerstört
wird und aktuelle Feind nicht existiert Wir können einfach weitermachen und den neuen Feind
spawnen. Jetzt können wir
mithilfe dieser Logik tatsächlich
das aktuelle Level einstellen mithilfe dieser Logik tatsächlich
das aktuelle Level Lassen Sie uns also alles kompilieren
und speichern. Gehen wir nun zurück zur Benutzeroberfläche. Wenn ich hier in der Benutzeroberfläche auf die Level-Karte und dann auf diese Schaltfläche
klicke,
gehe ich runter zu der Schaltfläche und klicke, klicke, klicke hier auf das Plus,
um hier ein Event zu erstellen. Immer wenn du klickst,
wird der Button für Button aufgerufen und
er ist nicht wirklich korrekt. Ich werde den Button einfach
umbenennen. Ich nenne
es Level Compile. Gehen wir zurück zur Button-Ebene. Immer wenn wir darauf klicken,
wollen wir das Level ändern. Wir wollen dieses Event
hier im Spielmodus nennen. Lass uns weitermachen und das tun. Sagen wir, klicken Sie mit der rechten Maustaste hier
und sagen Sie Spielmodus abrufen. Dann ziehen wir
von hier und sagen Spielmodus-Referenz
abrufen, die von der
Blueprint-Oberfläche Lassen Sie uns von
hier aus zuschlagen und sagen „
Aktuelle Stufe festlegen “, denn so
haben wir es genannt Jetzt haben wir
diese Level-Information bereits , weil wir sie hier eingegeben Lass es uns einfach so anschließen. Lassen Sie uns kompilieren. Und
lass uns auf Comp klicken und sehen, was passiert, wenn
ich einen Feind töte Ich töte auch den nächsten. Töte auch den nächsten. Mal sehen, ob ich das Level ändern
kann. Wenn ich auf zwei drücke, kann ich es
ändern, drücke auf eins. Und ich kann sehen, dass ich
tatsächlich zwischen
den Levels wechseln kann und
alles funktioniert. Der Timer wird
jedes Mal zurückgesetzt, wenn ich die Stufen
wechsle. Das
wollen wir verhindern Jetzt haben Sie
hier zum Beispiel einen Bug. Wenn du den
Feind in Level eins tötest, kannst
du sehen, dass er automatisch auf Level zwei
wechselt. Ich will das nicht wirklich tun. Wir wollen die Stufen manuell
umschalten. Lass uns weitermachen und als Nächstes
daran arbeiten.
96. 10.06 Den automatischen Feind-Spawn verhindern: Um zu verhindern, dass die Feinde automatisch spawnen oder zum nächsten Level
wechseln, öffnen
wir nun den Spielmodus Noch einmal müssen wir diesen Modus mit dem Namen „Aktuelle Stufe
erhöhen“
neu schreiben oder neu schreiben,
denn denken Sie daran, dass wir ihn beim Tod
des Feindes verwenden, wenn
wir zur feindlichen Basis gehen Innerhalb der Todesereignisse erhöhen
wir das Level jedes
Mal, wenn wir den Feind töten Wir müssen jetzt etwas dagegen tun , anstatt
das aktuelle Level zu
erhöhen, denn in diesem Spiel wirst
du es niemals, es wird es niemals automatisch erhöhen. Stattdessen nenne ich es „Level
freischalten“. Wir entsperren das Level und wechseln dann manuell
zum nächsten Level. Dies geschieht in
Clicker-Spielen, weil normalerweise
das nächste Level vielleicht zu
schwierig ist und du ein Level zurück
gehen musst , um
mehr Geld zu verdienen, um Dinge zu kaufen, und dann kannst du
zum neuesten Level gehen Du hast freigeschaltet,
deshalb ist es fertig. Dieser wird auch
als Unlock-Level bezeichnet. Denken Sie daran, dass dies in
der Spielersteuerung , wo wir das Level hinzufügen. Lassen Sie uns den Namen
dieses Spiels tatsächlich
ändern , um nicht verwirrt zu werden. Anstatt
es
hier im Player-Controller als entsperrtes Level zu bezeichnen, nennen
wir es
Level-Taste, UI. Hier fügen wir
die Schaltfläche zur Liste hinzu. Nennen wir es stattdessen so.
Und lasst uns zum Spielmodus zurückkehren, damit wir jetzt
nicht verwirrt werden. Es heißt so. Okay,
dieses Unlock-Level. Wir wollen es hier tatsächlich
weiterführen. Immer wenn der Feind tot ist, wollen
wir das Level freischalten. Aber du willst
das Level nur freischalten , wenn
du dich auf dem neuesten Level befindest. Immer wenn ich auf diesem
Level bin und spiele, möchte
ich das nächste Level freischalten. Ich möchte das Level nicht freischalten wenn ich gerade
Level eins spiele, weil ich Level zwei bereits
freigeschaltet habe. Um das zu verhindern, gehen wir in
den Spielmodus und hier
in das freigeschaltete Level. Bevor wir das alles tun, können wir das
aktuelle Level erreichen. Wir können uns fragen, entspricht das
dem freigeschalteten Level? Anstelle dieses
Levels haben wir das Level,
das als zuvor
freigeschaltetes Level bezeichnet wird. Wir müssen diesen Code tatsächlich
ändern. Lass mich ihn einfach hier unten umbenennen. Anstelle des vorherigen
freigeschalteten Levels nenne
ich es einfach
Unlocked Level Compile. Stellen Sie sicher, dass das
entsperrte Level standardmäßig
eins ist , da Sie
bereits Level eins haben. Das aktuelle Level ist ebenfalls eins. Wir haben Level eins standardmäßig
freigeschaltet. Wenn das aktuelle Level dem freigeschalteten Level
entspricht, wollen wir
weitermachen und das nächste Level freischalten. Denn das heißt,
wenn das aktuelle Level, das gerade eins
ist, dem freigeschalteten Level entspricht, das gerade eins ist, dann spielen wir tatsächlich
auf dem neuesten Level. Und wir wollen das Level freischalten wann immer wir diesen Feind töten. Lass uns weitermachen und das einsperren. Auch hier wollen wir das aktuelle
Niveau
erhöhen, falls dies zutrifft. Jetzt fragen wir, ob
das weniger oder gleich dem Maximalwert ist,
ob das stimmt. Jetzt
wollen wir den Feind nicht wirklich spawnen,
weil wir nur das Level
freischalten,
wir wechseln nicht das Level wir wechseln nicht Anstatt
den neuen Feind zu spawnen, werde
ich ihn tatsächlich löschen Lösche das auch hier. Diesen können wir auch löschen. Und dieser auch. Wir können einfach weitermachen und das anschließen. Lass mich das einfach
reinziehen , damit du das Ganze
sehen kannst. Was wir sagen
ist, dass das aktuelle Level dem freigeschalteten Level
entspricht.
Dadurch wird nur überprüft, ob wir uns
tatsächlich auf dem neuesten Level befinden . Wir haben es zuvor freigeschaltet Wenn das stimmt und wir den Feind besiegt
haben, schalten
Sie oder nehmen Sie einfach dieses aktuelle
Level und fügen Sie ihm eins hinzu. Wenn du das getan hast,
dieses freigeschaltete Level, lass uns dieses einfach löschen, denn jetzt können wir
es einfach
hier einstecken , sperren oder entsperren. Aber es wird eine Schaltfläche für
die neueste Ebene
der aktuellen Ebene
hinzufügen , weil wir eine hinzugefügt haben,
anstatt Stufe
eins zu sein, jetzt ist es Stufe zwei und es wird die Schaltfläche für eine Ebene zwei
hinzugefügt. Eigentlich ist das ausreichend. Jetzt
schalten wir
mit diesem Event im Grunde nur das Level frei Und dann legen wir
das aktuelle Level den Feind
hier erscheinen zu lassen, bevor wir Dieses aktuelle Level
ist eigentlich falsch, weil wir
das freigeschaltete Level hier einstellen wollen Weil wir das
entsperrte Level hinzufügen
wollen, nicht
das aktuelle Level. Denn auch hier
wollen wir das
Level nicht automatisch wechseln. Ich möchte auf
dem aktuellen Level bleiben
, in dem ich mich gerade befinde, aber ich möchte nur
das freigeschaltete Level erhöhen. Auch hier unten, liste dieses und lass uns das
freigeschaltete Level einfügen. Stattdessen werden
wir eine Schaltfläche für
das freigeschaltete Level hinzufügen , das ist alles korrekt. Um nun sicherzugehen, dass hier
alles funktioniert, gehen
wir auch
zur feindlichen Basis und stellen sicher, dass
der Code korrekt ist. Jetzt sind wir beim Todesereignis, und hier im
Todesfall
wollen wir das richtige Level
freischalten. Und denkt daran, dass das freigeschaltete
Level nur funktioniert, wenn das aktuelle Level dem freigeschalteten Level
entspricht. Wir stellen sicher
, dass wir uns auf dem
neuesten Level, dem freigeschalteten Level, befinden , aber wir müssen auch
sicherstellen, dass wir das aktuelle Level
festlegen wollen , weil
dadurch unsere Feinde hervorgebracht Gehen wir zurück zur Basis und
nennen
das eingestellte Level das aktuelle Level Lass uns weitermachen und es
hier verbinden . Auch hier verbunden. Nehmen wir das aktuelle Niveau, und das ist hier die Variable. Wir werden das
Niveau auf das aktuelle Niveau einstellen. Fahren Sie fort und kompilieren Sie jetzt Das aktuelle Level wird sich ändern, wenn Sie auf die Taste
drücken. Wenn Sie zur Benutzeroberfläche gehen,
zum Levelcode gehen und auf diese Taste
drücken, wird der
aktuelle Levelwert geändert. Es wird
das eingestellte aktuelle Level ändern. Lass uns weitermachen und
das versuchen. Lass uns auf Play klicken. Ich werde einen Feind töten. Jetzt können wir sehen, dass der Feind
nicht
automatisch gewechselt wird, weil
wir im Grunde genommen, wenn ich zum Code zurückkehre, den
Feind töten und dann den Feind
für das aktuelle Level spawnen Denken Sie daran, dass
wir diese Funktion entwickelt haben, wir nehmen nur
das aktuelle Level , das wir nicht erhöhen Wir erhöhen
das freigeschaltete Level nur um eins, wenn wir uns auf
dem aktuellen Level befinden Wenn ich also zurückgehe und
weiterspiele, kann
ich zum nächsten gehen Jetzt kann ich
diesen Feind töten und das nächste Level
freischalten. Ich kann zu Level
eins, zwei oder drei zurückkehren. So kann ich zum
Beispiel zu eins zurückkehren und diesen Feind töten. Und ich kann so lange Geld von
diesem Feind
bekommen , bis ich das Gefühl habe ich stark genug bin, hier ein paar Sachen zu
kaufen. Und dann kann ich zum
nächsten Level gehen und ich kann sehen, dass du die
Feinde wechseln kannst, wie du willst. Und es wird nur eine Schaltfläche
hinzugefügt, wenn du den letzten Feind
besiegt hast . In Ordnung, wir
sind hier also fertig. So verhindert man
automatisches Spawnen. Schau dir einfach an,
ob du vielleicht
einen kleinen Fehler hast, stelle
sicher, dass es das aktuelle Level ist
,
das dem freigeschalteten Level entspricht Und es ist auch das
freigeschaltete Level, das du hier hinzufügst, alles
hinzufügst, kompilierst,
speicherst und lass uns mit
dem nächsten weitermachen.
97. 10.07 Schädel-Symbole zu Chefs hinzufügen: Wir werden das Spiel ein
bisschen interessanter machen. Ich möchte den Bussen ein
Totenkopfsymbol hinzufügen. Denkt daran, dass
wir in
der Datentabelle ausgewählt haben, dass es sich bei einigen Gegnern um Busse handelt. Dieser, der Zauberer zum
Beispiel und der Ritter von Rogan. Ich möchte der Levelanzeige
ein
Totenkopfsymbol hinzufügen Levelanzeige
ein
Totenkopfsymbol hinzufügen Gehen wir zur Benutzeroberfläche, öffnen die Levelkarte, genau genommen im
Designer. Lass uns hier anfangen. Lass uns ein Bild hinzufügen. Lassen Sie uns dieses
Bild von hier nach unten auf
das Overlay für dieses Bild ziehen das Overlay für dieses Bild Lass es uns in ein Totenkopfsymbol ändern. Denken Sie daran, dass wir das in den
Assets-Objekten tatsächlich
verwenden können . Das hier sind Sprites. Ich werde einfach
die Textur oder den Schädel verwenden. Wenn du einfach nach einem Schädel suchst und du ihn hier finden solltest
, werde
ich einfach die
Textur anstelle des Sprites verwenden Mach weiter und bearbeite die Größe. Versuchen wir es mit 50 mal 50 und der Position. Ich gehe hier runter
zur Transformation und bearbeite die
Übersetzung dafür. Zum Beispiel können
wir für das X minus sechs sagen, und das wird in diese Richtung gehen, und dann minus sechs, und das wird so nach oben gehen. Zoom, ich finde, es sieht gut aus. Wir können
es jederzeit ändern, aber es sieht gut aus. Nun, dieses Symbol hier, standardmäßig, ich möchte es ausblenden,
weil ich nicht
möchte , dass es hier
für jede einzelne Schaltfläche angezeigt wird. Was ich tun möchte, ist
hier in der Sichtbarkeit, lass es uns jetzt im Diagramm auf versteckt
kompilieren setzen, lass es uns nur
Feinden hinzufügen, die Busse sind. Denken Sie daran, dass wir
hier drinnen immer
sagen können, dass wir Feindinformationen abrufen können. Wir brauchen zuerst den Namen des Feindes. Haben wir den Namen des Feindes? Wenn Sie
sich erinnern,
wenn ich in der Bibliothek wieder in die Bibliotheken gehe
und es aufstelle,
wenn Sie sagen, Level-Informationen abrufen,
erinnern wir wenn ich in der Bibliothek wieder in die Bibliotheken gehe
und es aufstelle,
wenn Sie sagen, Level-Informationen abrufen, uns an die Struktur mit den
Level-Informationen. Wenn ich die
Level-Info-Struktur öffne, habt ihr den Namen des Feindes
, der dort erscheint Du kannst das tatsächlich zu deinem Vorteil nutzen. Du kannst also sagen Levelinformationen abrufen. Wir haben das Level schon hier. Wir können es nehmen und aufteilen. Wenn wir es auflösen,
haben wir den Namen des Feindes
, den wir hier eingeben können. Klicken Sie hier, um
unverbundene Pins auszublenden. Dann kannst du von hier aus ziehen. Und zerlegen Sie es auch. Ab hier hast du jetzt
den Feindtyp. Lass uns von hier wegziehen.
Sagen wir, ist das gleichwertig? Und wir werden
diesen nicht auswählen. Wir werden diese auswählen,
weil es sich um eine Aufzählung handelt Dieser entspricht einem Boss. Klicken Sie erneut auf diesen.
Verstecken Sie nicht verbundene Pins wir
jetzt von hier wegziehen können, und machen Sie einen Zweig Wenn es wahr ist, dass es ein Boss ist, wollen
wir einfach dieses Bild
anzeigen Nehmen wir dieses Bild auf. Jetzt haben wir es nicht zu einer Variablen gemacht. Lassen Sie uns den
Namen in Bild ändern. Der Schädel ist variabel. Jetzt können wir zur Grafik gehen. Wir können es herausnehmen und
sagen, Sichtbarkeit einstellen. Und stellen Sie die Sichtbarkeit ein. Wir können es so einstellen, dass es sich merkt und
nicht, dass es getestet werden kann. Es blockiert
die Schaltfläche nicht, weil Visible die Mausklicks
blockieren wird Wir können also nicht auf die Schaltfläche klicken. Hit testbar besser.
Das sollte es sein Wenn ich kompiliere und
auf Play klicke, kannst du
jetzt sehen, dass nichts hier ist. Wenn ich hier etwas kaufe, damit ich den Feind viel schneller töten
kann, können
wir zu den Levels wechseln und sehen, dass alles perfekt
funktioniert. Wenn ich zu Stufe vier wechsle und es
hier auf Stufe fünf erscheinen sollte, kannst
du sehen, dass es ein Symbol gibt
und es funktioniert einwandfrei. Ich werde die Benutzeroberfläche nur etwas vergrößern, damit
sie nicht ausrutscht Ich minimiere das einfach. Ich gehe hier zurück zur Haupt-Benutzeroberfläche Lassen Sie mich einfach eine Ebene hinzufügen. Wenn ich nur eine Level-Katze hinzufüge, kann
ich sehen, was ich so
mache. Jetzt können wir auf das
Overlay klicken und
es etwas größer machen , damit es unser Schädelsymbol
nicht Kompilieren und spielen.
Und los geht's. Alles sollte gut
funktionieren. Mach weiter und lösche diesen,
sonst wird er Fehler machen. Als zusätzliche Sache.
Bevor wir fertig sind, fügen wir neben dem
Namen des Bosses auch ein Totenkopfsymbol hinzu. Im Namen des Bosses ist es
hier in den Feindinformationen. Also im Grunde
müssen wir hier einen hinzufügen. Genau wie zuvor
werde ich nach einem Bild suchen, wir brauchen tatsächlich
ein horizontales Feld weil wir hier
nichts haben. Ich werde einfach zuerst
nach einem horizontalen Feld suchen. Füge es hier hinzu.
Suche nach dem Bild. Fügen Sie es auch für das Bild hinzu. Genau wie zuvor werde ich es
auf die Punktzahl ändern, eine Größe davon ist, lass uns 60 mal 60 fahren. Auch hier glaube ich, dass
es 60 mal 60 war, oder vielleicht waren es 50. Wenn ich einfach wieder
hierher gehe, waren es 50. Lass uns einfach 50 mal 54 draus machen. Lassen Sie mich nun diesen Text
in das horizontale Feld einfügen. Diese beiden Elemente
sind hier drin. auf das horizontale Feld klicke, werde
ich den
Anker in der Mitte platzieren, 0,5 in den Ausrichtungen, um
sicherzustellen, dass er sich in der Mitte befindet Außerdem
ist die Position Null mal Null, also ist sie perfekt
in der Mitte Das Verhältnis von Größe zu Inhalt ist wahr. Ändern Sie grundsätzlich die Größe
des horizontalen Felds auf den
Inhalt, den es hat. Okay, jetzt haben wir es
hier. Nun zur Ikone. Ich werde nur
etwas Polsterung an der
Unterseite hinzufügen , vielleicht zwei Wir schieben es ein bisschen nach oben. Eigentlich möchte
ich statt einer Polsterung eigentlich Null schreiben Eigentlich möchte ich die Übersetzung hier
unten
ändern . Du kannst es also ändern. Anstatt eine Polsterung hinzuzufügen, können
Sie die Übersetzung ändern Ich wollte minus zwei sagen, also ist es ein bisschen nach oben gedrückt Okay, genau wie zuvor,
werde ich die Sichtbarkeit auf „
Versteckt“ stellen und zur Grafik hier gehen, um die Feindinformationen zu
aktualisieren. Genau wie zuvor. Jetzt haben
wir den Namen des Feindes, also
sage ich einfach, hol dir Feindinformationen. Wir haben den Namen des Feindes bereits. Dann können wir das
aufteilen, genau wie zuvor, wir können den
Feindtyp nehmen und sagen, ist er uns ebenbürtig? Wenn das der Fall ist, fahren Sie fort und zeigen Sie dieses Symbol
erneut an, genau wie zuvor. Ändern wir den
Namen in Image Skull. Lassen Sie uns einstellen, dass es variabel ist. Nehmen wir das
Schädelbild und stellen die Sichtbarkeit so ein, dass sie bei Treffern testbar Klicken Sie noch einmal auf diesen. Versteckte nicht verbundene Pins. Schlag ihn an, vielleicht ein bisschen näher. Probieren wir es einfach aus
und sehen, was passiert. Ich klicke im Spiel auf Play. Ich kaufe ein paar davon, damit ich viel schneller Schaden anrichten
und zu den Levels aufsteigen
kann. Jetzt ist hier der Feind
und du kannst sehen, dass das
Symbol erschienen ist. Es funktioniert perfekt. Aber du kannst es hier sehen,
eigentlich ist mir gerade aufgefallen, dass dieser Name zur Seite geschoben
wird. Es ist nicht im
Zentrum dieses Feindes. Das liegt daran, dass die Ikone
des Schädels tatsächlich da ist. Es ist einfach versteckt. Anstatt den Schädel in diesem Fall
auf versteckt zu stellen, war es
in diesem Fall in Ordnung,
weil er einfach da ist. Dieser
drängt tatsächlich auf den Namen. Was wir tun können, ist einstellen
statt versteckt, Sie können es auf reduziert setzen. Es ist, als würdest du ein Menü minimieren. Es ist nicht mehr aus deiner Sicht. Es auf den Kollaps zu stellen,
sollte gut funktionieren. Wenn ich nur schnell den
Level wechsle , nur um es dir zu
zeigen, stirbt
jetzt dieser. Wenn ich jetzt gehe, kannst du sehen dass
Skeleton hier war, bevor
der Text hier begann. Jetzt fängt es an
der richtigen Position an. Collapse ist in diesem Fall viel besser
zu verwenden. Okay, cool. Also, jetzt haben wir
diesen Schädel ausgestellt. Sieht cooler aus als zuvor. Und ich kann auch sehen, dass es
sich ein bisschen dehnt, die Ausrichtung, ich werde es stattdessen auf die Mitte
setzen. Fahren Sie fort und kompilieren
Sie, speichern Sie alles und lassen Sie uns weitermachen.
98. 10.08 Symbole zu Shop-Karten hinzufügen: Als Nächstes
möchte ich hier auch
die Symbole für die Autos hinzufügen ,
für die Ladenkatzen Aber weil du es
hier sehen kannst, sieht es gut aus. Aber ich denke, es wird besser aussehen wenn wir ein Symbol
neben diesem Text haben Lassen Sie uns
das tatsächlich hinzufügen. Lass uns den
Laden hier drüben aufmachen. Fügen wir das Symbol
neben diesem Text hinzu. Jetzt befindet es sich in
einer oder einer vertikalen Box. Wir brauchen hier unten eine horizontale
Kiste. Ich suche einfach erneut
nach einem horizontalen Feld und füge es hier unten hinzu,
direkt über dem Text. Füge den Text dem
horizontalen Feld hinzu. Fügen Sie dann auch ein Bild
zum horizontalen Feld hinzu, direkt über dem Text hier. Für dieses Symbol werden
wir
es nun in das Artikelsymbol ändern. Aber vorerst
fahren Sie einfach fort und wählen Sie ein zufälliges Symbol für die Ausrichtung aus. Fahren Sie fort und stellen Sie es in
die Mitte, damit es
sich nicht für die
Größe dieses Symbols dehnt. Ich denke, 32 mal 32 ist in Ordnung. Ich glaube nicht, dass wir mehr als das
brauchen. Ich brauche wahrscheinlich einen kleinen
Abstandshalter dazwischen. Lass es besser aussehen, füge
einfach das X hinzu, vielleicht vier und einfach
so. Ja, es sieht gut aus. Okay, lass uns weitermachen und auf dieses Bild
klicken und es Bildelement
nennen. Lassen Sie uns das
in Ist variabel ändern. Gehen wir jetzt zur Grafik
und machen Dinge damit. nun hier im Ereignisdiagramm an, Schauen wir uns nun hier im Ereignisdiagramm an, wo
wir das am besten machen können. Wir haben den Update-Punkt I. Wir haben das Update, die Kosten. Wir haben auch das
Event-Konstrukt. Wann immer diese Karte hinzugefügt wird, wäre
dies der beste Ort. Immer wenn die Karte
über den Spieler-Controller hinzugefügt wird, fügen
wir einfach sofort das Symbol hinzu. Lass mich das einfach wegschieben. Nachdem ich den Textnamen aktualisiert
habe, möchte ich das Bildsymbol nehmen
und sagen wir, Pinsel einstellen. So legt man
dynamisch eine Textur oder ein Bild fest. Stellen Sie den Pinsel aus der Textur ein. Fahren Sie fort und wählen Sie diesen aus. Das bedeutet im Grunde, dieses Bild aus einem Bild auszuwählen, das ich in diese Engine
importiert habe. Stellen Sie den Pinsel anhand der Textur ein. Nun, welche Textur brauchst du? Ich glaube, wir haben die
Icons schon, und wir haben sie eigentlich nicht. Lass uns
weitermachen und das hinzufügen. Wir haben nur den
Sprite hier unten. Um fortzufahren, müssen wir
dieses Vorschaubild zur Artikelinformation hinzufügen dieses Vorschaubild zur Artikelinformation wir zurück, gehen wir zu den Artikeln und fügen hier
tatsächlich
Informationen zur Artikelstruktur hinzu Fügen wir eine neue Variable
namens Thumbnail Nail hinzu. Fügen wir diese hinzu oder ändern wir
sie in eine Textur mit zwei D, was nur eine Textur ist, die
Sie importieren, oder ein Bild Und fahren Sie fort und wählen Sie die
Objektreferenz. Ich werde das direkt
über das Vorschaubild
oder den Artikelnamen nach oben verschieben über das Vorschaubild
oder den Artikelnamen nach oben Denken Sie daran, dass Sie jetzt
zu Ihrer Google Sheets-Datei gehen müssen. Jetzt
gehe ich hier rechts zu den Artikelinformationen. Ich klicke einfach mit der rechten Maustaste
hier oben und füge die
Spalte rechts ein. Nenn es Thumbnail. Das Gleiche wie die Variable. Jetzt können wir das
Vorschaubild hier hinzufügen, Referenzen. Gehen
wir nun zurück zu, lassen Sie uns sehen, ob wir sie hier in
den Objekten
haben , eigentlich nur
hier in den Texturen, Sie können sie einfach als Referenzen verwenden
, denn das sind die Elemente Ich möchte, dass du den Tisch öffnest. Die erste ist
die Lichtfeder. Auch hier, genau wie vor der
leichten Rechtsklick-Referenz. Gehen Sie zurück zu Ihrem
Dokument. Eingesetzt Als Nächstes klicken Sie mit der
rechten Maustaste hier, Referenz für die Fackel eingefügt Und mach weiter und tu
das für sie alle. Dies war der letzte für mich. Ich werde
weitermachen und erneut auf
Datei
Als CSV-Datei herunterladen klicken . Dann werde ich
diesen wieder in
meinen
Datentabellenordner importieren . Fahren Sie fort und portieren Sie es, und Sie sollten
alle Informationen haben. Gehen wir jetzt wieder zurück und
arbeiten und die Arbeit fortsetzen. Lassen Sie uns die
Artikelkarte des Shops noch einmal öffnen. Jetzt haben wir dieses Vorschaubild. Dieses Vorschaubild können wir
hier einfügen. Ich werde klicken, um einen solchen Umleitungsknoten zu erstellen,
und dann auf diesen klicken Und verstecke verbundene
Pins, kompiliere und speichere. Jetzt
sollte alles funktionieren. Wenn ich auf Play klicke, kannst du jetzt sehen, dass alle Icons hinzugefügt
wurden. Auch hier muss ich dieses
Feld etwas vergrößern, damit es nicht ausgeschnitten wird, wenn ich nur eine Karte
hinzufüge, damit ich es besser visualisieren
kann. Wenn ich also eine
Shop-Artikelkarte zur Artikelliste hinzufüge, kann
ich auf das vertikale Feld klicken und
es dann hier etwas vergrößern. Es schneidet also nicht so
aus. Jetzt können Sie sehen, dass
alles gut aussieht. Es sieht viel besser aus,
wenn Sie ein Symbol
neben Ihren Shop-Artikeln haben . Ja, so fügst du
sie hinzu und das sollte es sein. Mach einfach weiter und speichere.
Vergewissern Sie sich einfach erneut, klicken Sie auf dieses Symbol. Stellen Sie sicher, dass Sie angegeben haben, die Sichtbarkeit
nicht testbar Blockiere nichts. Ja, lass uns
mit dem nächsten weitermachen.
99. 11.01 Den Mauszeiger zum Shop hinzufügen: Ordnung, jetzt ist es
an der Zeit , etwas mit
dem Mauszeiger hinzuzufügen Bisher haben wir mit den Elementen
gearbeitet, aber jetzt wollen wir
etwas mit dem Mauszeiger machen. Im Moment klickst du auf
den Feind und verursachst 15 Schaden pro Klick.
Das ist gut. , wenn Sie
die Level durchqueren Nehmen wir jedoch an, wir haben
diesen automatischen Clicker und wir gehen
durch die Level Sie stellen fest, dass die Feinde viel mehr Gesundheit
erhalten
als zuvor 15. Schaden wird ihnen nicht wirklich
viel anhaben, besonders wenn wir
zum Beispiel auf Stufe 20 sind, müssen
wir
unseren Cursorschaden verbessern. Lass uns weitermachen und das tun.
Aber zuerst müssen wir den Click-Artikel
zum Shop hinzufügen, damit wir ihn kaufen
und den Cursor aktualisieren können. Machen wir weiter und
machen das zuerst. Übrigens können Sie versuchen, es selbst zu
tun, wenn Sie möchten. Das ist wirklich eine nette Übung. Lass uns versuchen, es zusammen zu machen. Wenn Sie sich nicht sicher
sind, wie Sie eine hinzufügen sollen, öffnen
wir die Aufzählungen. Und denken Sie daran, dass wir alle
Artikel hier aufgelistet haben. Lassen Sie uns eine neue Aufzählung hinzufügen und diese mit einem Mausklick aufrufen Ich werde es einfach als
erstes Element hinzufügen , weil ich
möchte, dass es ganz oben steht Das ist der Mausklick.
Lass es uns schließen. Als nächstes müssen wir
zur Datentabelle gehen. Öffnen Sie Ihre Google
Sheets erneut . Lassen Sie uns hier die Artikelinformationen
öffnen. Ich möchte es
als ersten Artikel hinzufügen. Mach weiter und nenne es
Mausklick. Klicken Sie auch hier. Nun zu dem Vorschaubild, das ich Ihnen in den
Kursmaterialien gegeben
habe Gehen
Sie einfach zurück zu den Assets, den Objekten
und den Texturen, ich Ihnen in
den Kursmaterialien gegeben habe Wenn Sie zu Objekten gehen, Cursor fort
und importieren Sie dieses Objekt, klicken Sie mit der
rechten Maustaste darauf, konvertieren Sie es oder wenden Sie Papier auf die Einstellungen an Klicken Sie nun mit der rechten Maustaste darauf und machen Sie daraus ein Sprite-Sprite Und ziehe es in die
Objekte hier drüben. Klicken Sie nun auf die Objekte. Jetzt haben wir dieses Sprite eingerichtet. Lass uns weitermachen und alles
speichern. Gehen wir zurück zur Datentabelle. nun für das Vorschaubild zu den Texturen, Gehen wir nun für das Vorschaubild zu den Texturen, klicken
wir mit der
rechten Maustaste und kopieren Sie die Referenz. Bei dieser Bearbeitung der Miniaturansicht wird
das Element als
Mausklick für das Element bezeichnet Dies ist die Aufzählung. Denken Sie daran,
es der Aufzählung hinzuzufügen. Wir brauchen auch eine Klausel dafür
, weil wir es auf dem
Boden spawnen müssen Lassen Sie uns eigentlich zu den
Bauplänen gehen und das machen. Wenn ich jetzt zu Items gehe und zur Artikelbasis
gehe, kann
ich mit der rechten Maustaste auf die Artikelbasis klicken einen untergeordneten Blueprint
erstellen Nennen wir es Mausklick. Und lass es uns öffnen. Klicken wir auf die
Render-Komponenten und fügen das einzige
Sprite am Cursor Kompilieren und speichern. Denken Sie daran, dass wir auch die
Artikelnamen für jeden Artikel hinzugefügt haben. Hier können Sie den Artikelnamen sehen.
Wir haben ihn, denken Sie daran,
für jeden Artikel geschrieben. musst du also
schreiben, sonst liest es nicht aus
der Datentabelle. Denken Sie daran, hier auf die
Klassenstandardwerte zu klicken. Nennen wir es Mausklick. So wie Sie
es in der Datentabelle genannt haben. Jetzt haben wir das erstellt, und um einen Verweis darauf zu erhalten, wie zuvor,
kopieren wir einfach dieses. Fügen Sie es hier ein. Ich werde
diese Lichtfeder einfach in Mausklick
umbenennen . Und dieser
auch. Mausklick. Okay. Nun zum Sprite, gehen
wir wieder zu den Assets-Objekten Wir können mit der rechten Maustaste auf
dieses Sprite klicken und die
hier
eingefügte Referenz kopieren Jetzt müssen wir festlegen,
was es kostet. Sagen wir einfach, es kostet vielleicht
zehn oder so. Wir können es später jederzeit ändern. Klicken wir nun erneut auf Datei, Herunterladen,
CSV-Datei herunterladen. Jetzt ziehe ich es
in den Ordner mit den Datentabellen. Ziehen Sie es erneut hinein und
speichern Sie alles. Stellen Sie einfach sicher, dass
hier alle Informationen korrekt sind. Alles sieht gut aus. Wenn ich jetzt auf Play klicke, kann
ich meinen Mausklick sehen. Und ich kann es auch hier sehen, ich kann auf Von klicken. Im Moment heißt es Null
für den Preis dieses Artikels. Etwas stimmt hier nicht. Denken Sie daran, das liegt daran, dass
wir
hier in der Artikelinformation diese Kosten für Münzen tatsächlich nicht mehr verwenden. Verwechseln Sie
uns nicht mehr. Gehen wir auch zu den Artikelinformationen und lassen Sie uns die Kosten für
Münzen von hier entfernen Gehen Sie fort und speichern Sie jetzt alles Stellen
wir sicher, dass wir
es aus der Datentabelle entfernen. Klicken Sie mit der rechten Maustaste und löschen Sie die Spalte, hier ist sie auch. Gehen wir jetzt zu den Artikelkosten über, denn hier haben
wir tatsächlich die Kosten. Lassen Sie uns das ändern. Lassen Sie mich einfach mit der rechten Maustaste
hier klicken und rechts eine neue
Spalte hinzufügen. Nenn es hier Mausklick. Nehmen wir an,
es beginnt mit 18, nur weil ich
eine andere Zahl
als alle anderen haben möchte , sagen
wir, das ist gleich eins mal 1.2. Ziehen wir sie ganz
nach unten Nun, das
wird natürlich eine Menge
Arbeit im Spieldesign erfordern , wenn du willst, dass all diese
Zahlen Sinn ergeben, aber im Moment testen wir nur Ich werde einfach die Tabelle mit den
Kostendaten für diesen Artikel
hier in der Engine
herunterladen . Lassen Sie uns weitermachen und es erneut
importieren. Gehen Sie zu den Datentabellen und importieren Sie die Artikelkosten. Die
Mausklick-Eigenschaft kann jetzt nicht in ST-Kosten gefunden werden. Schauen wir uns das gemeinsam an. Wenn ich auf Okay klicke und
einfach zu den STM-Kosten gehe. Wenn ich zur Benutzeroberfläche gehe, ich tatsächlich zur Struktur und öffne die Artikelkosten Das liegt daran, dass uns
diese Variable
hier fehlt . Lass mich eine neue hinzufügen. Nennen Sie es Mausklick, machen Sie daraus eine Ganzzahl. Zieh es einfach ganz
nach oben. Und fahren Sie fort und klicken Sie auf Alle speichern. Jetzt kostet dieser Artikel auch. Denken Sie im Player daran,
wenn ich zum Player gehe, haben
wir eine Funktion
aufgerufen, die aber kostet. Wenn ich darauf klicke,
müssen wir sie miteinander verknüpfen, sonst funktioniert es nicht mehr so
wie zuvor. Mach weiter und verbinde sie miteinander. Kompilieren Sie, wenn Sie sicherstellen
möchten, dass Sie
keine anderen Orte verpasst haben. Klicken Sie außerdem mit der rechten Maustaste
auf diesen Artikel Kosten, fahren Sie fort und klicken Sie auf
Referenzen suchen, nur um sicherzugehen. Und klicken Sie auf das kleine Symbol Daraufhin werden Ihnen
alle Referenzen angezeigt , die
Sie dafür verwendet haben. auf dieses klicken,
haben wir hier nicht wirklich
etwas getan. Alles sollte gut
funktionieren. Gehen wir jetzt zurück zu den Datentabellen und ich
werde sie erneut importieren, damit es so korrekt ist. Jetzt ist es in Ordnung. Jetzt klicken
wir auf Play. Jetzt ist mein Motor
abgestürzt und das passiert normalerweise
manchmal, wenn man Dinge innerhalb
einer Struktur
bearbeitet und versucht,
auf Play zu klicken, stürzt es ab Aber wenn du das
zweite Mal öffnest, sollte es funktionieren. Wenn ich jetzt auf Play klicke und du manchmal solche
Dinge siehst, kannst
du das tatsächlich beheben. Manchmal muss es aktualisiert werden. Wenn Sie die
Wiedergabesteuerung öffnen und auf Datei klicken, alle Knoten
aktualisieren und erneut auf Abspielen
klicken, sollte
es funktionieren. Ich weiß nicht, warum es
das tut, manchmal
tut es das normalerweise auch bei meinen
anderen Spielen. Aber du kannst rausgehen und dich aktualisieren
und es funktioniert einwandfrei. Okay, jetzt können Sie sehen, dass der
Mausklick einwandfrei funktioniert. Und wenn ich immer mehr kaufe, funktioniert
es auch gut. Es zeigt mir den Preis. Jetzt müssen wir einen
Spannpunkt für diesen Mausklick hinzufügen. Und das machen wir
in der nächsten Lektion.
100. 11.02 Den Mauszeiger zum Startpunkt hinzufügen: Um die Maus hinzuzufügen.
Also Spawnpoint, lass uns das hier machen Öffnen wir die Spawn-Punkte. Jetzt haben wir Spawnpunkte für diesen
Gegenstand, sodass wir nicht wirklich Kinder erstellen
müssen.
Denken Sie daran, dass wir nur diesen verwenden Wir können auf den ersten klicken
und sicherstellen, dass es ein Mausklick ist Dies ist standardmäßig so, weil wir die
Aufzählung
zuvor neu angeordnet haben die
Aufzählung
zuvor neu angeordnet Wenn Sie auf diesen
einen Mausklick klicken, öffnen Sie
jetzt Ihre Aufzählung
und stellen Sie sicher , dass alle in der
richtigen Reihenfolge sind Ich glaube, dass einer von ihnen
falsch ist , weil wir
immer noch zehn haben und wir den
Mausklick als einen von ihnen haben, eines dieser Elemente fehlt Stellen Sie einfach sicher, dass Sie sich alle
durchklicken und sicherstellen
, dass
sie korrekt sind. Ich werde das einfach hier oben
kopieren. Lassen Sie mich sicherstellen, dass es
die gleiche Entfernung ist wie bei allen anderen und
dass es so ist. Ich stelle sicher, dass dies
ein Mausklick ist. Der nächste ist Light Feather. Und gehen Sie sie hier einfach durch. Der nächste ist Torch und so weiter. Okay, jetzt sind sie in
der richtigen Reihenfolge. Mach weiter und speichere sie alle
, wenn sie es sind. Wenn du jetzt auf Play klickst
und versuchst, es zu spawnen, wird
es nicht erscheinen Denken Sie daran
, dass wir einige festgelegt haben, um die wir uns kümmern müssen Wenn ihr den Spielmodus öffnet und euch daran erinnert, was ihr
mit den Gegenstandspunkten gemacht habt, haben wir
hier diese Funktion namens Gegenstände
auf Punkte setzen und Gegenstandspunkte sammeln erstellt . Lass uns diese Funktion öffnen: Gegenstände
punktgenau platzieren. Wir müssen einen
für die Mausklicks machen. Ich werde diesen duplizieren. Ich werde es
Mausklickpunkte nennen. Mach weiter und füge es hier hinzu. Stellen wir sicher, dass wir nichts anderes
haben. Lass uns kompilieren. Gehen wir zu Get Items, um auch
Punkte zu finden. Lass mich das hier einfach
kopieren und einfügen. Löschen Sie diesen und fügen Sie stattdessen
die Mausklicks hinzu.
Fahren Sie fort und stellen Sie eine Verbindung her. Kompilieren. Ich glaube,
das sollte es sein. Klicken Sie auf dieses, Sie können
sehen, dass es richtig funktioniert, genau wie die anderen Artikel. Jetzt funktioniert das einwandfrei. Jetzt gibt es
momentan ein Problem damit, weil es nicht Null DPS anzeigen sollte,
und es sollte auch
nicht angezeigt werden, dass
derzeit Null DPS angezeigt Das Problem mit
diesem ist momentan, dass
die Maus nicht wirklich
Schaden pro Sekunde verursacht, die Maus verursacht Schaden pro Klick Anstatt
Schaden pro Sekunde anzuzeigen, müssen
wir
Schaden pro Klick anzeigen. Im Moment heißt es Null Schaden pro
Sekunde, weil
wir in den Artikelinformationen nicht angegeben haben, wir in den Artikelinformationen nicht angegeben haben wie viel Schaden pro
Sekunde es haben sollte Du könntest zum Beispiel fünf sagen. Und wenn ich auf Play klicke, siehst
du, dass dort fünf steht. Aber auch hier sind wir nicht wirklich an Schaden pro Sekunde interessiert, wir sind eher an Schaden pro Klick
interessiert. Lassen Sie uns also weitermachen und
das als Nächstes beheben.
101. 11.03 Den Schadentext richtig anzeigen: Damit der Text korrekt
angezeigt wird? Offensichtlich müssen wir jetzt
zur Benutzeroberfläche gehen
und den Tooltip ansehen.
Lass uns hier reingehen Lassen Sie uns
jetzt für den DPS öffnen , nur um sicherzugehen, dass der Text korrekt angezeigt wird Nun zum Schaden,
ich
schreibe einfach etwa
40, um sicherzugehen , dass das, was ich mir ansehe, falsch oder statisch
ist Ich stelle sicher, dass ich,
wenn ich auf „Abspielen“ klicke wirklich das Original sehe , nur um sicherzugehen
, dass ich keine Ära habe. Nun, hier in der Grafik müssen
wir sicherstellen, dass dort für die Maus steht, dass jeder Mausklick
fünf Schaden pro Klick verursacht. Und derzeit verursacht
es zum Beispiel fünf Schaden pro Klick
anstelle von Schaden pro Sekunde Denken Sie beim ersten Text daran,
wie sie heißen. Der erste
heißt, gibt DPS und der zweite
gibt DPS-Betrag Nun, das müssen wir nicht
wirklich ändern,
wir müssen nur den DPS-Betrag angeben und wenn wir den
DPS-Betrag machen, gehen
wir zurück Dieser gibt den DPS-Betrag an. Anstatt diesen zu sagen, werde
ich die Verbindung trennen Ich werde von
hier aus Regie führen und Select sagen. Jetzt müssen wir
einen ausgewählten Knoten verwenden. Wofür werden
wir nun auswählen? Wir werden auswählen, ob es sich um einen Mausklick
handelt oder nicht. Denken Sie daran, dass wir
die Artikelinformationen hier haben. Und wenn ich
dieses Vorschaubild einfach ausblende , weil
wir es nicht brauchen Aber ich zeige dieses Objekt, das wir von hier
ziehen können, und dann Equal,
Equal Enum sagen , wenn das gleichbedeutend ist Mausklick und füge
es hier unten ein Was wir jetzt sagen können ist:
Denken Sie daran, dass wir ein Textformat
verwenden müssen Ich ziehe wieder
hierher und sage Text formatieren. Ich werde hier
unten auch einen verwenden, Text formatieren. Nun zu diesem, wenn es kein Mausklick
ist, sollte
es einfach
dasselbe sagen wie zuvor. Fahren Sie fort und fügen Sie es in Eingabetaste ein, um dies zu sehen. Jetzt ist das der
DPS-Betrag, genau wie zuvor. Ich werde das tatsächlich wieder hierher
ziehen und ich werde es einfach
wegschieben , damit ich etwas
Platz habe Nun zu diesem, wenn es
wahr ist , dass
das der Mausklick ist, möchte
ich hier
anstelle von DPS einfach Schadenssummen sagen Sagen wir Schaden pro Klick. Jetzt sage ich
Schaden pro Klick. Im Grunde genommen
ist der Schaden pro Sekunde hier. diesem DPS können
wir festlegen, wie viel Schaden er anrichten soll wie viel Schaden er dir geben soll oder
wie viel Schaden er dir geben soll, wann immer
du im Laden kaufst Wenn ich einfach kompiliere
und zu
meiner Datentabelle zurückkehre, nur um
sicherzugehen, dass sie korrekt ist,
öffne ich meiner Datentabelle zurückkehre, nur um
sicherzugehen, dass sie korrekt ist, dafür die Artikelinformationen, die tatsächlich keinen Artikel
kosten Ich werde nur
sagen, dass es mir jedem Upgrade
25 Schaden zufügt. Und stellen Sie sicher
, dass Sie zu
Ihren Google Sheets gehen und es hier ändern, sonst wird es falsch sein. Sie jedes Mal, wenn Sie diese Tabelle
importieren sicher, dass sie hier
beispielsweise 25 ist. Gehen wir jetzt hier zurück zum Tooltip und lassen Sie uns weitermachen Das sollte korrekt sein.
Ich kann diesen löschen und alles zur
Seite schieben , damit ich sie
in der Ansicht habe. Ordnung. Ich
ordne die Dinge einfach gut Das ist jetzt richtig.
Jetzt lass uns weitermachen. Das nächste ist dieser
eine Text, der DPS macht. Diesen, bevor du ihn
von hier ziehen und Auswählen sagen kannst. Dann kurz vor dem Formatieren
für das erste, formatieren Sie Text, formatieren Sie Sex
für das zweite. Auch hier sollte es wählen, ob es der Mausklick
ist oder nicht. Ich werde das einfach hier
reinziehen, genau wie zuvor. Wenn es nicht der Mausklick ist, fügen
wir einfach diesen hinzu , den wir zuvor hatten.
Wir ändern es jetzt nicht. Wenn es jedoch der Mausklick
ist, wollen wir hier den
Gesamtschaden sagen. Dies ist zum Beispiel die
Gesamtsumme des Schadens. Dieser wird im Grunde sagen
, dass er derzeit
zum Beispiel 60 Schaden anrichtet. Sie können es auch Schaden pro
Klick nennen , wenn Sie konsistent bleiben
möchten. Nennen wir es Schaden pro Klick. Nun zum Schaden:
Es ist nicht wirklich dieser Schaden pro Sekunde, den wir hier hinzufügen, aber es ist richtiger,
die Cursor-Schadensvariable hinzuzufügen Denken Sie an das Innere des Spielers, wenn ich zurückgehe,
ist das schon lange her Eigentlich
haben wir von
Beginn des Kurses an diesen Cursor
Damage Float hier erstellt, wir können diesen hinzufügen. Ich gehe zurück zum Tooltip, wir haben den
Spieler schon, wenn ich
vom Spieler ziehen und
Cursorschaden sagen kann . Jetzt können wir das
hier hinzufügen und es sollte gut
funktionieren. Auch hier werde ich diesen für
diese Nummer löschen. Nochmals, stecken Sie es hier ein
, damit es nicht falsch ist. Das hatten wir schon einmal. Ich werde die Dinge einfach schön
neu anordnen. Ordnung, einfach so und mach weiter und kompiliere
und speichere alles Lass uns auf Play klicken und sehen, was passiert, wenn ich
mit der Maus darüber halte. Es heißt, dass jeder
Mausklick 25 Schaden pro Klick verursacht. Man kann es auch DPC nennen, ich glaube, das ist ein
Begriff, statt DPS kann
man DPC für Schaden
pro Klick nennen, wenn man Sie können sehen, dass es nicht wirklich
etwas aussagt und das liegt daran, dass wir
es nicht aktualisieren wie all die anderen, die wir
tun. Das ist eigentlich das nächste
, was wir tun müssen. Wir müssen
das aktuelle Update aktualisieren, da es
dir tatsächlich 25 Schaden pro Klick zufügt. Aber du kannst
es nicht sehen, weil du den
Text darunter
nicht aktualisierst. Sie aktualisieren diese Variable, die
den Cursor beschädigt, nicht. Lassen Sie uns mit der
nächsten Lektion fortfahren und das tun.
102. 11.04 Schaden des Mauszeigers aktualisieren: Es ist jetzt an der Zeit,
die Maus zu aktualisieren , wenn du auf Spielen und kaufen
klickst Wenn Sie
hier mit der Maus klicken, können Sie sehen dass sie
automatischen Schaden
anrichtet, was nicht
passieren sollte, da der
Mausklick im Grunde
dort ist, wo Sie
auf den Feind klicken und er mehr Schaden anrichten
sollte. Lass uns weitermachen und
den Mausschaden verbessern ,
anstatt den automatischen DPS Lassen Sie uns das schließen. Und das haben wir
im Player gemacht. Wenn du den Player öffnest und wir zurück zum
Event-Diagramm gehen, wenn du „Organisieren“ sagen möchtest, kannst
du jederzeit mit der rechten
Maustaste hier oben klicken und die Tabs auf der rechten Seite
schließen damit wir nicht alles
sehen müssen. Denken Sie daran, dass wir beim Kauf des
M den gesamten Schaden pro Sekunde
aktualisiert haben Das war diese
Funktion hier. Anstatt
den gesamten DPS
beim Kauf per Mausklick zu aktualisieren , sollten wir das hier tun Wir wollen stattdessen die Maus
aufrüsten. Hier ist rechts
in den Funktionen, wir können auf das Plus klicken. Lassen Sie uns eine neue Funktion
namens Cursorschaden erhöhen erstellen. Das einzige, was
sie hier in der Eingabe tun wird, ist, einen Float hinzuzufügen
und diesen einen Schaden hinzuzufügen. Nehmen wir den Cursorschaden wir zuvor verursacht haben. Fügen wir den
Schaden hinzu, den wir hinzufügen möchten. Dann setzen wir es wieder
in diese Variable zurück. Jetzt haben wir also diesen
neuen Cursorschaden. Das ist im Grunde die Funktion
dieser Funktion hier, dass sie nur den Schaden, den
wir dem Cursorschaden
hinzufügen wollen, hinzufügt und ihn hier als neuen Wert
festlegt. Kehren wir zum
Ereignisdiagramm zurück und verwenden wir
diesen, um den Cursorschaden zu erhöhen,
anstatt den gesamten Schaden pro Sekunde für die Maus Um nun zu wissen, ob es die Maus
handelt oder nicht,
denken Sie daran, dass
wir hier in
der Artikelstruktur auf die Artikelinformationen klicken und
alles vorerst ausblenden können , dass wir hier in der Denken Sie daran, dass wir hier in der Aufzählung die
Mausklick-Aufzählung
gemacht haben die
Mausklick-Aufzählung
gemacht Ich mache, klicken Sie hier und ich ziehe
von hier aus Und dann sage ich
Gleiche, gleiche Aufzählung. Und dann mach weiter und wähle
diesen Mausklick hier. Wenn diese Aufzählung einem Mausklick
entspricht, wenn dieses Element,
über das wir sprechen, einem Mausklick entspricht So wie wir das
innerhalb der Datentabelle wissen, geben Sie hier
Ihre Informationen ein Wenn Sie die Artikelinformationen öffnen und dann mit der Maus klicken,
denken Sie daran, dass wir das Objekt hier
als Mausklick eingestellt haben, damit es weiß,
was Sie ausgewählt haben. Wenn Sie hier
etwas falsch ausgewählt haben, erhalten
Sie eine
Fehlermeldung, wenn das Objekt hier mit der Maus angeklickt wird und wir von hier aus ziehen und
dann eine Verzweigung erstellen können. Jetzt werde ich es hinzufügen.
Nachdem ich den Gegenstand gespawnt habe, werde ich die
Verbindung zu diesem Objekt tatsächlich trennen Und lass uns die hierher ziehen. Bevor wir die Benutzeroberfläche aktualisieren, da wir dies tun müssen,
bevor wir die Benutzeroberfläche aktualisieren, die Benutzeroberfläche korrekt aktualisiert. Wir müssen die Informationen hinzufügen, wir werden das Objekt spawnen und dann werden wir diesen Zweig
verbinden Okay, das ist der Mausklick. Wenn der Gegenstand der Mausklick ist, wollen
wir
den Kristallschaden erhöhen. Ist dies nicht der Fall, möchten wir den gesamten DPS
aktualisieren. Denken Sie dann daran,
sie wieder hierher zu verbinden. Wenn du
etwas übersichtlicher bleiben möchtest, kannst
du an einem hinteren
Routenknoten wie
diesem jederzeit auf diesen doppelklicken . Und du kannst das nehmen und es hier
einstecken,
damit es besser aussieht. Jetzt wollen wir den
Schaden, den wir hinzufügen wollen, hier hinzufügen. Nehmen wir einfach das DPS. Wenn ich hier drüben klicke, klicke
ich auf das DPS und ich kann es bis
zur Funktion ziehen Auch hier werde ich
einige hintere Routenknoten dafür erstellen. Und einfach so, okay, jetzt haben wir das DDPS blockiert Nun, jedes Mal, wenn wir
den Mausklick verbessern, werden
wir ihn zum erhöhten Cursorschaden hinzufügen ,
statt zum gesamten
Schaden werden
wir ihn zum erhöhten Cursorschaden hinzufügen,
statt zum gesamten
Schaden pro Sekunde.
Wenn ich jetzt kompiliere und auf Play
klicke und
hier ein Upgrade durchführe, kannst
du sehen, dass meine Benutzeroberfläche korrekt ist
oder aktualisiert Wenn ich auf den Feind klicke, richtet
er auch den
richtigen Schaden an. Wenn ich auf ihn klicke, heißt es 65. Wenn ich erneut aktualisiere, heißt es 90. Ich führe ein
paar Mal erneut ein Upgrade durch. Es heißt 240 und es
sollte jetzt 340 heißen. Und Sie sehen, dass es die
richtige Menge an Schaden anrichtet. Jetzt sind wir mit dem
Upgrade des Cursors fertig.
103. 11.05 Das Mauszeiger-Widget entwerfen: Um es ein bisschen
interessanter zu machen, lassen Sie uns
den Mauszeiger ändern, da Sie sehen
können, dass wir den normalen
Windows-Mauszeiger haben Aber lassen Sie uns es
in ein anderes Symbol ändern, damit es ein bisschen
besser aussieht, das zu tun. Ich habe dir hier
in den Kosteninformationen Informationen gegeben, ich habe dir
einige Mauszeiger gegeben , die ich tatsächlich in Farm Tail
verwendet habe, aber wir können sie jetzt verwenden Gehen wir hier zur
Benutzeroberfläche und zu den Symbolen. Ziehen wir diese
Symbole einfach hierher. Jetzt müssen Sie
auf
diese Einstellungen kein Papier mehr auftragen, da es
sich nicht um die Pixelmenge handelt. Gehen wir zurück zur Benutzeroberfläche. Und lassen Sie uns hier mit der rechten Maustaste klicken neue
Benutzeroberflächen-Widgets
erstellen. Fahren Sie fort und klicken Sie
hier. Nennen wir diesen einen Mauszeiger. Lass es uns hier drinnen öffnen. Was ich
zuerst tun möchte, ich möchte
ein Leinwand-Panel hinzufügen .
Ziehen wir das nach unten. Das einzige, was wir hinzufügen
wollen, ist ein Bild. Und das wird der Cursor sein. Was ich noch einmal machen werde, ich werde
hier oben klicken und
auf dem Bildschirm „Gewünschtes“ für dieses Bild sagen . Wir können ihm eine Größe geben. Was nun die Größe des Bildes angeht, hängt
es von der Größe des
Mauszeigers ab. Wenn ich zu den Symbolen gehe und mir diesen Mauszeiger ansehe, ist
es 93 mal 101. Lassen Sie uns also das schreiben, 93.100.1 Wie Sie sehen können, ändert sich
die Bildgröße Das liegt daran, dass Sie auf Größe zum Inhalt
klicken müssen, und jetzt ist es korrekt Okay, das ist richtig. Jetzt
wollen wir es
auch
auf dem Bildschirm zentrieren. Und da ich nicht hier oben bin, werde
ich den
Anker in die Mitte ändern. Und ich werde hier
00 in X und Y schreiben. Und wir wollen nicht
0,5 in die Ausrichtungen schreiben, weil die Maus tatsächlich
in die Mitte der Leinwand klickt in die Mitte der Leinwand Das ist soweit richtig.
Wenn wir auf dieses Widget klicken, ändern
wir es in den Cursor. Und das ist die Standardeinstellung. Der Mauszeiger hier. Und lassen Sie uns kompilieren und speichern. Ich glaube, wir müssen es
kleiner machen , weil es im Spiel
sehr groß sein wird. Aber wir müssen es
zuerst testen, bevor wir es wissen. Auch für dieses Image möchte
ich es so einstellen, dass es
nicht testbar ist, damit es das Spiel nicht beeinträchtigt Jetzt ist es einsatzbereit. Gehen wir zurück zum
Player-Controller. Innerhalb des Player-Controllers wollen wir, genau wie bei dem, was
wir zuvor mit der Benutzeroberfläche
gearbeitet haben , mit diesem hier
oben im
initialisierten Player arbeiten hier
oben im
initialisierten Player Jetzt werden wir hier kein Widget öffnen
und schließen. Es macht keinen Sinn
, hier Kredit aufzunehmen. Stattdessen werden wir
es dem ersten Spieler hinzufügen. Ich werde einfach diese Widgets
kopieren. Und lass uns nach
unserem Mauszeiger suchen . Lass uns
zuschlagen, klicke hier. Machen Sie daraus eine Variable
und nennen Sie sie Mauszeiger. Wenn Sie nun von hier aus ziehen
und einfach nach Maus
suchen, sehen Sie etwas namens
Mauszeiger-Widget setzen. Dies ist eine Standardfunktion
in Unreal Engine. Wenn Sie darauf klicken,
möchten Sie hier
im Grunde Standard auswählen Dies wird unser Standardcursor sein. Wir haben jetzt definiert
, dass dieses Widget wir gerade erstellt haben, jetzt
der Standardcursor ist. Wenn Sie auf Play klicken,
können Sie jetzt sehen, dass dies die Maus ist. Wir können damit klicken, und Sie können sehen, dass es sehr präzise
ist. Jetzt schiebe ich
es ein bisschen nach oben, denn wie Sie sehen können,
klickt es ein bisschen nach oben. Wenn wir zum Widget zurückkehren, denke ich, dass ich es
jetzt etwas
kleiner machen werde , weil
es vielleicht zu groß ist. Gehen wir zurück und reparieren das. Gehen wir zurück zur
Benutzeroberfläche und öffnen den Cursor. Sie können jederzeit
hier klicken und zum Beispiel
minus fünf hier,
minus fünf hier drin sagen . Minus fünf auch zwischendurch. Ich glaube, ich sage hier
wieder minus fünf, minus fünf. Wenn ich auf Play klicke
und mir das
ansehe, kann es meiner Meinung nach etwas kleiner sein. Nochmals, minus zehn,
vielleicht minus zehn hier. Klicken Sie auf Abspielen. Ich denke,
das ist jetzt viel besser. Wenn du es nun nach oben
drücken willst, kannst
du die
Position in X und Y jederzeit anpassen. Wenn du fünf schreibst, ist es eigentlich minus fünf, wenn du in
die andere Richtung gehst Sagen wir mal minus
fünf mal minus fünf. Das ist viel besser. Sie können auch hier versuchen, dies so gut wie
möglich
anzupassen , wenn
Sie zufrieden sind. Das ist jetzt die Maus, die wir haben. Jetzt brauchen wir auch ein Klick-Event, denn wie Sie sehen können,
wenn wir klicken, hat
es nicht wirklich einen
weiteren Effekt. Und ich denke, wir können es ein bisschen besser
machen indem wir einen Klick-Effekt haben. Dies ist der andere Cursor, den
wir importiert haben. Das ist der gedrückte, okay, also wenn wir jetzt hierher zurückkehren, setze ich diese Position x auf minus acht und minus fünf
, um es ein bisschen besser zu machen. Wenn Sie nun bereit sind, gehen
wir zur
Grafik und mischen uns ein. Lass uns das alles löschen. Ich möchte ein neues benutzerdefiniertes Ereignis erstellen. Lassen Sie uns ein neues benutzerdefiniertes
Ereignis erstellen und
dieses One Set Image nennen . Was wir hier machen wollen, ich will
eigentlich eine neue Aufzählung Wenn Sie zum Blueprint gehen
und Aufzählungen öffnen, klicken
wir mit der rechten Maustaste und
erstellen eine neue Aufzählung klicken
wir mit der rechten Maustaste und
erstellen eine Dies
wird im Grunde
eine Liste der Zustände enthalten, in denen die Maus gedrückt
wurde Wenn ich einfach seinen Status anrufe, öffne
ich ihn, eigentlich
gebe ich ihm hier am Ende ein S. Nun zu den
Mauszeigerzuständen, wir könnten einen
Standard-Mauszeiger haben, wir könnten einen
gedrückten Mauszeiger haben. Jetzt haben wir diese beiden Zustände. Wenn ich jetzt zum Widget
zurückkehre und
dies als Eingabe hinzufüge, suchen
wir nach Mäusen und wählen diese Aufzählung aus, die
wir gerade Ich nenne es Moussa gibt hier das Ziel
an. Wir versuchen, dieses Bild zu
ändern, je nachdem, ob wir gedrückt haben oder nicht Ich nenne
dieses Bild einfach Mauszeiger. Setzen wir es auf eine Variable, damit
wir es im Code ändern können. Wenn ich hierher zurückgehe, ziehe
ich das und sage „Pinsel aus Textur setzen“. Jetzt
hängt die Textur davon ab, was wir als Mauszeigerstatus
haben. Wenn ich einfach von
hier ziehe und Auswahl sage und diesen Knoten hier auswähle, können wir ihn
in den Index ziehen. Wenn es nun der Standardstatus ist, haben wir das
in die Aufzählung geschrieben Wenn es der Standardstatus ist, möchte
ich
diesen Mauszeiger auswählen Wenn es der gedrückte Zustand ist, möchte
ich diesen
Mauszeiger hier auswählen. Jetzt können wir dieses eingestellte Bild verwenden,
je nachdem, was wir im Spiel
machen. Denken Sie daran, die Tasten zu drücken. Das haben wir
im Player gemacht. Wenn ich zurück zum Player gehe, gehe
ich zum
Event-Graph, das ist richtig. Jetzt müssen wir
das Event finden, das wir
verwendet haben, wenn wir auf den Feind
geklickt haben. Jetzt haben wir noch kein
wirkliches gemacht, weil das, was wir
bisher gemacht haben, innerhalb des Feindes passiert
ist Wir haben hier dieses Klick-Event. Das hier oben hat
auf die Kapselkomponente geklickt. Wir haben hier nicht wirklich
eine Veranstaltung veranstaltet. Immer wenn wir
mit der Maus klicken, müssen
wir das eigentlich auch
tun. Um das zu tun,
müssen wir mit Eingaben arbeiten. Lassen Sie uns das in
der nächsten Lektion machen.
104. 11.06 Die Mausklick-Eingabe hinzufügen: Ordnung, um das Ganze zu beenden, müssen
wir eine Mauseingabe für
jedes Mal hinzufügen , wenn wir mit
der Maus klicken , damit wir das Bild
ändern können Dazu müssen wir
eine Eingabe für den Spieler hinzufügen. Wenn ich einfach schreibe, klicke hier
und erstelle einen neuen Ordner, und ich nenne
ihn einfach Player. Und zieh das hier rein. In diesem Player werde
ich klicken und
erneut einen neuen Ordner erstellen, den ich Input nenne. Gehen wir nun in diesen Ordner hinein
und klicken Sie hier mit
der
rechten Maustaste auf die Eingabe. Wenn Sie noch nie
damit gearbeitet haben, fügen Sie hier die
Tastaturtasten usw. hinzu. Also wann immer du in
einem RPG-Spiel herumläufst und so weiter. Also im Grunde nur die Eingabe für Tastatur, Maus
und Pads Lassen Sie uns zunächst einen
Eingabe-Mapping-Kontext erstellen. Das müssen Sie
tun. Nennen wir das IMC Für den Eingabe-Mapping-Kontext können
Sie es einfach Standard nennen Okay. Klicken Sie erneut mit der rechten Maustaste. Eingabe, und wir müssen etwas
erstellen, das
als Eingabeaktion bezeichnet wird. Mach weiter und erstelle
eine. Nennen wir das einen
Mausklick, zum Beispiel Mausklick. Lassen Sie uns diesen
öffnen. Was wir
hier drinnen tun
müssen, ist im Grunde nichts. Lass es uns schließen,
weil wir nur mit der Maus
klicken müssen und
schon sollte etwas passieren, also
müssen wir hier nicht wirklich etwas tun. Lassen Sie uns den
Eingabe-Mapping-Kontext öffnen. Hier müssen
wir auf das Plus klicken. Wenn Sie jetzt auf das Plus klicken, müssen
Sie eine Eingabeaktion hinzufügen. Das haben wir gerade erstellt und als Mausklick
bezeichnet. Für diese Eingabeaktion
müssen Sie eine Schaltfläche zuweisen. Für diesen hier klicke ich
einfach hier. Und dann klicke ich mit der
linken Maustaste. Und es wird
es automatisch zuweisen. Finden Sie es auch hier oben, wenn Sie
einfach nach Maus suchen und sehen
können, dass Sie
all diese Dinge hier auswählen können, aber wir haben es schon
hier. Linke Maustaste. Ich werde
hier in den Triggern klicken, ich werde auf Plus klicken und den Auslöser auswählen, der gedrückt
heißt. Der Grund, warum ich das mache,
ist, wenn
du es nicht tust, wirst du
mehrmals klicken. Ich werde dir zeigen, ob ich das vorerst einfach lösche Wir können es einfach lassen und
dann wieder darauf zurückkommen. Jetzt müssen wir
das dem Player hinzufügen. Wenn ich zum Player zurückkehre, öffne
ich den Player, wir müssen hier den
Eingabe-Mapping-Kontext hinzufügen. Bevor es funktioniert, machen wir
das, bevor wir die
Anzahl der Symbole und des
Schadens usw. aktualisieren . Also lass es uns hier drinnen machen. Was wir tun können, ist
den Player-Controller zu benötigen. Ich nehme tatsächlich
diesen Player-Controller, du kannst nach Enhanced suchen,
du siehst dieses Subsystem namens Enhanced Input Local
Player Subsystem Wählen Sie das aus bevor wir weitermachen
und damit arbeiten Immer direkt von
hier aus und sag ist gültig, weil es
manchmal zu einer Fehlermeldung führt , wenn es nicht geladen
wurde und du versuchst, den Spieler zu bewegen oder Eingabeaktionen auszuführen. Fahren Sie fort und wählen Sie zuerst
ist gültig. Wann immer es gültig ist, können
wir von hier aus ziehen
und sagen, dieses eingeben. Fügen Sie den Mapping-Kontext hinzu,
fahren Sie fort und wählen Sie aus. Sie dann für den
Mapping-Kontext den aus, Wählen Sie dann für den
Mapping-Kontext den aus, den Sie gerade erstellt haben. Jetzt sollte es
gut funktionieren zu testen, ob das
tatsächlich funktioniert oder nicht. Sie können einfach hier hingehen
und schreiben, klicken und nach dem Namen der
Eingabeaktion suchen, den Sie erstellt haben. Ich habe den sogenannten
Mausklick erstellt . Mach
weiter und wähle es aus. Ich werde nur
eine Zeichenfolge auf den Bildschirm drucken. Kompilieren. Wenn ich hier klicke, siehst
du, dass dort Hallo steht. Wenn ich mit der
Maus klicke, heißt es Hallo. Der Grund, warum wir einen Trigger hinzufügen
müssen der für die Eingabeaktion
gedrückt wird,
ist, dass Sie sehen können ,
ob ich die Maus
gedrückt halte, um diesen Code, den ich hier
hineinschreibe, als
Spam zu versenden. Und das wollen wir nicht. Wenn ich zum
Eingabe-Mapping-Kontext
und zu den Triggern zurückkehre , klicke
ich auf das Plus und
füge diesen gedrückten Zustand hinzu. Drücken bedeutet,
dass der Code nur einmal
abgespielt wird ,
wenn ich hier klicke. Und dieser Code wird abgespielt
, wenn ich einfach noch einmal eine Druckzeichenfolge
schreibe
und auf Abspielen klicke. Wenn ich jetzt die Maus gedrückt halte, können
Sie sehen, dass es
kein Spam wird. Es wird es nur einmal sagen. Jedes Mal, wenn ich klicke
, werde ich mehrmals klicken. Jetzt können Sie sehen, dass es immer nur tief gedruckt wird
, wenn ich mit der Maus
klicke, und es
wird nur einmal gedruckt. Das dient nur der Optimierung,
damit du das
nicht immer und immer wieder spielst . Jetzt können wir
diese Eingabeaktion tatsächlich verwenden. Lass mich das alles einfach nach oben verschieben. Lass mich das hier unten hinzufügen. Jetzt können wir damit unseren Mauszeiger
anzeigen. Denken Sie daran, dass
sich der Mauszeiger im
Play-Controller befindet. Nehmen wir wieder
den Play-Controller. Lassen Sie uns von hier aus nachverfolgen und dem
Widget
suchen, das wir erstellt haben. Wenn Sie nach Maus suchen
und nach unten gehen, befinden
sich
Ihre Variablen immer dort. Wir haben diesen einen
B-Mauszeiger hier drinnen erstellt. Wenn Sie sich nicht erinnern, gehen wir
einfach zurück zum Rückruf. Gehe zu dem Diagramm, das wir erstellt haben. Dieses Bild heißt Set
Mouse Cursor Image. Wenn ich zum Player gehe, ziehe
ich und sage „
Maus pro Bild einstellen“. Immer wenn es ausgelöst wird, stellen
wir
das P so ein, dass es gedrückt wird. Anstatt das einfach zu tun, müssen
wir jetzt zwei Dinge tun. Wann immer es abgeschlossen ist und
wann immer es ausgelöst wird. Wann immer es ausgelöst wird, stellen
wir es auf Drücken ein, und wir kopieren
das und fügen es ein. Und ziehen Sie das in das Ziel
, wenn es fertig ist. Machen wir die Standardeinstellung,
schauen wir mal, was passiert. F p, Sie können sehen, dass es
tatsächlich funktioniert, aber es wird
sehr schnell ausgelöst Das liegt daran, dass es das hier
auslöst. Aber wann immer
es abgeschlossen ist, was
fast sofort passiert, wird
es wieder auf die Standardeinstellung gesetzt Das ist tatsächlich
das, was passiert. Deshalb
sieht es so aus. Um das zu beheben, kehren
wir hier
zum Eingabe-Mapping-Kontext zurück. Fügen wir noch einmal einen hinzu. Fügen wir einfach dasselbe hinzu. Die linke
Maustaste, klicken Sie hier. Klicken Sie mit der linken
Maustaste auf Ihrer Tastatur oder mit der Maus in den Triggern. Klicken Sie auf das Jetzt, anstatt nur hier oben zu drücken. Wir müssen auch Freigegeben auswählen. Mach weiter und mach das. Speichern.
Gehen wir zurück zum Player. Eigentlich musst du nichts tun. Es ist richtig, wenn
ich auf Abspielen klicke, jetzt kannst du sehen, ob
ich klicke, lasse ich los. Das ist jetzt richtig. Das ist Do the Mouse. Jetzt können Sie sehen,
dass es mit der Maus einen cooleren Effekt hat, wenn wir
den Cursor auf diesen
statt auf den Standardcursor geändert haben . Und wir haben auch die gedrückten
Zustände. Wenn Sie in Zukunft
weitere Maus-Widget-Status hinzufügen möchten , müssen Sie in
die Aufzählung,
die Blueprints, gehen und die
Status hier hinzufügen Denken Sie dann daran, zur Benutzeroberfläche zu gehen, den Mauszeiger zu
öffnen und auch im Diagramm die richtigen Bilder auszuwählen, die Sie hier verwenden möchten
105. 12.01 Die endgültige Karte entwerfen: In Ordnung, jetzt ist es an der
Zeit, die Karte zu entwerfen. Also klicke ich auf Play. Alles sieht gut aus. Wir haben das Level,
wir haben den Laden, wir haben die Münzen, wir
haben den Mauszeiger. Aber lassen Sie uns jetzt tatsächlich auch das Level selbst
entwerfen. Jetzt mache ich
es in meiner Freizeit, aber nur um dich daran zu erinnern, wir zu den Objekten
und zu den Umgebungen gehen müssen und zu den Umgebungen hier haben wir diese
Kachelmap Gem Prison , die wir zuvor erstellt haben. Denken Sie daran, dass Sie hier zwischen
den Kachelsets wechseln können .
Du hast die Requisiten. Wenn Sie einige Requisiten hinzufügen möchten, zum Beispiel diese, können
Sie darauf klicken Oder Sie können
hier klicken und ziehen und beide auswählen. Sie können sie
hier hinzufügen. Denken Sie daran, mit der Vorderschicht, der
Basisschicht und den Dekorationen zu
arbeiten . Sie können jederzeit weitere
Ebenen erstellen, wenn Sie möchten, denn wenn Sie hier nur
auf die Basisebene malen, werden Ihre Kacheln gelöscht. Sie müssen also eine neue Ebene
erstellen und sie dann hinzufügen, damit Sie sie der Vorderseite hinzufügen
können. Wenn Sie das auf der Rückseite haben möchten, können
Sie jederzeit auf diesen Pfeil klicken. Jetzt befindet er sich unter den
Kacheln, sodass Sie ihn nicht sehen können. Ich werde
diesen vorerst löschen. Was ich jetzt
tun werde, ist im Grunde nur die Kartengröße zu erhöhen, also
die
Breite und Höhe der Karte. Sie können zum Beispiel
so etwas wie 50 mal 50
schreiben oder
was auch immer Sie möchten. Vielleicht ist das zu groß, aber versuchen Sie, die
Kartenbreite zu finden, die für Sie geeignet ist. Die Sache
ist die, wir versuchen, all diesen schwarzen
Raum an der Seite zu
vermeiden, einfach besser hineinpassen zu lassen. Man muss zum Beispiel nur
raten. Sie können einfach eine größere Karte erstellen und versuchen, so
etwas hinzuzufügen. Und wenn du auf Play
klickst, kannst du immer sehen,
wo es ankommt und dann weißt du,
wo du hier aufhören musst. Aber im Grunde werde ich diese Karte vergrößern, nur
um den schwarzen Raum zu vermeiden. Wir
müssen wirklich nichts anderes tun. Vergrößere einfach die Karte, versuche mit den Ebenen zu arbeiten. Fahren Sie fort und wählen Sie die Kachel aus. Versuchen Sie, die
Karte nach Ihren Wünschen zu malen. jetzt daran,
dass Sie all
diese Spawnpunkte
für diese Gegenstände haben diese Spawnpunkte
für diese Gegenstände Sie können jederzeit, zum Beispiel, nur eine Idee haben, Räume für diese Gegenstände erstellen oder ein
Loch für diese Gegenstände Im Grunde genommen
müssen diese Gegenstände in
das Spiel passen , genauso wie Feind
vielleicht in der Mitte spawnt Es steht im
Mittelpunkt dieses Spiels. Entwirf es einfach so
gut du kannst. Hier gibt es wirklich
keine Regeln. Ich werde
es einfach so gut wie möglich entwerfen. Versuche einfach,
mit all diesen zu spielen. Versuche vielleicht,
mit der Ecke zu spielen. Schau, wie sie zusammenarbeiten. Zum Beispiel dieser mit diesem, so wie dieser und
dieser hier. Im Grunde. Versuche einfach so gut du kannst, die Karte zu entwerfen und
ich melde mich wieder bei dir. In Ordnung, jetzt bin ich zurück. Ich habe ungefähr 30 Minuten damit verbracht
, diese Karte zu entwerfen. Wie Sie sehen können, habe ich die Karte
entworfen. Und hier ist sie. Ich habe gerade die Karte innerhalb
der Kachelkarte
entworfen. Die Breite und Höhe der Karte beträgt 50. Ich habe gerade ein paar zufällige Kacheln hinzugefügt. Ich entwerfe die
Karte einfach so, wie du willst. Es spielt keine Rolle,
wie Sie sie entwerfen, es wird diesen Kurs nicht wirklich
beeinflussen. Versuche einfach, so
kreativ wie möglich zu sein und Spaß damit zu
haben, wenn
du fertig bist. Und du kannst hier sehen, dass
ich auch die Spawnpunkte
der Gegenstände so verschoben habe ,
dass sie auf dem Boden liegen. Immer wenn ich
etwas kaufe,
wird es tatsächlich in
diesem Ding hier erscheinen Jetzt kann ich die Anzahl der Gegenstände in
der Reihe erhöhen ,
die es hier spawnen kann Vielleicht möchte ich es erhöhen. Lass uns versuchen, das zu tun.
Lass uns zum Bauplan gehen Und das haben wir im
Spielmodus gemacht. Wenn ich den Spielmodus öffne
und wir uns das hier ansehen, und wir uns das hier ansehen haben
wir diese
Punktefunktion für festgelegte Gegenstände. In dieser Funktion
hatten wir einige lokale Variablen. Hier beträgt die lokale Anzahl
von Zeilen zwei. Ich wollte zwei bleiben. Jetzt können wir den letzten Index der
lokalen Schleife haben. Das ist die Anzahl der
Artikel. Das sind zehn Artikel. Weil es so ist, denken Sie daran, dass
0-9 zehn Elemente Ich, versuchen wir, drei hinzuzufügen Ich werde ein paar Artikel kaufen. Hier sieht es aus wie. Und jetzt passt es zur Karte. Das ist es, womit ich mich begnügen
werde. Das ist momentan meine Karte. Außerdem möchte ich
den Timer etwas erhöhen ,
weil ich finde, dass er zu klein ist und ein großer Fokus im Spiel ist. Lass uns das
schließen. Lass uns zur Benutzeroberfläche gehen. Öffne. Lass uns hier sehen,
die Haupt-Benutzeroberfläche hier. Lass uns auf den Text klicken. Statt 28 schreiben wir vielleicht 36 und für das Icon müssen
wir
es erhöhen, vielleicht 60 mal 60. Lass uns stattdessen auf Play klicken. Ich denke, das ist viel besser weil es immer noch
der Hauptfokus ist. Wir können es sogar noch
weiter erhöhen, vielleicht auf 40, und dieser Wert ist 60, 64 mal 64. zum Beispiel auf
Play klicken , so sieht
es aus. Ich denke, das ist viel
besser, weil es wiederum der
Hauptfokus des Spiels ist. Alles sieht gut aus. Also, wenn du hier
etwas am Spiel ändern willst, kannst du
im Grunde immer hier reingehen
und die Dinge anpassen. Aber ich mag es so wie
es gerade ist. Mir gefällt alles daran. Sie können sogar den
Namen und die Gesundheit erhöhen, wenn Sie möchten. Ich werde das sogar ein bisschen machen, nur damit wir es besser sehen können. hier statt auf 28 klicke, schreibe
ich
32 für den Anruf. Ich werde 55 schreiben, 55 auch aus gesundheitlichen Gründen. Ich werde stattdessen auf
Gesundheit 32 klicken. Kompiliere das com Play. Und jetzt kannst du sehen, dass es viel
größer ist und wieder
im Mittelpunkt des Spiels steht. Es ist also immer schön,
wenn die Benutzeroberfläche größer ist. Okay, lass uns jetzt
mit dem nächsten weitermachen.
106. 12.02 Die Sound-Cues vorbereiten: Ordnung, jetzt sind wir also
an einem Punkt angelangt, an dem wir dem Spiel einige Soundeffekte und auch Musik
hinzufügen können Spiel einige Soundeffekte und auch Musik
hinzufügen Und das wird das
Spiel viel besser machen. Soundeffekte machen fast die Hälfte des Spielerlebnisses aus. Du siehst, obwohl
wir ein lustiges Spiel gemacht haben, ist
es
ohne Geräusche immer noch langweilig. Und ja, lass uns
ein paar Soundeffekte hinzufügen und es interessanter
machen. Jetzt werde
ich im Inhaltsordner einen neuen
Ordner namens Audio schreiben, darauf
klicken und ihn erstellen. Und hier drinnen,
lass uns hier rein gehen. In den Kostenunterlagen habe ich all
diese Soundeffekte
für Sie in die Kostenunterlagen aufgenommen . Fahren Sie fort und
öffnen Sie den SFX-Ordner. Wählen Sie sie alle
aus
und ziehen Sie sie in
den Audioordner Wenn du sie
hineinziehst, siehst du all das, und übrigens, viele von
ihnen sind sehr laut. Klicken Sie jetzt nicht auf Abspielen, sonst könnten Ihnen die Trommeln platzen. Du kannst dafür immer den Ton leiser
stellen, aber sie sind sehr
laut. Was wir tun wollen, ist, dass wir daraus so etwas wie
Sound-Cues
erzeugen Fangen wir zum Beispiel mit dem Namen Kauf Lass uns Q schreiben, klicken und erstellen, damit du es hier oben
erstellen kannst. Normalerweise nenne ich es, dass ich dieses Q am Ende
lösche. Und ich nenne es S C für Sound Que. Es heißt Sound Que Purchase. Jetzt
doppelklicke ich auf diesen Sound Que. Und hier drinnen, ganz einfach, können
wir
den Sound einfach leiser machen. Ich werde
0,2 schreiben und dann auf Play klicken und
schauen, ob es laut oder laut ist. Das ist der Klang
davon. Ich kann es vielleicht
20.4 so machen 20.4 so Wir können
den Sound später immer noch anpassen, aber ich
möchte, dass du das tust Nehmen wir zum Beispiel ein anderes Beispiel, dieses mit dem Namen FX
Punch, klicken Sie mit der rechten Maustaste. Und ich kreiere wieder eine Warteschlange daraus. Nennen wir es Sound Punch, öffnen wir es weiter unten. Der Ton vielleicht 0,4 Immer noch
super laut. Vielleicht sogar niedriger. Weil das im Spiel
als Spam angezeigt wird, vielleicht 0,1 oder 0,05, ich
weiß nicht, wir werden es herausfinden Jetzt eine Methode für
den Schlag, den du kannst.
Es klingt genauso, wenn
du auf den Feind klickst Es wird ein bisschen nervig , wenn
du immer wieder das gleiche
Geräusch hörst. Um das zu ändern, kannst du
jederzeit von hier aus zuschlagen. Sie können sehen, dass es hier nicht viele Dinge
gibt Sie hier tun können, wie in den Bauplänen,
die wir normalerweise sehen Aber ich möchte, dass du diesen benutzt
, den man Modulator nennt Wählen Sie es aus und
verbinden Sie es stattdessen hier. Nun, was ein Modulator tut, er wird die Tonhöhe
des Sounds ändern Wenn Sie darauf klicken und das Minimum der Tonhöhe auf
0,9 und das Maximum auf
1,1
ändern , speichern Sie alles Wenn Sie nun mehrmals auf
Play klicken, können
Sie hören, dass sich der Sound jedes Mal
ändert, wenn
Sie auf Play klicken. Es ist nicht ganz
derselbe Sound. Es versucht, die minimale
und maximale Tonhöhe zu regulieren oder zu
ändern. Das ist für diesen gemacht. Wenn wir
zum Beispiel mehrere Sounds haben , habe ich diesen hier oder Death 01020304 All das gehört zusammen. Wenn ich einfach alle auswähle, mit der rechten Maustaste klicke und eine einzige erstelle. Wenn wir das erstellen, werde ich es
einfach in Sound Or Death umbenennen . Mach weiter und geh da rein. Und jetzt kannst du sehen, dass es das
schon für dich gemacht hat. Es hat einen zufälligen Knoten erstellt. Es hat all
diese Sounds reingesteckt. Es wird
den Sound tatsächlich
zufällig auswählen , wenn Sie auf Play
klicken Bevor ich das mache,
reduziere auch den Ton und klicke auf Super Loud abspielen. Vielleicht 0,10 0,15 Vielleicht ist
0,2 wirklich gut. 0,2 ist in Ordnung. Klingt nett. Jetzt ist das alles gut. Lass
es uns vorerst einfach schließen. Schon
wieder der Aufstieg, Rechtsklick. Erstelle ein A und lösche dieses. Nenn es S C, Ascension. Öffne es, reduziere
die Lautstärke auf zum
Beispiel 0,2 , schließe es Dann nehmen wir den nächsten
, den Knopf bewegen. Klicken wir mit der rechten Maustaste und erstellen Sie
ein Q für dieses. Nochmals, nennen wir es einen
Button vorbei und
reduzieren den Sound
20.2. Schließen wir es Gehen wir zum nächsten, das ist die Taste, die mit der rechten Maustaste
gedrückt wird, erzeugen Sie einen Que-Sound wie diesen Sie können sehen, dass es immer wieder
dieselbe Methode , nur um den Ton zu
reduzieren. Jetzt drücke
ich eine Taste und möchte tatsächlich auch
einen Modulator hinzufügen Modulator auch für diesen. Und verbinde es mit
minimaler und maximaler Tonhöhe. Stellen wir es dann 20,9 auf 1,1 ein. Jetzt klingt es jedes
Mal anders, wenn wir die Taste drücken, was wirklich nett ist Jetzt haben wir wieder Night
Death. Klicken Sie mit der rechten Maustaste. Erstellen Sie eine
Sound-Queue. Es ist eine etwas langweilige Lektion, weil wir im Grunde einfach dasselbe
machen. Aber ich möchte dir nur zeigen, wie
du sie erstellst. Nur damit ich weiß, dass du das Konzept
hast, lass uns einfach
0,2 machen. Klingt gut. Das nächste, das wir haben,
ist das freigeschaltete Level, klicken Sie mit der
rechten Maustaste. Erstelle eine Warteschlange. Benennen wir ihn um, um
diesen unverschlossenen Level-Bus zu öffnen. Reduziere den Ton auf
0,2. Schließ ihn. Jetzt ist der nächste der
entsperrte normale Rechtsklick. Erstelle eine Warteschlange, nenne sie
Sound que so und öffne sie wieder,
reduziere den Sound auf 0,2 Du kannst dieselbe
Methode immer wieder sehen. Jetzt zur Musik. Klicken wir nochmal mit der
rechten Maustaste hier, erstellen wir ein Sound-Queue, nennen wir
es Sound Music Now
für die Musik. Öffnen wir es und klicken
wir hier. Lassen Sie uns sichergehen, dass
wir angekreuzt haben. Das ist Looping, weil du die Musik loopen
musst, sonst wird sie nicht wiederholt und irgendwann hört sie Das C haben wir jetzt schon gemacht. Hier ist der oder Tod.
Das haben wir schon getan. Das ist auch der Knaller, der Kauf. Wir haben den Tod
für die Raketen getan. Klicken Sie mit der rechten Maustaste auf que. Wir sind fast fertig. Es war eine langweilige Lektion. Nennen wir es Sound Q
Rogue 0.2. Wir setzen uns hin. Das Skelett.
Wählen wir nun das Skelett aus. Klicken Sie mit der rechten Maustaste, um
eine einzelne Warteschlange zu erstellen. Nochmals, ändern wir es auf 0,2. Und ich sollte daran denken, auch
den Namen für diese zu ändern. Der letzte ist der Zauberer. Klicken Sie mit der rechten Maustaste auf Erstellen. Nennen wir es Sound
Que, öffnen Sie es. 0.2 Jetzt werde
ich in meiner Freizeit all diese Lautstärken
anpassen, all diese Lautstärken
anpassen weil es im Grunde
nur darum geht, hier auf Play zu klicken. Und dann hören Sie sich an,
wie laut die Geräusche sind, passen Sie
einfach die Lautstärke
an, wenn Sie fertig sind. Gehen wir zur
nächsten Lektion über.
107. 12.03 SFX zur Benutzeroberfläche hinzufügen: Ordnung, jetzt, wo Sie mit der Erstellung
aller Sound-Cues
fertig sind , gehen
wir zurück zur Benutzeroberfläche Jetzt möchte ich, dass du sie eins nach dem anderen
nimmst. Beim ersten kann ich die Feindinformationen
sehen. Für diese haben wir nicht wirklich
Soundeffekte, es sind nur Text
und einige Gesundheitsteile. Die erste ist die Levelkarte. Immer wenn wir auf
diese Level-Schaltfläche klicken, klicken
wir auf die Schaltfläche.
Lass uns hier runter gehen. Und du siehst etwas, das man „Sound and Hover
gedrückt“ nennt. Sound Lass uns weitermachen
und das ändern. Wenn Sie jetzt darauf klicken, können Sie alle Sound-Cues und den Sound
sehen ,
den Sie in diese Engine
importiert haben Jetzt ist dieser hier der gedrückte Wenn wir einfach nach Press suchen
und diesen hier auswählen, suchen
wir nach Hover
und wählen diesen aus Kompilieren. Wenn du jetzt
auf Play klickst und es ausprobierst, kannst
du sehen, dass das der
Hover ist, das ist die Presse Es ist ein bisschen interessanter
, dass sie hier Sounds haben. Lass es uns schließen.
Lass uns zum nächsten gehen. Lassen Sie mich einfach
diese Shop-Karte löschen ,
nur um diese Benutzeroberfläche hier zu sehen oder zu
testen. Wir
haben hier wirklich nichts, was Geräusche
macht.
Lass es uns schließen. Lass uns den Artikel im Laden öffnen, Cod. Drinnen
haben wir wieder diesen Button. Lass uns die Suche runtergehen, tatsächlich nach diesem hier
gedrückt. Lass uns nach dem Hover-Sound suchen , der behoben ist. Lass es uns
schließen. Der letzte ist der Tooltip , der auch
nichts enthält. Lass uns weitermachen und jetzt alles
speichern. Bevor wir fertig sind, fügen wir
auch den Mausklick hinzu. Das geht am besten, wenn wir
die Feinde öffnen und die feindliche Basis
öffnen. Denken Sie daran, dass wir
hier drinnen geklickt haben. Wir haben auch all
diesen Schaden angerichtet. Spawn-Effekt, Float-Effekt
und Treffereffekt. Lass es uns tatsächlich hier machen. Wenn Sie von hier ziehen, wenn Sie einfach nach Sound suchen, haben
Sie etwas
namens Play Sound Two D. Sie haben auch
etwas, nach dem ich gerade suche, Play Sound habe etwas
namens Play Sound two D und Play Sound an Ort und Stelle. Sound am Standort abspielen wird
normalerweise ganz normal verwendet. Zum Beispiel in drei D-Spielen, in
denen sich ein Feind
weit entfernt befindet und Sie
den Ton an
einem bestimmten Ort weit entfernt hören können . Dies ist jedoch ein
Zwei-D-Spiel und wir haben den Sound
im Grunde als zwei D. Spielen wir den Sound als zwei D. Dies wird hauptsächlich für UI-Elemente
verwendet. Man kann auch
mit der Maus
darüber fahren und es wird direkt
ein Geräusch ohne Dämpfung angezeigt,
was im Grunde bedeutet, dass
man es nicht hören kann,
als käme es aus der Ferne
oder von einem Ort Es ist perfekt für UI-Sounds. Wählen wir diesen
für den Sound aus. Sie können weitermachen und den Punch
auswählen. Und mach weiter und wähle
es jetzt aus, du kannst es
so machen oder du kannst es auch
einfach hier machen, zu einer Variablen
heraufstufen
und du kannst es
zum Beispiel Punch-Soundeffekt nennen . Das ist immer gut,
denn anstatt später in
deinem Spiel suchen und du
weißt nicht mehr, wer es war, kannst
du jederzeit
einfach hier klicken und den
Soundeffekt von hier aus ändern. Jetzt haben wir den
Punch-Soundeffekt wenn ich auf
Jetzt spielen klicke und ihn ausprobiere. Die andere Sache, die wir jetzt tun können ist, jedes Mal, wenn du ein Level freischaltest, lass uns weitermachen und ein Geräusch machen. Ich denke, das wird
auch
viel interessanter sein , um die Level freizuschalten Denken Sie daran, dass Sie das
im Spielmodus gemacht haben. Wenn ich im Spielmodus zum Entlüftungsdiagramm zurückkehre und wir uns
das Freischaltlevel ansehen, spielen
wir es von hier aus. Lass uns weitermachen und das hier machen. Lass uns von hier wegziehen. Und nochmal, spiel Sound Two D, ich habe tatsächlich zwei
verschiedene Sounds für dich hinzugefügt. Wenn du zum
Audio zurückkehrst und es öffnest, kannst
du hier sehen,
dass du etwas namens
Unlocks und Unlocked Normal hast Unlocks und Unlocked Normal Je nachdem, ob der Feind
ein Boss oder ein normaler Feind ist, können
wir tatsächlich
etwas damit anfangen Jetzt machen wir das wieder so, dass wir von
hier aus ziehen und „Auswählen“ sagen können, denn jetzt können wir
je nach Wert den Sound
auswählen , um den Status des nächsten Feindes zu ermitteln. Zum Beispiel, ob es ein
Boss oder ein normaler Feind ist. Denken Sie daran, wir können sagen,
holen Sie sich Feindinformationen. Fahren Sie fort und wählen Sie
Feindinformationen abrufen aus. Mach weiter und mach es kaputt. Brecht die Struktur
von hier aus auf, den wir kennen, den feindlichen Typ hier. Lass uns weitermachen und das einstecken. Je nachdem, ob es sich um
einen normalen oder einen Boss handelt, können
wir weitermachen und auswählen, dass wir stattdessen mit der rechten Maustaste hier klicken, diese Variable heraufstufen. Nennen wir es Level Unlocked FX. Dieser ist der Normale. Klicken wir mit der rechten Maustaste auf diese Variable
und bewerben Sie diese Variable. Nennen wir diesen einen
Boss am Ende. Okay, jetzt haben wir diese beiden ausgewählten und nicht verbundenen Pins Nun zum Namen des Feindes,
wo haben wir den her? Denken Sie daran, wir können jederzeit mit der
rechten Maustaste klicken und „
Levelinformationen abrufen“ sagen . Mach weiter
und wähle es aus. Das Level, von dem wir es
bekommen wollen, ist das
freigeschaltete Level. Mach weiter und schließ das an, denn das freigeschaltete
Level ist dem aktuellen Level immer einen Schritt voraus. Lass uns das wieder aufteilen. Und jetzt haben wir den Namen
, den du einstecken kannst, die nicht verbundenen Pins zu
verstecken Mach weiter und mach es einfach so
strukturierter. Jetzt haben wir diese Informationen. Es wird nur einmal abgespielt, denn jedes Mal, wenn wir das Level
freischalten, wird
der Sound einmal abgespielt. Lassen Sie uns das alles kompilieren und
speichern. Jetzt können Sie
loslegen und es ausprobieren. Aber bevor wir das tun,
fügen wir den Sound für
den normalen Wir können nach entsperrt, entsperrt und nach dem normalen Sound
suchen. Für den nächsten, für den Chef. Lass uns weitermachen und
den freigeschalteten Boss auswählen, Spiel
kompilieren und
es ausprobieren. Das ist der Sound, wenn
du ein Level freischaltest. Wenn ich das noch einmal mache, kannst du sehen
, dass kein Ton zu hören ist, weil ich
immer noch Level eins spiele. Wenn ich zurück zu Level zwei
gehe, gehe ich zu Level zwei,
jetzt habe ich den Sound. Fantastisch. Das
ist jetzt der letzte. Wenn ich diesen
töte, sollte er
den Boss-Sound-Effekt
oder das entsperrte Level des Bosses abspielen . Lass uns versuchen, das zu tun.
Jetzt ist es ein Boss. Sie können sehen, dass es viel
interessanter ist, damit zu spielen. Bevor wir dem Feind weiterhin einige Soundeffekte
geben, sollten wir
dem Kauf auch einen
Soundeffekt verleihen . Für den Kauf haben wir
hier im Player. Denken Sie noch einmal daran, dass wir
den Kaufartikel haben. Lassen Sie uns den Soundeffekt
hier
hinzufügen , bevor wir etwas anderes tun. Klicken Sie erneut mit der rechten Maustaste auf Play. Sound zwei D, fahren Sie fort
und fügen Sie es hier hinzu. Lassen Sie mich einfach mit der rechten
Maustaste darauf klicken und Soundeffekte kaufen
sagen. Und ziehe es so nach unten. Lassen Sie uns nun für diesen Artikel zuerst auf
Compiled klicken und
nach einem Kauf suchen. Und das sollte funktionieren, einfach nett wenn ich auf Play klicke und etwas
kaufe. Jetzt sehe ich, dass der Sound abgespielt wird. Ich mache einfach mit dem Audio
weiter und drehe es ein
bisschen leiser. Ich finde es zu laut. Wenn ich es öffne,
stattdessen 0.4 schreibe und erneut spiele, kann
ich sehen, dass es auch funktioniert. Okay, jetzt haben wir all diese
Soundeffekte implementiert. Lass uns jetzt alles speichern. Lasst uns ein paar
Soundeffekte für den Feind hinzufügen.
108. 12.04 SFX zum Feind hinzufügen: Okay, im Grunde
kann jeder Feind einen einzigartigen Soundeffekt haben Denken Sie daran, dass wir dafür eine Struktur
geschaffen haben. Wenn ich die Struktur öffne
und die Feindinformationen öffne, können wir ihr nur den Sound
hinzufügen. Denn vergiss nicht, dass jedes Mal, wenn
du hier eine Variable hinzufügst, diese für diesen Feind einzigartig
ist. Wenn wir zum Beispiel auf Hier hinzufügen
klicken
und Effekte, Tod, Soundeffekt sagen können. Und wenn wir nur nach Sound suchen, fahren Sie fort und wählen Sie diesen Sound aus. Sie können also zu Google Sheets gehen. in Ihren Google Sheets Öffnen Sie in Ihren Google Sheets die
Feindinformationen hier rechts. Mach weiter und schreibe den Tod
als Effekte, die du gerade gemacht hast. Was Sie jetzt tun können, ist kurz zuvor Referenzen
hinzuzufügen. Wir können jetzt immer
zum Audio gehen. Nun zum
ersten, schauen wir mal hier, es
sind alle vier ersten, lass uns hier drüben gehen. Wir haben den C.
Finden Sie es einfach hier unten, es ist, hier
drüben, der
Tod mit der rechten Maustaste. Und dann kopiere die Referenz
wie zuvor. Fahren Sie fort und fügen Sie es jetzt hinzu. Technisch gesehen können Sie
einen Ork-Todes-Soundeffekt haben , der für
jeden einzelnen einzigartig ist Aber ich werde hier einfach den gleichen
verwenden. Weil ich hier hinzugefügt habe, denken Sie daran, dass
wir im Sound-Cue einen zufälligen Ton hinzugefügt haben, es wird einfach
ein zufälliges Todesgeräusch ausgewählt. Aber grundsätzlich kannst du jedem einzelnen Feind
ein eigenes Todesgeräusch
zuweisen . Nun zum Zauberer, ich
gehe wieder runter,
finde den
Tod des Zauberers, Rechtsklick,
kopiere, referenziere und füge ihn hier ein. Das nächste ist das Skelett. Lass uns das Skelett finden
, das hier ist. Ich benenne es um und
entferne das, 01. Klicke mit der rechten Maustaste, kopiere die Referenz und füge
es in die nächsten vier ein, das, das und das. Jetzt haben wir den
Schurkentod und den Nachttod. Lasst uns nach dem
Schurken suchen. Die Nacht ist da. Die Referenz für die
Nacht für den Schurken kopieren. Klicken wir mit der rechten Maustaste auf
Referenzbasis für den Schurken kopieren. Klicken Sie erneut auf Datei und laden Sie sie als CSV-Datei Machen Sie jetzt weiter und nehmen Sie diese
feindlichen Informationen in die Datentabellen mit. Und ziehen Sie es
im Grunde einfach hinein und es sollte
alle Informationen enthalten. Jetzt mach weiter und speichere. Wann immer der Feind stirbt und das innerhalb
der feindlichen Basis passiert, öffnen
wir die feindliche Basis,
speichern alles, kompilieren. Und lasst uns hier sehen,
wo wir es hinzufügen können, damit wir Schaden anrichten. Hier drüben am Ende haben wir das Todes-F-F. doppelklicken Sie darauf. Und es ist hier unten,
wann immer der Feind würfelt. Lass es uns tatsächlich hier machen. Immer wenn wir das Flipbook spielen. Lass mich erst den Sound abspielen,
bevor ich das Flipbook spiele. Ich
glaube nicht, dass es wirklich wichtig ist ob du
zuerst das eine oder das andere spielst, aber ich werde
es einfach so machen. Lass uns noch einmal Sound Two
D spielen . Mach weiter und
verbinde es so. Und mach weiter und verbinde
diese Effekte mit hier. Jetzt wird
dieser Soundeffekt ausgewählt,
je nachdem, was
Sie ihm
als Information in
der Datentabelle angegeben haben . Also mach weiter und kompiliere. Klicken Sie auf Play und
lassen Sie es uns ausprobieren. Okay, das funktioniert gut. Okay, jetzt haben wir das Problem, dass der Sound oft
abgespielt wird. Also, wenn du einfach die Lautstärke leiser machst, weil es nervig werden
könnte. Wenn du hier bei etwas
auf Kaufen
klickst, hast du es ein paar Mal gekauft. Du kannst sehen, wann der Feind stirbt, es wird oft gespielt. Und das ist ein bisschen nervig. Lass uns hier zur feindlichen Basis gehen. Lasst uns einen Blick auf den Tod werfen. Wenn ich nur eine Druckzeichenfolge mache, drucke ich
einfach eine Zeichenfolge, um zu
sehen, ob sie abgespielt wird. Ein paar Mal
kann ich auf Abspielen klicken. Ich kann wieder etwas kaufen. Ich kann sehen, dass es oft gespielt
wird. Lassen Sie uns weitermachen und dieses Problem hier
beheben. Wir können etwas verwenden, das als One Node
bezeichnet wird. Nehmen wir das und sagen einmal, und fahren wir fort und
wählen es einmal aus. Dann wird dieser Soundeffekt
oder im Grunde
der gesamte Code hier
abgespielt . Nur einmal kaufe ich etwas. Sie können jetzt sehen, dass es behoben ist , weil es nur einmal abgespielt
wird. Das wird
im Grunde automatisch zurückgesetzt. Denn denk dran, wir
zerstören den Schauspieler. Jedes Mal, wenn der Schauspieler stirbt
, reagiert ein neuer Schauspieler. Also werden sie
einen neuen haben, Node. Wir
müssen diesen nicht wirklich zurücksetzen. Hier funktioniert alles gut. Lassen Sie uns es schließen
und weitermachen.
109. 12.05 Musik hinzufügen: Als letzte Sache für den Soundeffekt fügen
wir noch etwas Musik hinzu Und das ist sehr einfach Wenn wir
also
das Audio einfach noch einmal öffnen, können
wir diese
Musik hierher ziehen. Ich werde noch einmal darauf klicken. Reduzieren Sie auch den Ton. Ich bin mir nicht sicher, wie laut es ist. 0,2 ist in Ordnung, ich denke schon.
Lass mich es schließen. Jetzt haben wir das. Ich sage nur
, bis 0200 Uhr ist es
egal, wo es ist Wenn Sie jetzt auf Play klicken, können
Sie sehen, dass Sie den Ton
hören können Das ist super einfach und Hinzufügen von Musik
wird für immer wiederholt. Alles klingt nett. Okay. Lass uns weitermachen
und alles speichern. Und lass uns mit
dem nächsten weitermachen.
110. 13.01 Entwerfen der Ascension-Benutzeroberfläche: In Ordnung, also lasst uns jetzt an
Ascension arbeiten. Was Aufstieg im Grunde ist, falls ihr es noch nicht wisst,
ist, dass ihr jedes Mal, wenn ihr einen Fortschritt, einen
bestimmten Fortschritt im Spiel
erreicht , einen
Neustart-Knopf drücken könnt Das verleiht dem Spiel Wiederspielbarkeit
. Wenn Sie das Spiel neu starten, erhalten
Sie mehr Basisschaden Zum Beispiel hat alles
300% mehr Schaden. Kann das Spiel grundsätzlich neu starten
und mehr Schaden anrichten. Und du kannst im Grunde weitermachen denn ab einem bestimmten Punkt,
wenn du nicht neu
startest, wird das Spiel zu
schwierig und du musst neu starten, um den
Bonusschaden zu erhalten, um das Level fortzusetzen. Okay, lasst uns weitermachen und mit der
Aufstiegsmechanik
beginnen Also das Erste, was ich tun
möchte, ist im Grunde die Benutzeroberfläche zu
entwerfen und sie aus
dem Weg zu räumen Gehen wir zum UI-Ordner. Lass uns L hier richtig
machen, neue Widgets erstellen. Lasst uns das
Ascension-Pop-Up nennen. Und wir werden in der nächsten Lektion mit dem
Pop-up arbeiten, aber vorerst haben wir das erledigt.
Gehen wir rüber zum Main. Fügen wir hier unten den
Aufstiegs-Button hinzu
und wir lassen ihn
erscheinen, sobald die Kriterien erfüllt
sind. Lasst uns hier beginnen. Zunächst möchte ich
dieses Overlay nehmen und es
auf das Canvas-Bedienfeld ziehen Lassen Sie uns das alles einfach minimieren. Jetzt haben wir dieses Overlay. Ich möchte, dass diese Benutzeroberfläche A ist, hier
unten, Ankerpunkt, unten Erhöhen wir den Wert 00 an den
Positionen x und y. Nun müssen wir für x den Wert um
0,5 erhöhen . Für y in der Ausrichtung müssen
wir eins schreiben. Es ist hier oben auf dem Bildschirm. Als Nächstes benötigen wir die Benutzeroberfläche. Lassen Sie uns nun zuerst ein Bild hinzufügen. Wenn Sie dieses Bild hinzufügen, wird dies das Hintergrundbild
sein. Es wird
derselbe sein wie dieser. Ich werde einfach dieses Bild
kopieren. Klicken Sie hier, fügen Sie es ein. Jetzt haben wir das erledigt. Als Nächstes wollen wir eine vertikale Box. Fügen wir diesem Overlay ein vertikales
Feld hinzu. Was ich haben möchte, ist etwas
Text und eine Schaltfläche darunter. Lass uns etwas Text hinzufügen. Ich werde einfach einen von ihnen
kopieren. Zum Beispiel
dieser, Steuerung C, geh hier runter, Steuerung V
in das vertikale Feld. Fügen wir auch die Schaltfläche hinzu, und wir können sie hinzufügen, indem wir einfach auf diese Levelkarte
gehen. Wir können auf all das klicken, es
kopieren und hier
in das vertikale Feld einfügen. Und ich kann diesen
Schädel entfernen. Und das war es. Lass uns auf dieses Bild klicken. Lassen Sie uns dafür sorgen, dass es
horizontal und vertikal gefüllt wird. Klicken wir nun
hier oben auf das Overlay. Und lassen Sie uns einfach die Größe der Dinge ändern, oder was Sie im Grunde
tun können, ist einfach die Größe an den Inhalt anzupassen Ich denke, ich werde das stattdessen tun. Als Nächstes können wir Text
für diese Schaltfläche hinzufügen. Ich werde hier Ascend schreiben. Hier können wir
Ascension zur Verfügung stellen. Nun zum
Hintergrundtext hier, ich werde tatsächlich diese Konturfarbe
kopieren Geh hier runter und füge es für diesen ein, damit sie dieselbe Farbe
haben. Wir können auch auf
dieses vertikale Feld klicken und es etwas auffüllen. Wenn du so etwas wie 50 schreibst, vielleicht nicht so viel Wenn wir
noch einmal hier klicken, schreiben wir 30. Vielleicht ist etwas um die 30, 35 so etwas. Ich finde das sieht nett aus. Geben wir ihm jetzt unten
etwas Abstand , damit es
nicht am Rand anliegt. Und das ist die Position in
der Y-30-Position, das X. Schreiben
wir Null. Fahren Sie
noch einmal fort und kompilieren Sie können auf die Platte klicken, um zu
sehen, wie sie aussieht. Ich denke, es sieht so aus, als ob
dieser Text vielleicht zu groß ist. Lassen Sie uns statt 24 einen schreiben. Geben wir ihm auch
etwas Platz. Ich werde einfach hier oben klicken. Geben Sie unten etwas Platz,
zum Beispiel vier, kompilieren Sie
und klicken Sie auf Abspielen Ich finde das nett. Jetzt haben wir diesen
Aufstieg verfügbar, und wir haben
auch einige Soundeffekte für die Schaltfläche Das war es für diese Benutzeroberfläche Lassen Sie uns es schließen und mit dem nächsten
fortfahren.
111. 13.02 Das Ascension-Popup entwerfen: In Ordnung, jetzt ist es an der Zeit, den Ascension Pub zu
gestalten. Und das können wir ganz einfach machen, indem wir das vorerst
einfach kopieren. Kopieren Sie all das, was wir in
der letzten Lektion gemacht haben , und öffnen Sie
das Ascension Pub Up Leg das hier runter.
Jetzt statt hier. Lassen Sie uns tatsächlich
ein Canvas-Panel hinzufügen. Deshalb sieht es so riesig aus. Fügen Sie ein Leinwand-Panel hinzu und fügen Sie es
dann hier hinzu. Stellen Sie sicher, dass das Overlay, wenn Sie auf das Overlay
klicken, der Mitte verankert ist Und 0,5 in der Ausrichtung
für X und Y.
Und auch 00 in der
X- und Und hier oben, wählen Sie das
Gewünschte auf dem Bildschirm aus. Alles klar, was ich hier tun
möchte, ist, dass
Sie den Fortschritt wieder aufnehmen, aber mit 300% mehr Schaden Zum Beispiel. Wir können immer eine dynamische Zahl für
diesen Schadensprozentsatz
schreiben, aber lassen
Sie uns das vorerst so schreiben. Wenn du es hier in der Breite etwas
kleiner machen willst, kannst
du immer hier nach unten gehen und in der Verpackung
hast du diesen Umbruchtext. Ich werde das einfach
vergrößern und wir können diesen Text
im Grunde
auf eine bestimmte Zahl umbrechen. Lassen Sie uns das auf
etwa 360 umwickeln. Ich kann sehen, dass das
Bild im Hintergrund
statt im Bild tatsächlich verschwommen Lass es uns in
ein Feld ändern und
0,5 schreiben . Das sieht viel besser Lassen Sie uns das auch
in der Hauptsache tun . Ich
glaube nicht, dass wir das getan haben. Ich gehe zurück, klicke darauf, verwandle es in ein Feld und
schreibe 0,5 Lass uns zurückgehen. Jetzt, hier drüben, werde
ich diese Schaltfläche duplizieren, aber wir brauchen sie in
einem horizontalen Feld. Ich werde nach einer horizontalen Box
suchen. Mach weiter und füge es hier hinzu. Und füge diese Schaltfläche
dem horizontalen Feld hinzu. Und duplizieren Sie dieses Overlay. Durch Klicken auf Strg D können
wir auf das erste
Overlay klicken. Klicken Sie auf Phil Klicken Sie auf das zweite
Overlay. Klicke auf Phil Jetzt wird der erste sagen:
As, das ist in Ordnung. Der zweite
wird „Stornieren“ sagen, weil wir zurückkehren wollen. Wenn wir nicht fortfahren möchten, können
wir darauf klicken. Wir können die Farbe
ändern , um sie ein
bisschen einzigartiger zu machen. Die Schaltfläche „Abbrechen“ ist
etwas roter,
etwa so hier. Und ich werde diese Farbe in
den Hover
kopieren und auch in die
gedrückte Farbe für die Anzeige Ich werde auch
die Farbe auf
etwas
Grüneres wie dieses ändern etwas
Grüneres wie dieses Okay, das mit den anderen. Hier hast du es. Wenn
ich kompiliere und speichere, haben wir das
jetzt erledigt. Lass uns mit dem nächsten weitermachen.
112. 13.03 Öffnen des Ascension-Popups: Ordnung, jetzt ist es an der Zeit,
dieses Aufstiegs-Popup zur Benutzeroberfläche hinzuzufügen dieses Aufstiegs-Popup Wenn ich zur
Spielersteuerung zurückkehre,
denke daran, dass wir
hier die gesamte Benutzeroberfläche und diese Funktion zum
Ein-/Ausblenden von Widgets erstellt
haben Lassen Sie uns die Funktion „Widgit
anzeigen“ öffnen. Wir werden erkennen, dass
wir es
der Aufzählung hinzufügen müssen . Lass uns
weitermachen und das tun Lass uns die Widgets öffnen, lass uns zu den Spiel-Widgets
gehen. Lassen Sie uns den Aufstieg zusammenzählen. Lass uns einfach hier speichern und zurück zum
Player-Controller gehen Und jetzt siehst du, dass du eine PIN dafür
hast. Kopieren wir nun dieses
Teil-Widget und suchen wir nach, mal sehen, Ascension-Popup, klicken
wir mit der rechten Maustaste Machen Sie daraus eine
Variable und nennen Sie es Ascension-Popup,
genau wie zuvor Nehmen wir dieses
Aufstiegs-Popup und konvertieren es in ein validiertes GET-Popup, wenn
es nicht gültig ist Wir werden die Benutzeroberfläche erstellen. Wann immer es gültig ist, ziehen
wir es von hier aus und
sagen „Zum Standpunkt hinzufügen Wir werden
es dem Bildschirm hinzufügen. Wenn es gültig ist,
fahren wir fort und fügen
es einfach dem Bildschirm hinzu. Es macht keinen Sinn, es zu erstellen, wenn
es bereits gültig ist. Lass uns diesen
hier hinzufügen und sie nach oben schieben. Gehen wir jetzt zurück zum Widget zum
Ausblenden hier drüben. Was wir tun müssen, ist, jedes
Mal,
wenn wir das Widget schließen, dieses
Aufstiegs-Popup zu ziehen, mit der rechten Maustaste darauf zu klicken und es in
ein validiertes Get umzuwandeln es zu verbinden
und aus dem übergeordneten Element zu
entfernen Wann immer wir es schließen möchten, können
wir es vom Bildschirm entfernen,
indem wir „Aus übergeordnetem Element entfernen“ sagen Ich speichere alles. Jetzt sind
wir bereit, es zu benutzen. Gehen wir zu den Blueprints oder eigentlich zur Benutzeroberfläche Das passiert jetzt immer dann, wenn ich auf die Schaltfläche
im Haupt-Widget
klicke Wenn ich hierher gehe, diese Schaltfläche hier, werde
ich den
Namen in Button Ascend ändern Ich gehe zur Grafik. Jetzt kannst du hier darauf klicken
und auf das angeklickte Ereignis Was sollte passieren, wenn
du auf diesen Button klickst? Was passieren sollte,
ist, dass ich
meinen Play-Controller holen
und das Widget,
das Popup-Menü, anzeigen möchte meinen Play-Controller holen
und das Widget,
das Popup-Menü, anzeigen . Ich kann hier sehen, dass ich keine Player-Controller-Variable
habe. Ich werde es tatsächlich hier oben im Event-Konstrukt wie folgt erstellen. Holen wir uns wie zuvor den Player-Controller und dann die
Play-Controller-Referenz von der Blueprint-Oberfläche Und klicken Sie mit der rechten Maustaste, um daraus einen
Player-Controller mit variablem Aufruf Jetzt haben wir das.
Lass uns hier runter gehen. Lass uns diesen
Player-Controller ziehen und sagen „Widgets einblenden“. Lass uns weitermachen und Canine Pop up
auswählen. Lass uns auf Show klicken. Wir wollen aber
auch das Hauptmenü ausblenden. Ich bin eigentlich der Hauptmensch ,
ich werde das auch ziehen
und sagen „Widgets ausblenden anzeigen“. Ich werde die Haupt-Benutzeroberfläche ausblenden. Es sitzt schon so. Kompilieren. Wenn Sie auf Play dann auf Zustimmen klicken,
können Sie sehen, dass es erscheint Lassen Sie uns hier tatsächlich
dasselbe tun. Lassen Sie uns das
vom Bildschirm entfernen. Immer wenn wir auf Bleistift klicken, nennen
wir es hier
Buttonbleistift. Gehen wir zum Diagramm und klicken auf, Lass uns das alles
vorerst löschen. Auch hier benötigen wir den
Play-Controller. Lassen Sie uns also
weitermachen und dieses Event-Konstrukt erstellen. Ich werde
es einfach von der Hauptseite hier kopieren. Kopiere das alles
und füge es hier ein. Denken Sie wie zuvor daran, auf diese
Flugsteuerungslinie zu klicken als Variable wie diese
erstellt wurde. Jetzt haben wir es also.
Lassen Sie uns hier einfach kopieren und einfügen. Wir müssen nicht immer wieder
dieselben Sachen schreiben . Immer wenn wir auf Abbrechen klicken, wollen
wir die Haupt-Benutzeroberfläche öffnen, aber wir wollen
das Ascension-Popup schließen Lass uns das versuchen. Öffne es, klicke auf Abbrechen und ich kann
sehen, dass es einwandfrei funktioniert. Fahren Sie fort und speichern Sie alles und lassen Sie uns
mit dem nächsten fortfahren.
113. 13.04 Festlegen des Neustart-Events: Ordnung, wann immer wir hier auf Ascend
klicken, lösche ich
eigentlich die Musik, nur damit wir hier
ohne die Musik arbeiten können Ich werde einfach darauf klicken. Und dann klicken Sie auf den
Volumenmultiplikator auf Null. Und wenn ich immer auf Jetzt spielen klicke wenn ich hier auf
Ascend und Ascend klicke, möchte
ich das Spiel neu starten Das ist im Grunde
das, was ich tun möchte. Wir starten
das Spiel im Grunde neu und geben dem Spieler
zusätzlichen Schaden Lass uns weitermachen und das Spiel
neu starten. So wie wir das machen, machen
wir
das tatsächlich innerhalb des Spielmodus , weil es hier unten
am sinnvollsten ist. Klicken wir mit der rechten Maustaste und erstellen Sie
ein neues benutzerdefiniertes Ereignis. Nennen wir dieses
eine Neustart-Spiel. Es gibt viele
Variablen, die wir neu starten
müssen , weil
wir tatsächlich alle Variablen
neu starten müssen alle Variablen
neu starten , mit denen wir bisher
gearbeitet haben. Nicht alle,
sondern diejenigen, die sehr wichtig
sind und auf dem Bildschirm
angezeigt werden. Beginnen wir zum Beispiel
mit dem Level, das Sie
freigeschaltet haben, und dem aktuellen Level. Lassen Sie mich einfach
dieses freigeschaltete Level
ziehen, hineinziehen und es auf eins setzen. Auch das
war es von Anfang an. Das Gleiche gilt für
das aktuelle Level. Ziehen wir es und setzen es auf eins. Lassen Sie uns hier auch
all diese Schaltflächen entfernen. Wenn Sie all
diese Schaltflächen haben, müssen
Sie sie entfernen. Lassen Sie uns das tun, indem wir uns
den Player-Controller besorgen. Lasst uns die Maui finden.
Mach weiter und hol es dir Dann brauchen wir
die Levelliste.
So haben wir es genannt. Wenn du dich nicht erinnern kannst,
wie du es genannt
hast, kannst du jederzeit die Maui öffnen Du kannst auf diese Liste klicken
und du hast sie Level-Liste genannt. Wir bekommen dieses Menü. Wir bekommen die Levelliste. Mach weiter und hol es dir. Wir können hier klare Kinder herausholen. Wir werden alle untergeordneten Komponenten entfernen untergeordneten Komponenten , die sich in dieser Liste befinden. Wenn ich sie alle entferne,
denken Sie daran, dass wir auch die erste Ebene
entfernen. Wir müssen auch
Stufe eins hinzufügen. Wir können das direkt vom Player-Controller aus
tun ,
und wir haben dieses Interface, das als Button-UI bezeichnet wird. Falls du dich nicht daran erinnerst, ist
das ganz natürlich, weil
wir schon seit geraumer Zeit
damit arbeiten und manchmal vergesse ich auch
mich selbst, wie ich es genannt habe. Es ist immer schön,
zurückzugehen und eine Button-Benutzeroberfläche zu sehen Fügt
im Grunde genommen diese aktuelle
Ebene zur Serverliste hinzu. Wenn ich in den
Spielmodus zurückkehre und wir
diese
Level-Button-Benutzeroberfläche hinzufügen , ist es Level eins. Im Grunde das freigeschaltete
Level, das wir hier haben. Lassen Sie uns das entsperrte
Level ziehen und hinzufügen. Jetzt haben wir die richtigen Stufen. Das nächste, woran wir arbeiten
wollen, ist die Anzahl der Münzen,
die der Spieler hat. Wir brauchen einen Verweis
auf den Spieler, und ich kann sehen, dass wir keine Variable für den Spieler haben
. Lassen Sie uns hier tatsächlich eine hinzufügen. Lass mich
das alles ziehen. Dieser ist jetzt im Startspiel. Klicken
wir zu Beginn des Spiels mit der rechten Maustaste und sagen wir Spielercharakter abrufen, sagen
wir, Spielerreferenz
aus der Blueprint-Oberfläche abrufen aus der Blueprint-Oberfläche Mach weiter und verbinde
es. Klicken wir mit der rechten Maustaste und bewerben Sie diese
Variable namens Spielerfigur Stellen wir wieder eine Verbindung zu dieser her und schieben
sie einfach wieder zurück, kompilieren Was wir hier unten tun können,
ist, dass wir es mit diesem Spieler
aufnehmen können und wir können sagen, wie
viele Münzen es gibt. Wir können die Anzahl
der Münzen auf Null setzen, müssen
aber auch die Benutzeroberfläche aktualisieren. Ich erinnere mich nicht ganz an
die Logik hier. Wenn ich zurück zum Player gehe und den Player hier
öffne, den Player hier
öffne, haben wir die Anzahl der Münzen aktualisiert. Und das ist
in der WB-Hauptversion, wir haben es „Anzahl der
Münzen aktualisieren“ genannt Kopieren wir einfach diesen
Teil des Codes. Gehen wir zurück zum
Spielmodus und fügen ihn ein. Wir müssen
im Grunde nicht mehr Code schreiben. Wir können einfach die, die wir
bereits haben, kopieren und
einfügen und verbinden. Erstellen Sie einen hinteren Routenknoten wie
diesen. Und jetzt ist das erledigt. Okay, das nächste, was
wir
ebenfalls reparieren wollen, ist die Menge der
Artikel, die wir hier gekauft haben. Also müssen wir auch
das neu starten. Für den Item-Port haben wir auch
diesen variablen Gegenstand
im Player. Wenn ich in den Spielmodus zurückkehre, kopiere
ich den Spieler-Pan
hierher und suche im Voraus
danach und finde das richtige Ergebnis von hier aus. Und wenn ich dann klar sage,
löschst du alle Werte in dieser
Map, wann immer ich sie lösche. Ich möchte auch die Benutzeroberfläche aktualisieren. Wenn Sie die Benutzeroberfläche
für die Artikelkarten aktualisieren, erstellen
Sie im Grunde einfach alle Artikel neu Denn denken Sie daran, als wir die Artikelkarten für den Shop
erstellt
haben, haben wir im Grunde
die vorherigen gelöscht Wir können weitermachen und zum Spielmodus
zurückkehren. Wir können den
Player-Controller hierher nehmen
und per Drag&Drop Shop-Artikelkarten erstellen sagen. Mach weiter und verbinde dich. Als letztes
müssen wir jetzt auch den
DPS für den Spieler aktualisieren Wir müssen den gesamten
DPS und den Cursorschaden neu starten. Lass uns zum Spielmodus zurückkehren. Lass uns den
Spieler wieder so nehmen. Nehmen wir den gesamten DPS und setzen ihn auf Null, denn das
ist standardmäßig Nehmen wir den Cursorschaden
und legen den Cursorschaden fest. Ich glaube, der Cursorschaden
beträgt jetzt 15. Wenn Sie also
darauf klicken, können Sie
den Standardwert sehen , den
Sie für Ihr Spiel festgelegt haben. Und ich werde ihn einfach wieder auf 15
setzen, was hier die Standardeinstellung
für mein Spiel ist. Und wir können einfach
eine hintere Kunstnotiz machen und alles sieht toll aus. Okay, die letzte Sache ist, dass wir aktuelle
Level festlegen
wollen, in dem wir uns befinden, weil wir dieses festgelegte aktuelle
Level haben und es auch
den Feind für dieses
Level spawnen lässt und
die Rundenzeit startet , die wir dafür
brauchen Lass uns wieder hierher zurückkehren.
Sagen wir, stellen Sie das aktuelle Niveau ein. Fügen wir die Ebene hinzu, auf der wir befinden und
die aktuelle Ebene ist. Das aktuelle Level haben wir auf eins
neu gestartet. Wenn Sie sich an
das erste erinnern, würde das
aktuelle Level, das auf eins
gesetzt ist, auf eins gesetzt werden Jetzt sind wir
mit diesem Neustart-Spiel fertig. Mal sehen,
ob es funktioniert. Schauen wir mal hier nach, ob ich das
alles abschließe. Ich öffne die Benutzeroberfläche. Ich öffne dieses One
Ascension Popup. Ich klicke auf diesen Aufstieg, gehe runter
und klicke auf den Button, auf
den ich für
diesen Aufstieg geklickt Ich werde das alles kopieren, weil wir die Haupt-Benutzeroberfläche
anzeigen müssen und wir auch das
Aufstiegs-Popup entfernen müssen das
Aufstiegs-Popup entfernen Wenn wir auf diese Schaltfläche klicken, ändern
wir den Namen dafür Es geht nicht um die Button-Ebene, sondern um den Button-Aufstieg.
Gehen wir zurück. Okay, hier drüben
wollen wir auch das Spiel neu starten. Ich
klicke mit der rechten Maustaste und sage
Spielemodus abrufen und dann
Spielmodus-Referenz abrufen. Dann
sage ich Spiel neu starten. Es sollte gut funktionieren. Mach weiter und speichere und lass
uns spielen und es ausprobieren. Feind. Ich kaufe hier etwas
und schalte das Level ein. Wenn ich auf Zustimmen klicke
und dann aufsteige, siehst
du, dass der Timer
neu gestartet wird Dadurch wird die Anzahl der Artikel, die ich gekauft habe
, neu gestartet. Außerdem werden hier der
Levelfortschritt
und die Anzahl der Münzen, die
ich habe, neu gestartet . Lass es uns noch einmal versuchen. Wenn ich dem Feind einfach sage, dass ich etwas in den Geschäften
kaufe, starten
wir den ganzen Prozess und alles
funktioniert gut. Das war es für den
Neustart des Spiels. Und lassen Sie uns
zum nächsten übergehen.
114. 13.05 Aufstieg am Ende des Spiels zeigen: Was wir jetzt sicherstellen möchten,
ist, dass, wenn du auf „Spielen“ klickst, dieser
verfügbare Aufstieg nur
angezeigt wird
, verfügbare Aufstieg nur
angezeigt wird wenn der Spieler das Endspiel
erreicht hat Ich würde zum Beispiel
in meinen Kriterien sagen, dass immer dann wenn der Spieler alle Artikel
gekauft hat ,
etwa eine bestimmte Menge, dieser
verfügbare Aufstieg angezeigt wird Lass uns weitermachen und das tun. Lass uns das im
Spielmodus machen. Lass uns den
Spielmodus hier drinnen öffnen. Lass uns eine neue Funktion erstellen. Rufen wir diese Funktion auf, wenn
die Kriterien erfüllt sind. Zum Beispiel wird sie
prüfen, ob die Kriterien erfüllt sind. Und dann wird dieses Widget
jetzt angezeigt
, um sicherzustellen, dass es
von Anfang an ausgeblendet ist .
Gehen wir zur Benutzeroberfläche. Lassen Sie uns zunächst die Haupt-Benutzeroberfläche öffnen
. Klicken
wir in der Haupt-Benutzeroberfläche hier drüben. Hier auf dem Overlay
für den Aufstieg. Ich werde nur den Namen
für dieses Overlay
ändern , weil
wir es verstecken werden, also ist es immer schön, den Namen zu
kennen Ich nenne es
Overlay Ascension
und setze es auf Auch als Anfang hier
in der Sichtbarkeit. Anstatt nicht auf Testbar zu klicken, setzen
wir es auf Collaped. Unserer Ansicht nach ist das nicht der Fall. Wenn Sie den Clip jetzt abspielen, können Sie
sehen, dass er nicht mehr angezeigt wird. Wir werden es immer dann anzeigen, wenn
diese Kriterien erfüllt sind. Nun zu den Kriterien: Immer wenn Sie eine bestimmte
Menge dieser Artikel gekauft haben, wird angezeigt, dass wir
die Artikel-Spotmap benötigen. Das ist in unserem Player. Lassen Sie uns einen
Verweis auf den Spieler bekommen oder bekommen, und den haben wir
schon hier. Spiel weiter. Nehmen wir es raus
und sagen Item Spots. Holen wir uns diese Karte, die wir zuvor
erstellt haben. Jetzt müssen wir alle
Schlüssel daraus holen. Die Werte werden
im Grunde Schlüssel genannt. Alle Schlüssel hier. Wir
können auch die Werte für sie sehen. Lassen Sie uns von
hier aus zuschlagen und
wieder Tasten und Ziehen sagen ,
dann hier verbunden. Jetzt haben wir alle Schlüssel. Ich möchte zuerst überprüfen,
ob wir alle Artikel haben? Weil es nicht wirklich
wichtig ist, all das zu wiederholen und überprüfen, wie viele Artikel wir haben, wenn wir den Artikel nicht
einmal haben. Nur der Optimierung halber
sollten wir zunächst überprüfen, ob der
Spieler alle Gegenstände hat bevor wir sie
durchgehen und schauen wie viele es von jedem Gegenstand gibt. Nehmen wir das und sagen,
die Länge ist diese Länge, ist das gleich? Fahren Sie
fort und wählen Sie das aus. Entspricht das der
Menge an Shop-Artikeln, die Sie haben? Und wie bekommen wir heraus, wie
viele Shop-Artikel wir haben? Das ist eigentlich super einfach ,
weil wir das jetzt
hier im Spielmodus Anfang im
Player definieren können. Spiele hier im
Spielmodus, nachdem ich die Bauern
und Spawnpunkte
definiert habe die Bauern
und Spawnpunkte
definiert Lassen Sie uns das tatsächlich tun,
bevor wir den Feind spawnen. Trennen wir das
und lassen Sie uns von
hier aus zuschlagen und sagen: Holen Sie sich die Datentabelle Bisher haben wir diesen
benutzt. Holen Sie sich die Zeile der Datentabelle, aber
jetzt verwenden wir diese. Ruft die Zeilennamen der Datentabelle ab. Wir werden alle Zeilennamen
der Datentabelle für die Infodatentabelle abrufen. Hier sind alle Namen für die Artikel daraus
und wenn man Länge sagt, wird dir
das sagen, wie
viele Artikel wir haben. Wenn du zum Beispiel
11 Artikel hast, heißt es 11. Klicken wir mit der rechten Maustaste darauf
und machen daraus eine Variable und nennen sie
Menge an Shop-Artikeln. Mach weiter und verbinde es. Nun, so,
verbinde das auch. Nun, was wir
tun können, lasst uns kompilieren. Wenn Sie sehen möchten, was es macht, können
Sie jederzeit
eine Druckzeichenfolge erstellen. Verwenden Sie immer eine Druckzeichenfolge wenn Sie sehen möchten,
was Sie tun. Es ist ein Indikator. Sie können auf
Play klicken und hier oben links steht 11. Das funktioniert perfekt. Lass uns kompilieren. Gehen wir
zurück zu den erfüllten Kriterien. Lassen Sie uns diese
Menge an Ladenartikeln hier
hineinwerfen und dann eine Filiale gründen. Was wir im Grunde
tun, ist die Schlüssel für die Artikel
zu besorgen, wir nehmen die Länge der Artikel. Wir überprüfen im Grunde, wie viele dieser Artikel wir gekauft
haben. Und wir vergleichen es mit
der Menge der Ladenartikel. Wenn die Anzahl der Artikel, die wir
gekauft haben , der
Anzahl der Artikel im Laden entspricht, bedeutet das, dass ich all
diese Artikel mindestens einmal gekauft habe . Sobald ich weiß, dass ich all diese
Artikel mindestens einmal
gekauft habe , die Länge des Artikeltopfs entspricht
die Länge des Artikeltopfs der
Anzahl der Artikel im Laden. Wenn das stimmt, fahren wir
fort und setzen den Code fort. Wenn das nicht stimmt, können wir es, wir können es einfach lassen, weil wir nichts tun wollen. Lass uns von hier aus weitermachen.
Und jetzt wollen wir, dass
die Werte von hier übernommen werden die Werte von hier übernommen Oder Sie können im Grunde genommen,
nur um es übersichtlicher zu machen, Sie können jederzeit
wieder hierher ziehen und dann Werte ziehen
und sagen Jetzt erhalten Sie die
Werte dieser Schlüssel. Im Grunde sind die Schlüssel hier
und die Werte sind hier. Jetzt
spielst du hier mit den Werten. Nun zu den Werten, die
du für jeden Loop mit Brick
sagen wirst. diesem Beispiel wollen
wir überprüfen
, ob wir eine
bestimmte Menge dieses Artikels gekauft haben Nehmen wir
zum Beispiel an,
der Spieler muss zuvor
mindestens zehn Artikel
von jedem Gegenstand gekauft haben. Der Aufstieg erscheint. Wir werden uns alle
Artikelwerte ansehen und
prüfen ob sie diesen Betrag oder die
Bot-Menge erreicht Im Grunde genommen, was auch immer wir setzen, ob ich sage, ist es größer oder gleich
dem, was ich hier schreibe ,
zum Beispiel, ist es
größer oder gleich zehn und ich kann eine Verzweigung erstellen. Dann
möchte ich einen Zähler erstellen. Lass uns eine lokale Variable machen. Und ich
nenne es einfach Local Counter. Es wird nur ein
Zähler sein, der für mich zählt. Es fängt bei Null an. Wir sagen diesen
Zähler plus plus. Jedes Mal, wenn wir feststellen, dass
dieses Kriterium erfüllt ist, fügen
wir diesem Zähler
eins hinzu. Wenn wir
von jedem dieser Artikel zehn Artikel gekauft haben, müsste dieser Zähler 11 sein, weil wir 11 Artikel haben. Immer wenn es hier
in der Liste „Abgeschlossen“ 11 ist, werden sie alle wiederholt und es ist dieses lokale L-Plus, was im Grunde
plus eins bedeutet. Wenn es Null wäre, wäre es eins. Wenn es eins wäre,
wären es zwei und so weiter. Es wird sie durchdringen. Und wenn dieser lokale Zähler der Anzahl der Artikel im
Laden entspricht, die 11 ist, wird dieser Zähler
im Grunde 11 sein, wenn wir von jedem dieser
Artikel eine bestimmte Menge an Artikeln
gekauft haben dieser
Artikel eine bestimmte Menge an Artikeln
gekauft , weil wir wieder 11 Artikel haben, lassen Sie uns eine Filiale gründen
und sagen, stimmt das? Wenn das stimmt, wollen wir sagen , dass die Kriterien erfüllt wurden. Ich werde hier tatsächlich eine neue Variable
erstellen. Und es ist nur ein Edelmetall, das als
Aufstiegskriterien bezeichnet wird, erfüllt. Und verwandle es in ein Goldbarren, mach weiter und verbinde es
hier und mache es wahr Ja, das sollte es sein. Eigentlich das, was wir hier machen. Lassen Sie uns übrigens hier eine Pause einlegen, weil wir es nicht
durchgehen müssen, ohne es kaputt zu machen. Denn hier verwenden wir
für jede Schleife eine mit Pause. Und das bedeutet, dass
wir diesen Code wiederholen werden. Es macht jedoch keinen
Sinn , sie immer wieder
durchzugehen. Wenn wir herausgefunden haben, dass wir
für die Lichtfeder nicht zehn gekauft haben, warum sollten Sie sie dann alle
durchgehen Weil es
sowieso nicht zu sehen sein wird. Weil dieser nicht zehn ist. Stattdessen dient dies
im Grunde der Optimierung, sodass Sie den
Code nicht sinnlos durchgehen müssen. Wenn wir es in einer Schleife durchgehen und
herausfinden, dass eines der Elemente keine
zehn Elemente hat. Aber wie wir hier
geschrieben haben, dann können wir hier
ziehen und Pause sagen. Wir
durchbrechen im Grunde den Kreislauf. Was wir damit sagen,
ist zum Beispiel, wir eine Schleife durchmachen, wir schauen uns die Lichtfeder
an Da steht zum Beispiel,
ja, wir haben zehn gekauft. Dann schalten wir noch
den lokalen Schalter ein. Dann
schaut es sich die Fackel an. Und vielleicht
haben wir nur neun gekauft. Es wird falsch stehen, du
hast keine zehn gekauft. Wenn das falsch ist,
werden wir einfach den Kreislauf durchbrechen. Also wiederholen wir das nicht mehr, weil es
keinen Sinn ergibt. Wir haben nicht alle
Artikel zehnmal gekauft. Es wird den Kreislauf durchbrechen und es wird abgeschlossen werden. Der Zähler vor Ort
entspricht nicht der Menge
der Artikel, die man wegwerfen muss, weil es hier vielleicht nur zwei
waren Dann wird es falsch sein und
dann wird nichts passieren. Die Aufstiegskriterien
werden nur dann erfüllt, wenn der lokale Zähler der Anzahl
der Artikel im Laden
entspricht Jetzt musst du dir überlegen,
wo es Sinn macht
, danach zu suchen oder diese Funktion hier
aufzurufen? , danach zu suchen oder diese Funktion hier
aufzurufen Jetzt macht es beim Kaufartikel grundsätzlich am meisten Sinn . Gehen wir zurück zum Player. Hier haben wir es geschafft. Wir haben diesen einen Kaufartikel. Jedes Mal, wenn wir einen Artikel kaufen, müssen
wir überprüfen, ob die
Kriterien erfüllt wurden. Lass uns das einfach hier machen. Am Ende ist es
im Spielmodus, also müssen wir
den Spielmodus nehmen und Aufstieg
sagen. Und nehmen wir dieses eine Aufstiegskriterium,
wir werden es
jedes Mal aufrufen , wenn wir etwas kaufen,
weil wir überprüfen müssen, ob wir
den Aufstieg zeigen müssen,
würden wir es jetzt tun, wenn du auf
Spielen klickst und alle kaufst, wird
es nicht Denn denkt daran, dass wir das
Himmels-Overlay eingestellt haben. Wenn ich also zur Haupt-Benutzeroberfläche zurückkehre, stellen
wir dieses Overlay so ein, dass Irgendwann
müssen wir es zeigen. Gehen wir jetzt zurück zum
Spielmodus, hier zu den Aufstiegskriterien, und zeigen wir nun dieses Overlay Denken Sie jetzt daran, dass sich dieses Overlay innerhalb von WB Main
befindet, das die Referenz innerhalb
des Player-Controllers hat Wenn ich einfach den
Player-Controller nehme und WB Main
suche, erhalte ich das
und dann erhalte ich das und dann erhalte ich So habe ich es im
Grunde genannt. Dann kann ich sagen, Sichtbarkeit einstellen. Stellen wir die Sichtbarkeit so ein
, dass sie nicht testbar ist. Denken Sie daran, dass visible
im Grunde
Ihre Mausklicks blockiert , und das wollen wir
nicht tun Lass es uns testbar machen,
kompilieren und speichern. nun, nur zu Testzwecken, Lassen Sie uns nun, nur zu Testzwecken, einfach einen schreiben Wenn ich einfach die
Sounds deaktiviere, bevor ich auf Play klicke, wird es für dich wohl
nervig sein, dass ich die Sounds
hier in der feindlichen Basis
weiter spiele. Immer wenn der Feind stirbt. Ich
deaktiviere einfach den Sound auf D abspielen. Lassen Sie uns
vorerst auf Abspielen klicken. Ich werde einfach kaufen. Jeder Artikel. Nun, das
ist der letzte und ich
werde ihn kaufen. Ich kann sehen, dass nichts passiert, obwohl es passieren sollte. Lassen Sie uns
das tatsächlich als gute Gelegenheit nutzen , es
gemeinsam zu debuggen , und Sie können
sehen, wie ich es debugge Lassen Sie uns weitermachen und zum Spielmodus
zurückkehren. Im Grunde tritt der Fehler
hier auf. Lassen Sie uns Zeichenkettennotizen drucken. Das
mache ich normalerweise hier zum Debuggen. Lass uns eine Print-Zeichenfolge schreiben. Sagen wir, ob der
Code durchgeht. Ich sehe mir im Grunde an ob der Code durchgeht? Wenn es das tut, bedeutet das, dass
es funktioniert. Schreiben wir einfach zuerst hier,
zum Beispiel was auch immer. Es macht eigentlich keinen
Unterschied, was du schreibst. Lassen Sie mich hier zum
Beispiel an zweiter Stelle schreiben. Immer wenn ich
den Code hier durchgehe, was hier angezeigt wird,
wenn er als Zweiter steht, bedeutet das, dass die Länge
dieser Schlüssel der Shop-Artikel
entspricht,
was bedeutet, dass der Code
funktioniert, bevor ich weitermache. Lass uns das einfach versuchen. Jetzt sage ich zuerst, es ist in Ordnung, sollte zweitens sagen, wenn
ich das letzte kaufe. Aber Sie können sehen, dass es
tatsächlich als zweites gesagt wird. Wann immer ich diesen gekauft
habe, habe ich diesen noch nicht gekauft. Es ist also so
, dass ich
die Menge an Shop-Artikeln
schon habe die Menge an Shop-Artikeln , bevor ich den letzten Artikel
kaufe. Entweder habe ich versehentlich einen
Standardwert in dieser
Artikelposition
, den ich mir gleich
ansehen werde, oder die Anzahl der
Shop-Artikel ist falsch. Schauen wir uns zunächst
die Anzahl der Shop-Artikel an. Ich werde einfach
die Druckzeichenfolge löschen. Ich gehe zurück zum Event-Graph
im Spielmodus. Ich werde die Anzahl der
Ladenartikel ausdrucken , die ich
tatsächlich daraus
erhalte, sind es 11, die ich bekommen
soll. Da steht 11. Mit der anderen Variablen stimmt etwas nicht, mit der Artikelstelle stimmt
etwas nicht. Wenn ich zurück zum Player gehe
und auf die Gegenstände klicke, aber ich kann es hier sehen, dann ist
das eigentlich
der Fehler hier. Standardmäßig habe ich
auf das Plus geklickt und ein zufälliges leeres Objekt
hinzugefügt Und ich kann hier auf Löschen und dann auf Kompilieren
und Abspielen klicken Lass es uns jetzt noch einmal versuchen. Wenn ich von jedem Artikel einen kaufe, funktioniert
es jetzt. Und es wird
mir auch zeigen, welche Ascension verfügbar ist. Ich kann hier auf Ascend
and Ascend klicken
und dann das Spiel neu starten Jetzt müssen wir das wieder verstecken, wann immer wir aufsteigen, lassen Sie uns das
wirklich sehr schnell tun können wir machen. Lass uns das
schließen. Gehen wir zurück zur Benutzeroberfläche. Und lassen Sie uns
dieses Pop-up hier öffnen. Lass es uns hier machen, wann immer
wir auf Ascend klicken,
hier, wann immer wir auf
Ascend klicken und das Spiel neu starten Lass es uns einfach machen, bevor
wir das Spiel neu starten. Nehmen wir wieder den
Player-Controller. Wenn du es hinter dir hast, geh zum WB-Hauptmenü. Dann holen wir uns
wieder V Ascension. Dann lassen Sie uns
das weiter wegschieben. Wir wollen die
Sichtbarkeit im Grunde genau wie zuvor einstellen, aber jetzt wollen wir
die Sichtbarkeit
wie zuvor auf reduziert setzen , zusammengeklappt und dann diese
Verbindung herstellen. Und dann sollte das ganz gut
funktionieren. Okay, jetzt
funktioniert alles und lass uns mit dem nächsten
weitermachen.
115. 13.06 Erstellen der Aufstiegsstruktur: Was ich
jetzt tun möchte, ist, den Multiplikator
für den Aufstieg zu erstellen Jedes Mal, wenn wir
ein neues Level erreichen oder das Spiel
neu starten, möchte
ich mir mehr Schaden zufügen Zum Beispiel sollte der
Spieler
300% mehr Schaden haben als zuvor, und alles fügt
300% mehr Schaden zu Lassen Sie uns den Multiplikator festlegen und das können wir ganz
einfach wieder tun, indem wir erneut eine Struktur und eine Datentabelle verwenden Gehen wir zurück zu den
Strukturen und
klicken mit der rechten Maustaste auf Blueprints und erstellen
dann eine neue Nennen wir das ST Ascension. Ihr könnt den
Aufstiegsmultiplikator auch nennen , was er auch ist Lass es uns öffnen,
statt hier, lass es uns in ein Float umwandeln Und im Grunde
wollen wir einfach nur den Aufstiegsschaden-Multiplikator haben Aufstiegsschaden-Multiplikator Das ist der einzige Wert, den wir brauchen. Lassen Sie uns es jetzt schließen. Gehen wir zu
Datentabellen und
klicken wir mit der rechten Maustaste auf Verschiedene Datentabelle. Und lassen Sie uns die
Struktur auswählen, die wir gerade erstellt haben. Sie können im Blueprint sehen, dass Sie im Grunde immer wieder
dasselbe tun. Und wann immer Sie
wirklich gut darin werden, können
Sie im Grunde
Ihre eigenen Mechaniken erstellen indem Sie einfach die Werkzeuge verwenden, die
Sie gelernt haben Dieser wird im Grunde
einfach Aufstieg genannt.
Lassen Sie uns für diesen Fall die Google-Tabellen speichern und dann
öffnen Lassen Sie uns im Grunde hier ein neues erstellen. Ich werde
diesen Gegenstand einfach duplizieren, um diesen neuen Gegenstand
zum Beispiel T, Aufstieg, zu nennen Lass uns jetzt alles löschen. Denn die ID gibt an, auf welcher
Aufstiegsebene wir uns befinden. Wir beginnen mit Level Null , weil wir keine
Aufstiege haben Das ist im Grunde genommen,
ihr könnt euch
das als die Anzahl der Aufstiege vorstellen das als die Anzahl der Aufstiege wir gemacht haben oder
ab 01 beginnen,
und ihr könnt weitermachen, wie viele ihr
wollt Dann kannst du
Damage Multiplier sagen. Im Grunde musst du es den gleichen Namen
nennen, Ascension Damage Also derselbe Name wie das, was Sie in die
Datentabelle geschrieben
haben Nun zum Multiplikator:
Er muss eins sein, wenn du keine Aufstiege hast, weil du alles mit eins multiplizieren
wirst,
was bedeutet, dass du nur den Schaden bekommst,
den du gerade zuvor
hattest,
was im Grunde der Grundschaden ist,
den du hier
in deiner Gegenstandsinfo definiert
hast,
alles multipliziert mit eins was bedeutet, dass du nur den Schaden bekommst,
den du gerade zuvor
hattest,
was im Grunde der Grundschaden ist, den du hier
in deiner Gegenstandsinfo definiert
hast, alles multipliziert mit Nun, wann immer wir aufsteigen, kannst
du zum Beispiel drei sagen Das bedeutet, dass du jetzt
dreimal mehr Schaden hast als zuvor. Und dann kannst du
zum Beispiel sieben sagen. Und ich werde einfach Zufallszahlen
schreiben, ich sage das
mal 1,5 oder was auch immer. Und Sie können einfach
nach unten ziehen und dann
hier klicken , um alle Dezimalstellen zu entfernen. Jetzt können wir das einfach benutzen. Okay, lassen Sie uns weitermachen und auf Datei herunterladen
klicken, CSV
herunterladen. Jetzt habe ich diesen DT-Ascension. Und ich gehe
zurück zu meinem Motor. Und hier können wir
es jetzt reinziehen
und es sollte
alles korrekt laden. In Ordnung, jetzt
hast du die Multiplikatoren. Und lass uns weitermachen, indem wir in die Bibliotheken
gehen. Öffne es. Lass uns hier
eine neue Funktion erstellen. Lass uns auf Ad klicken, auf Funktion
klicken, sie
zum Beispiel Y als Multiplikator
oder Aufstiegsschaden-Multiplikator
nennen oder Aufstiegsschaden-Multiplikator Du kannst es nennen,
wie du willst. Für diesen Input müssen
wir im Grunde wissen, auf
welchem Level wir uns befinden. Wie viele Aufstiege
haben wir bisher gemacht? Wenn wir es in eine Ganzzahl umwandeln, können
wir es Ascension Level nennen Sagen wir jetzt eine Tabelle
wie zuvor. Holen wir uns die
Ascension-Datentabelle. Auch hier kannst du das nicht damit
verbinden weil du zuerst zwei Zeichenketten sagen
musst Sie müssen
es in eine Zeichenfolge konvertieren, und dann können Sie es hier
verbinden, und es wird es automatisch
in einen Namen für Sie konvertieren. Sie können von
hier aus ziehen und Return sagen. Sie können die Informationen
hierher zurückgeben , indem Sie sie hineinziehen Und jetzt kannst du Ascension
Info sagen, zum Beispiel kompilieren. Und denken Sie daran, auf diese
Funktion und dann auf Pure zu klicken. Auch hier bekommen wir nur
ein paar Informationen. Lasst uns alles speichern. Und jetzt können
wir es in
den nächsten Lektionen verwenden.
116. 13.07 Den Aufstiegsmultiplikator hinzufügen: Jetzt müssen wir den
gesamten Schaden, den wir
im Spiel anrichten, mit dem Multiplikator multiplizieren gesamten Schaden, den wir
im Spiel anrichten, mit dem Multiplikator im Spiel Wir holen also die richtige
Menge an Schaden heraus. Um das zu tun, müssen wir wissen wo wir den
ganzen Schaden angerichtet haben? Das können wir leicht finden. Gehen wir zuerst zum Player. Nun, im Player
hier, zum Beispiel
im Kaufartikel, haben
wir das gemacht, TPS Jetzt können Sie jederzeit mit der
rechten Maustaste hier klicken und dann auf das klicken Was ich tun würde, ist
Referenzen dafür zu finden , weil
wir das DPS hier haben Wenn wir alle Referenzen hier in
allen Blueprints finden können , können
wir herausfinden, wo wir
DPS machen oder woher wir diese Informationen
nehmen, indem wir rechten Maustaste auf Referenzen suchen klicken
und dann auf
dieses kleine Symbol klicken, um die Referenzen
in allen Blueprints zu finden Nicht nur dieser. Okay, ich werde das auf
meinen zweiten Monitor stellen und im Grunde arbeite ich zuerst
nur mit
diesem. Was ich jetzt tun möchte,
ist,
diese Menge an Schaden pro Sekunde mit
dem Aufstiegsmultiplikator zu multiplizieren , ich erhalte die
richtige Menge an
Schaden im Vergleich zum
Multiplikator des Schaden im Vergleich zum
Multiplikator Ich klicke mit der rechten Maustaste und sage Erhalte den Aufstiegsschaden-Multiplikator . Wir können das nehmen
und jetzt Pause sagen, wir können
es mit diesem multiplizieren Vielleicht hätte ich
es kürzer nennen sollen, aber es ist immer schön,
einen aussagekräftigen Namen zu haben , um zu
wissen, was man tut Wenn wir dieses DPS
herausbringen, wollen
wir es im Grunde nehmen
und Multiplizieren sagen Und ich werde es einfach von
hier
trennen und es hier ablegen. Macht nicht wirklich einen
Unterschied, sieht aber besser aus. Ich werde den
DPS mit dem Multiplikator multiplizieren, dann ziehe ich das jetzt und stecke es stattdessen hier
ein. Ziehe es einfach nach unten, damit es so besser
aussieht. Jetzt multiplizieren wir den
Multiplikator.
Wenn der Multiplikator beispielsweise drei ist, können
wir sagen, dass der DPS dreimal so Wenn der Multiplikator beispielsweise drei ist, können
wir sagen, dass der DPS dreimal Und es zeigt den Cursorschaden
an oder erhöht ihn um den Jetzt brauchen wir den unverzichtbaren Roman. Wir müssen wissen,
auf welchem Level wir uns befinden? Lassen Sie uns diese Variable
im Spielmodus erstellen. Wenn du den
Spielmodus öffnest und hier drin, lass uns eine neue Variable
namens Ascension Level erstellen Lassen Sie uns diese in
eine Ganzzahl ändern. Kompilieren Sie vorerst. Wir haben
mit dieser Aufstiegsstufe noch nichts erreicht, aber das ist momentan nicht wirklich
wichtig Gehen wir zurück zum Spieler
und nehmen wir den Spielmodus. Wenn ich es jetzt
hier finden kann, Spielmodus-Level. Und wir können es einfach nehmen Aufstiegsstufe erreichen und
weitermachen und
sie mit dieser verbinden Wir erhalten im Grunde
die Aufstiegsstufe, die momentan Null ist Wenn die Aufstiegsstufe Null ist, wenn Sie zu den
Datentabellen auf der Ebene Null zurückkehren, werden
Sie den Multiplikator auf eins setzen,
was im Grunde bedeutet, dass der DPS mit eins multipliziert wird ,
was hier nur
der DPS was Es wird nichts ändern. Wenn du jedoch
das erste Mal aufsteigst, also einen Aufstieg
von Stufe eins
hast, wirst du den gesamten Schaden um drei erhöhen,
was bedeutet, dass du
300% mehr Schaden hast Lassen Sie uns nun alle Orte finden, an denen wir
DPS haben. Und ich werde einfach
den ganzen Code kopieren , damit du ihn nicht noch einmal schreiben
musst Kopiere den ganzen Code. Jetzt werde ich das hier noch einmal besprechen. Klicken Sie auf den ersten,
es ist nur das hier. Klicke auf die zweiten Neun. Info, wir richten hier
keinen Schaden an. Klicken Sie auf den dritten, wir richten keinen Schaden an. Klicken Sie auf den vierten, hier haben wir einen Schaden. Das ist Teil
des Funktionsupdates. DPS-Update insgesamt DPS. Wir machen das, dann
nehmen wir den Schaden pro Sekunde nochmal
multipliziert mit dem
Schadensmultiplikator des
Aufstiegs multipliziert mit dem
Schadensmultiplikator des
Aufstiegs dann
nehmen wir den Schaden pro Sekunde nochmal
multipliziert mit dem
Schadensmultiplikator des
Aufstiegs und fügen ihn hier ein. Übrigens kann ich
schon sehen, dass wir hier
einen Bug haben, weil wir die Gesamtmenge an Schaden pro Sekunde aktualisieren,
indem wir alle Artikel bekommen, die Wir bekommen TPS für sie und fügen sie dann zum
Gesamt-DPS hinzu Das
passiert hier tatsächlich auch mit der Maus. Es addiert
das tatsächlich zum gesamten DPS. Was ich hier tun möchte,
um den Fehler zu vermeiden, ist dass
ich auf den Artikel klicken möchte Dann sage ich „nicht gleich“. Und fahren Sie fort und wählen Sie
ungleich gleich Mausklick. Wir möchten die DPS
der Mausklicks nicht zum gesamten
DPS hinzufügen zum gesamten
DPS Ein kleiner Bug, der hier war. Stellen wir einfach sicher, dass
wir das nicht hinzufügen. Und ich werde eine Filiale gründen. Mach weiter und verbinde es
hier. Und verbinde es erneut. Und jetzt sollte es gut
funktionieren. Jetzt werde ich die Dinge einfach wieder
umstrukturieren. Ordnung, jetzt
ist das erledigt und wir multiplizieren das mit
dem Aufstiegsmultiplikator Lass uns mit dem nächsten weitermachen. Wenn ich einfach zurückgehe und
meine Referenzen von zuvor finde und auf die nächste klicke, machen wir
hier auch DPS Dies aktualisiert das
ToolTiPi. Schon wieder. Füge es ein. Mach weiter und multipliziere das
mit dem Aufstiegsmultiplikator und verbinde es hier wieder Jetzt multiplizieren wir richtig. Kompilieren Und wir haben hier einen Fehler. Es heißt, wir haben
keine Spielmodus-Referenz, und wir haben sie auch nicht. Lassen Sie uns weitermachen und
die Gamode-Referenz abrufen. Bevor ich das alles mache, werde
ich sagen, Spielemodus
abrufen und
dann sagen wir,
Spielmodus-Referenz abrufen Und mach weiter und verbinde das. Das, ich werde einfach
von hier aus zuschlagen und es verbinden. Jetzt können Sie auch wieder rechten Maustaste klicken und dies
zu unserer Variablen heraufstufen, wenn Sie möchten. Lass uns das einfach machen,
um es ein bisschen sauberer zu machen. Stellen Sie eine Verbindung her, Sie können es auf beide Arten
tun. Entweder verbinde
es einfach direkt oder
nimm jetzt diese Spielmodus-Variable
und verbinde sie hier unten. Das ist
dasselbe. In Ordnung, lassen Sie uns jetzt auch kompilieren. wir sicher, dass
der Cursorschaden korrekt angezeigt wird. Und er wird
korrekt angezeigt , weil wir
hier im Player
immer dann multiplizieren , wenn wir
den erhöhten Cursorschaden
im Spieler angerichtet haben den erhöhten Cursorschaden
im Spieler Hier haben wir zum Beispiel jedes Mal, wenn wir einen Gegenstand
kaufen ,
bereits mit
drei multipliziert und ihn dann mit
dem Cursorschaden Dieser Cursorschaden
sollte korrekt sein. Dieser Schaden hier wird bereits jetzt mit dem
Beitrittsmultiplikator multipliziert Das ist also auch richtig. Gehen wir nun noch
einmal
zu den Referenzen über . Klicken Sie auf den nächsten. Kein DPS hier. Klicken Sie
auf den nächsten Hier gibt es auch kein DPS. Jetzt
sollte alles gut funktionieren. Nun, nur um sicherzugehen, dass der Aufstiegsschaden korrekt
angezeigt wird Gehen wir jetzt hier zurück
zum Spielmodus. Jedes Mal, wenn wir das Spiel neu starten, nehmen
wir diese Aufstiegsstufe
und sagen wir Plus, Plus Wir werden
jedes Mal, wenn wir aufsteigen, eine
zur Aufstiegsstufe hinzufügen jedes Mal, wenn wir aufsteigen, eine
zur Aufstiegsstufe Wir werden also die richtige
Menge an Schaden hineinstecken. Lassen Sie uns jetzt weitermachen und das versuchen. Wenn ich auf Play klicke und
hier jeweils eines kaufe, kaufe
ich das letzte und
klicke dann auf Ascend Dieser wird nicht wirklich korrekt
angezeigt, das ist nur ein statischer Text Aber lass uns auf Abbrechen klicken
und uns den Schaden hier ansehen, um zu sehen, ob er tatsächlich korrekt
angezeigt wird. Ich, jede Maus
bekommt 25 DPS und jede
Lichtfeder gibt fünf DPS Das sollte also 15 anzeigen. Zum Beispiel, wenn ich auf Ascend und hier auf Ascend klicke Hier werden jetzt 15 angezeigt. Hier wird 75 angezeigt, was alles korrekt ist. Jetzt habe ich also den dreifachen Schaden. Lass mich einfach versuchen zu spielen
und lass mich versuchen, wieder aufzusteigen. In Ordnung, jetzt werde
ich den letzten Artikel hier kaufen. Klicken Sie auf den letzten Artikel. Ich kann das wieder sehen.
Ich klicke auf Ascend Und dann wieder aufsteigen. Und jetzt ist der Schaden durch leichte
Federn 35, was richtig ist, und 175, denn jetzt ist der
Multiplikator sieben, alles funktioniert
richtig, weil sieben mal fünf gleich
35 ist, was richtig ist Und jetzt haben wir die
richtige Schadenshöhe. Okay, jetzt funktioniert das. Und nur um sicherzugehen
, dass wir optimiert sind, wollen wir noch einmal überprüfen, ob die
Aufstiegskriterien erfüllt Wenn ich Loops erstelle, achte
ich immer darauf, ob ich diese Schleife tatsächlich
zu den notwendigen Zeiten
durchführe Zum Beispiel
führen wir hier die Schleife aus
, was korrekt ist. Müssen Sie
diese Schleife jedoch
wirklich immer dann ausführen , wenn die
Aufstiegskriterien erfüllt sind Denn jetzt wisst ihr, dass die
Aufstiegskriterien erfüllt wurden. Sie müssen
diese Schleife nicht wirklich noch einmal ausführen , weil
Sie wissen, dass sie erfüllt ist Nehmen Sie diesen Goldbarren her, Aufstiegskriterien wurden zu Beginn
des Kodex erfüllt Wir wollen das nur ausführen. Die Aufstiegskriterien erfüllten hier
diese Funktion. Wir wollen es immer dann ausführen, wenn
dieser Wert falsch ist. Lassen Sie uns das hinter uns lassen
und sagen, Goldbarren, Aufstieg ist nicht wahr,
was bedeutet, dass er falsch ist
. Das ist falsch Wir wollen weitermachen und prüfen , ob die Kriterien erfüllt wurden. Wenn dies jedoch wahr wird, wir es nicht ausführen,
weil wir
im Grunde genommen falsch liegen und
den Code nicht ausführen. Wir wollen nicht den
ganzen Code ausführen. Die Aufstiegskriterien wurden bereits erfüllt, weil
sie unnötig sind Wir haben diese Kriterien bereits
erfüllt. Okay, denken Sie daran,
dass wir das
irgendwann auf falsch setzen müssen , weil sonst nächste Mal, wenn Sie aufsteigen, dies standardmäßig wahr sein
wird das
nächste Mal, wenn Sie aufsteigen, dies standardmäßig wahr sein
wird,
weil Sie es hier unten
auf wahr und
es nie wieder auf Fehler setzen Lass uns danach zum
Neustart-Spiel zurückkehren. Denken Sie daran, die erfüllten
Aufstiegskriterien zu nehmen und sie auf
„Falsch“ zu setzen , wenn Sie
das Level neu starten oder
das Spiel hier Mach weiter und speichere alles und lass uns
mit dem nächsten fortfahren
117. 13.08 Den Aufstiegsmultiplikator anzeigen: Ordnung, in dieser
letzten Phase müssen wir die richtige Menge an
Schaden
anzeigen, der multipliziert wird Wenn ich also hier
im Aufstiegs-Popup zur Benutzeroberfläche gehe, müssen
wir hier im Grunde
den richtigen Betrag anzeigen Jetzt
schreibe ich einfach eine falsche Zahl, damit wir tatsächlich sehen können, dass wir sie dynamisch ändern Also werde ich hier vorerst einfach 00
schreiben. Gehen wir jetzt zur Grafik und wir müssen diesen Text
grundsätzlich
ändern. Jetzt heißt es
Text-Round-Timer, und ich werde stattdessen
zu Text Ascension wechseln , damit es sinnvoller ist.
Und lass uns kompilieren Und jetzt können wir diesen Text einstellen wann immer dieses Popup geöffnet wird. Immer wenn ich auf die
Ascent-Schaltfläche klicke, erscheint und wir möchten
sie sofort aktualisieren Wir können das innerhalb
des Event-Konstrukts tun,
das immer dann abgespielt wird, wenn
dieses Pop-up geöffnet wird. Lass es uns hier machen. Was wir tun
wollen, ist
, den Text festzulegen. Nehmen wir diesen Text
und sagen wieder Text setzen. Wir müssen ein Textformat verwenden , weil wir die
Dinge dynamisch ändern. Nochmals, direkt von hier aus und sage Text
formatieren. Geh
raus und wähle es aus. Sie können sehen, dass wir immer wieder
dieselben Knoten verwenden. Wenn du einfach weiter übst, wirst
du dich an alle
Knoten erinnern und du wirst im Grunde wissen, was zu tun ist, wenn du selbst eine
neue Mechanik erstellen musst Gehen wir zurück zum Designer. Ich werde das alles einfach
kopieren. Ich werde es hier einfügen. Es wird sagen, dass Sie
den Fortschritt neu starten werden, aber jetzt brauchen wir stattdessen diese
geschweiften Klammern hier. Und sagen Schaden in Prozent, Prozent so,
dann mehr Schaden. Es heißt, dass du das Spiel
neu starten wirst, aber zum Beispiel mit
300% mehr Schaden Lass uns versuchen, das zu tun. Lassen Sie uns zuerst diesen verbinden. Was wir jetzt verwenden müssen,
ist genau wie zuvor, wir müssen mit der rechten Maustaste klicken und
sagen „Hol dir Ascension Multiplier Denn das ist im Grunde der Ort, von dem wir die
Informationen bekommen Wir machen uns jetzt wieder auf den Weg
zum Ascension Level, wir brauchen den Spielmodus, um diese Informationen zu
haben Lass uns hier alles draken. Lassen Sie uns sagen, holen Sie sich den Spielmodus. Und dann lassen Sie uns von hier aus
zuschlagen und sagen, holen Sie sich die Spielmodus-Referenz. Gehen wir raus und verbinden es. Hier für den Spielmodus brauchen
wir das Ascension Level Mach weiter und hol dir das
Aufstiegs-Level, und du kannst
es hier verbinden. Wie bekommen wir den Prozentsatz? Jetzt erreichen wir
das Aufstiegslevel. Was wir tun müssen,
ist,
den Multiplikator zu bekommen, nachdem
wir das Spiel neu gestartet haben Denn im Grunde genommen ist
das, wann immer du dieses Pop-up
öffnest und du bekommst nur
diese Aufstiegsstufe, die momentan Null ist, weil du bei
Aufstiegsstufe Null anfängst, heißt
es eins, im Grunde 100%. Jetzt müssen
wir den Multiplikator
teilen,
nach dem ich nur die Datentabelle öffne,
damit es verständlicher ist ich nur die Datentabelle öffne damit es was wir tun müssen,
ist, diese Zahl, die
nach jedem
Aufstieg kommt , zu teilen, was die Zahl hier
ist, geteilt durch das aktuelle 13/1 Und Sie können das immer einfach
in die Ansicht ziehen und
3/1 sagen , das ist dreimal 100, das ist 300%. Wenn Sie es jetzt einfach
mit der anderen versuchen, wenn Sie es mit den Sieben versuchen, sagen wir, wir sind
einmal aufgestiegen und ich bin auf Stufe eins und ich brauche um zu zeigen, um wie viel Schaden in Prozent du erhöht wirst
, wenn du Level zwei erreichst. Jetzt
sagen wir 7/3 mal 100. Das entspricht 233% mehr
Schaden von hier bis hier,
was absolut Sinn macht.
Lassen Sie uns das tun Was wir tun müssen, ist diese Aufstiegsstufe
anzunehmen und ihr eine
hinzuzufügen, weil wir herausfinden müssen, was der
Multiplikator für die nächste Aufstiegsstufe Wenn wir nun diese
Information haben, ist
sie zum Beispiel siebengeteilt,
zum Beispiel
7/3, was die aktuelle Zahl, die aktuelle
ist Wir müssen im Grunde alles
kopieren und wir müssen das
plus eins löschen und dann einfach
rausgehen und es verbinden Wir sagen im Grunde, was ist der nächste Multiplikatorschaden Wir teilen diesen Wert
durch den aktuellen Wert. Dann muss das in Prozent
umgerechnet werden. Jetzt können Sie es auf zwei Arten tun. Du kannst
das entweder nehmen und als
Prozent sagen und du kannst rausgehen und es
auswählen und hier verbinden. Nun, ich mag diese
Methode nicht, weil sie dir
die Dezimalstellen zeigt. Wenn es hier zum Beispiel
7/3 ist und wir sagen
multipliziert mit 100, wird
es
233,33 heißen. Ich mag die Gleitkommazahlen oder
die
Dezimalstellen nicht , die ich nicht haben möchte Stattdessen sage ich einfach
multipliziert mit 100 auf diese Weise multipliziert Dann kannst du entweder Boden sagen
und du kannst darüber lesen, wenn du die Maus darüber hältst, heißt
es, dass -1,6 zu
-2,1 wird, 0,6 wird eins,
oder du kannst die Methode verwenden, die
Runde Und dieser ist
im Grunde das Gegenteil. Aus 1.6 werden zwei und so weiter. Ich werde einfach Boden sagen. Es wird im Grunde
die Dezimalstellen entfernen und dir das
dann
anzeigen. Jetzt sollte das gut funktionieren. Wenn ich es jetzt hier verbinde und
es wird der Text
jedes Mal gesetzt , wenn ich dieses
Popup öffne, und ich kann kompilieren. Und mal sehen, ob
es jetzt funktioniert, wenn ich jeden dieser
Artikel wie zuvor
kaufe, und dann kann ich auf Als klicken. Jetzt
heißt es, dass wir
den Fortschritt neu starten , aber mit
300 mehr Schaden. Jetzt brauchen wir
natürlich die Prozentzahl, das Zeichen. Also lass uns zurückgehen und
das schnell beheben. Wenn ich einfach hier klicke
und ein Prozentzeichen setze, sollte
das funktionieren, kompiliere
einfach. Ordnung, jetzt kaufe
ich den letzten und klicke auf As. Und jetzt werden
mir 300% angezeigt, was richtig ist. Jetzt
klicke ich auf Ascend und spiele das Spiel
erneut
und schaue , ob alles
gerade funktioniert Ich kaufe den letzten Artikel
erneut und werde das zweite Mal
aufsteigen Und jetzt heißt es, dass du den Fortschrittsteil mit
233% mehr Schaden
neu startest ,
weitermachst und Und jetzt kannst du
sehen, dass alles richtig
multipliziert alles richtig
multipliziert Das war es also. Im Moment funktioniert
alles richtig. Und jetzt können wir mit
dem nächsten Abschnitt fortfahren , in dem
wir das Spiel fertigstellen Und wir können weitermachen
und alles
aufräumen und das Spiel verpacken Lassen Sie uns also weitermachen und mit
der nächsten Lektion beginnen.
118. 14.01 Das Projekt reinigen: Ordnung, jetzt sind wir mit dem Spiel
fertig und jetzt musst du das Projekt
aufräumen Also, was ich normalerweise mache, ist,
wenn ich ein größeres Projekt
habe, es
mindestens einmal pro Woche zu reinigen. Also vielleicht jeden Freitag, jeden Samstag, ich weiß nicht. Normalerweise
reinige ich es nicht jeden Tag , weil sich der Code ständig
ändert. Manchmal
putzt man also etwas, aber am nächsten Tag muss man
es ändern. Es macht keinen Sinn
, weil du es erneut
reinigen musst , also ist
es zu viel Arbeit. Normalerweise reinige ich es einmal pro Woche oder maximal zweimal
pro Woche. Gehen wir also zum Beispiel
zur Blaupause. Ich gehe
in dieser Lektion einfach hierher. Der Zweck besteht darin, Ihnen Tipps zur
Reinigung des Projekts zu geben. Und ich werde
dieses Projekt auch reinigen und es
Ihnen als Abschlussprojekt geben. Zum Beispiel, wenn wir
den Play-Controller gestartet haben. Wenn Sie also den
Play-Controller hier öffnen und das Event-Diagramm
öffnen und
Sie sehen, dass es ein bisschen chaotisch Was ich normalerweise mache, ist zum Beispiel, dass
du hier oben das gesamte
Event auswählen kannst, Begin, Play here, und dann klickweise
auf C klicken Du erstellst einen Kommentar und ich kann zum Beispiel Begin, Play schreiben Ich weiß, dass es Begin ist. Spiel.
Immer wenn ich herauszoome, kann ich auch auf diesen
Kommentar klicken und ich kann auf
die Show-Blase klicken. Wenn ich gezoomt habe, kann ich das
immer sehen, wenn ich herausgezoomt bin. Ich weiß, dass dies der Anfang der Wiedergabe ist, also muss ich nicht
ständig heranzoomen, um zu sehen, was es ist Du kannst auch darauf klicken und die Farbe des Kommentars
ändern. Sie können es nach
Belieben ändern. Sie können hier die Farbe
ändern, das Alpha ändern und
so weiter. Klicken Sie auf OK. Jetzt kannst du diese Farbe auch
speichern, indem du sie anklickst und sie hierher
ziehst Ich klicke auf Okay.
Wenn Sie das nächste Mal einen Kommentar erstellen. Bei diesem
initialisierten Player können
Sie beispielsweise auf C klicken. Sie können beispielsweise initialisieren“ schreiben Sie können auf Show
Bubble und Zoom klicken. Sie können beispielsweise
auf diese Kommentarfarbe klicken. Und du kannst jetzt hier
oben
auf die gespeicherte Farbe klicken . Und klicken Sie auf Okay. Ich werde das tatsächlich während des gesamten Projekts
machen , bevor ich
es Ihnen übergebe. Das zweite, was
Sie tun können, ist, dass Sie auch auf
diese Variablen klicken
können. Und du kannst ihnen
hier eine Kategorie geben. Ich kann zum Beispiel Widgets sagen und die Eingabetaste drücken. Und jetzt können Sie sehen, dass es sich
in einer Widget-Kategorie befindet. Wenn ich hier unten auf das nächste
Widget klicke, kann
ich hier klicken und ich
kann auf die Widgets klicken. Und das kann ich im
Grunde für alle tun. Alle Widgets gehören zusammen
zu dieser Kategorie. Und Sie können sehen, dass ich es minimieren
kann. Jetzt sind sie hier drin. Auf diese Weise können Sie auch alle Variablen
bereinigen , die Sie haben. Fahren Sie fort und kompilieren und
speichern Sie jetzt alles. Im Grunde können Sie das
in jedem einzelnen Blueprint tun. Zum Beispiel in
den Spielmodus gehen. Im Spielmodus kann ich
vielleicht all diese
Spawnpunkte zusammenfügen So kann ich zum Beispiel eine Kategorie schreiben, die Spawnpunkte heißt , die Spawnpunkte Und ich kann sie im Grunde hierher
ziehen . Mach einfach
weiter und mach das. Mach weiter und räume dein
Projekt auf. Erschaffe Commons. Das dritte, was
ich normalerweise mache, ist, dass ich weitermache und Notizen für Umleitungen
erstelle Wie Sie gelernt haben,
doppelklicken Sie. Erstellen Sie einige
Notizen zur Weiterleitung und versuchen Sie, Ihr Projekt
so gut wie möglich zu bereinigen Normalerweise
reorganisiere ich auch alle
Ereignisse, die ich erstellt habe Das
sind zum Beispiel die Artikelkürzungen im Shop, das ist der Spawn-Gegenstand Du kannst zum Beispiel
weitermachen und es hier nebenan einfügen
und es vielleicht auskommentieren Sie können auch hierher
zurückkehren und nachsehen, ob sie in der richtigen Reihenfolge
sind. Zum Beispiel, wenn Sie möchten, dass dies stattdessen
hier unten angezeigt wird und so weiter. Also mach einfach weiter und versuche es so gut wie möglich zu organisieren. Wenn Sie
einige Dinge in
eine Funktion statt in ein Ereignis umwandeln möchten , können
Sie das auch tun. Nehmen wir zum Beispiel
dieses Neustart-Spiel an. Wenn du
es als Funktion machen willst, lass uns
weitermachen und daraus eine Funktion machen. Normalerweise können
Sie bei Funktionen
Dinge nicht in eine Funktion umwandeln , wenn es
sich um zeitgesteuerte Ereignisse handelt Zum Beispiel, wenn ich eine Verzögerung habe. Sie können sehen, dass dieses Symbol hier für ein zeitgesteuertes Ereignis
steht, Fy Rod. Klicken Sie darauf und sagen Sie „
Zusammenklappen“, um zu funktionieren. Es wird mir eine Fehlermeldung geben
, weil Sie Funktionen nicht
in Funktionen
umwandeln können . Kämpfen Sie, klicken Sie und sagen Sie
auch Zeitleiste und fügen Sie eine Zeitleiste hinzu. Diese ist auch eine Zeitangabe. Ich kann nicht mit der rechten Maustaste klicken und
zusammenklappen, um zu funktionieren Dadurch erhalte ich eine Fehlermeldung. Ich kann das sehen, wenn ich mir das Symbol oben ansehe und ich
habe keine Zeit. Ich kann das im
Grunde in eine Funktion umwandeln. Normalerweise mache ich das
manchmal, denn wenn Sie zu viele Ereignisse
in einem Ereignisdiagramm
erstellen, wird
es tatsächlich beginnen. Wenn du ein Spiel hast, das groß genug
ist, wird es hier beginnen wann immer du in
diesen Blueprint gehst Jetzt können
Sie diese Ereignisse entweder in
Funktionen umwandeln oder Sie können neue Ereignisdiagramme
erstellen Wenn Sie
hier oben auf das Plus klicken, erstellen
Sie ein neues Ereignisdiagramm. haben wir zum Beispiel im
Ego-Shooter-Kurs gemacht Das haben wir zum Beispiel im
Ego-Shooter-Kurs gemacht. Ihr könnt das zum Beispiel Aufstieg
nennen. Und ihr könnt den gesamten
Aufstiegs-Code hier drin haben Aufstiegs-Code hier drin Wenn es eine Menge Code ist, kannst du
im Grunde genommen all dieses
Steuerelement X kopieren , um es auszublenden und zum nächsten geraden Graphen
überzugehen Sie können auf Steuerelement V klicken. Sie haben es jetzt innerhalb
dieses geraden Graphen. Sie müssen es nicht hier in
der normalen Version sehen , aber
Sie haben es hier unten. Stattdessen klicken Sie einfach auf
Strg Z, weil wir hier nicht
wirklich viel Code haben. Ich werde
diesen geraden Graphen löschen , wenn Sie
Dinge zu einer Funktion machen wollen. Sie können das auch tun,
indem Sie hier zum
Ereignisdiagramm zurückkehren. Was Sie dann tun oder
was ich normalerweise mache, ist dass ich
hier alle Knoten ohne das Ereignis auswählen kann. Ich kann Click Collapse
wieder in eine Funktion schreiben. Normalerweise nenne ich es zunächst. Wenn ich es einfach hierher ziehe, nenne
ich es Spiel neu starten. Dann schreibe ich, klicke auf dieses Event, um zu sehen
, wo ich es benutzt habe. Suchen Sie nach Referenzen und
klicken Sie auf das Symbol für
alle Orte, an denen
ich es verwendet habe. Diese Referenzen sind
im Grunde nur diese, sie sind nicht das, was ich verwendet habe. Klicke auf den nächsten
und starte das Spiel neu. Hier unten kann ich jetzt aus
diesem Spielmodus ziehen und Spiel neu starten sagen. Jetzt verwende ich meine Funktion
anstelle meines Events. Ich kann das löschen und
ich kann es hier verbinden. Ich kompiliere einfach hier, gehe zurück in den Spielmodus, lösche dieses Event jetzt. Und lösche diese Funktion,
weil du diese Funktion jetzt im Grunde benutzt
, um das Spiel neu zu starten. Ich verwende diese Methode
manchmal auch , um mein Ereignisdiagramm
zu bereinigen. Wenn ich sehe
, dass einige Ereignisse ich nicht unbedingt benötige, kann
ich sie
in eine Funktion umwandeln. Was ist nun der
Unterschied zwischen
dieser Funktion, die ich
erstellt habe, und diesem Ereignis? Absolut nichts. Es bereinigt im Grunde
nur Ihr Ereignisdiagramm Jetzt können Sie sehen, dass es
sauberer wird. Und selbst wenn Sie
möchten, dass diese freigeschaltete Ebene eine Funktion ist, können
Sie das tun, indem Sie
sie zu einer Funktion zusammenfassen Denken Sie daran, mit der rechten Maustaste
darauf zu klicken, um Referenzen zu finden. Fahren Sie fort und klicken Sie
auf das kleine Symbol. Wo auch immer du das
hier in der feindlichen Basis benutzt hast, du kannst es
zu einer Funktion machen und du kannst stattdessen die
Funktionsversion verwenden. Und dann kannst du diese
löschen. Mach einfach weiter und bereinige
dein Projekt auf diese Weise. weiter und denken Sie daran, Ihr Projekt immer zu
speichern,
und lassen Sie
uns zum nächsten übergehen , oder wir verpacken das Projekt.
119. 14.02 Das Spiel verpacken: In Ordnung, jetzt ist es an der Zeit, das Projekt
zu verpacken. Also können wir es
an Freunde schicken und sie können versuchen, es zu spielen,
oder auch an die Familie. Um das zuerst zu tun,
bevor wir packen, möchte
ich den
Debugger oder das Protokoll geöffnet haben also Protokolle aus, wenn
Sie einfach auf
Fenster und Ausgabeprotokoll klicken und dies anzeigen lassen Jetzt können wir also sehen, ob wir beim Export Fehler haben . Bevor ich das mache, klicke
ich mit der rechten Maustaste
hier und lösche die Protokolle. Ich fange von vorne an, damit ich sehen kann, was
gerade passiert. hier oben auf die Filter klicken, können
Sie die Meldungen,
Warnungen und Fehler sehen. Manchmal entferne ich
die Nachrichten einfach so, ich kann nur die
Warnungen und Fehler sehen. Das ist im
Grunde wichtig, damit wir diese beheben können. Aber lassen Sie uns vorerst die Botschaft
weitertragen. Lassen Sie mich das ein wenig minimieren , damit ich wirklich
sehen kann, was ich mache. Einfach so, hier
oben auf die Plattformen klicken, zu Windows
gehen und
dann Versand auswählen. Wenn Sie jetzt Versand auswählen, müssen
Sie im Grunde auch hierher
gehen. Lass mich das vorerst einfach schließen. Wenn Sie zu den
Projekteinstellungen bearbeiten , müssen Sie hier
zu Verpackung gehen. jetzt in der Verpackung wichtig ist, Was jetzt in der Verpackung wichtig ist, ist Advanced hier drüben, indem Sie auf Advanced klicken.
Dann gehen wir runter. Jetzt müssen
Sie hier im Advanced die Karten, die Sie hier
packen möchten , in die Liste
der Karten aufnehmen, die
in einen Paket-Build Sie müssen auf das Plus klicken, dann müssen Sie auf die Karten
klicken. Wenn Sie auf diese drei Punkte klicken, wählen Sie die Karten aus, die Sie haben. Wenn ich gerade weiß, dass wir uns hier
im Inhaltsordner
innerhalb des Projekts befinden und wir diesen Kartenordner
erstellt haben. Ich werde
diese Karte auswählen, Dungeon. Im Grunde die
Hauptkarte,
mit der wir arbeiten , indem wir auf Öffnen klicken Wenn Sie nun
Filme haben, zum Beispiel wenn Spiele starten und sie einen Startbildschirm
und einen
Startfilm
haben , können Sie auch diesen einbeziehen. Wenn Sie zusätzliche Verzeichnisse in Ihrer Engine haben, verwenden
Sie sie nicht. Sie
können sie auch hier hinzufügen. Aber im Grunde ist das alles
, was wir hier tun müssen. Auch für die vom Projekt
erstellte Konfiguration werde
ich sie stattdessen auf Versand
umstellen. Und es heißt, wenn das Projekt Code
hat oder einen
lokal erstellten Editor ausführt, bin
ich eigentlich für den Build ich werde nur
sagen, immer bauen. Wann immer wir es hier zu einem
Versand für den Umbau schaffen, klicke
ich
darauf oder Verteilung. Ich werde das auch ankreuzen. Und jetzt bist du bereit, es auch besser
zu machen. Fahren Sie fort und klicken Sie auf
die Projekteinstellungen. Sie hier oben noch einmal Suchen Sie hier oben noch einmal nach Smooth FPS, hier nach Smooth Frame Rate. ist wirklich wichtig, das
anzukreuzen , denn wenn
du das nicht tust, Es ist wirklich wichtig, das
anzukreuzen, denn wenn
du das nicht tust, wird dein Spiel
mit der höchsten FPS ausgeführt , mit der der Computer des
Spielers laufen kann. Ich habe das
zunächst versehentlich mit Farm Tail gemacht, weil ich diese
Option nicht kannte, die wir
zum Beispiel mit 500 FPS laufen . 600 FPS. Und es wird
ihren Computern wirklich schaden ,
weil sie superschnell laufen werden und man hört, wie die Lüfter superschnell laufen. darauf klicke, brauche
ich in diesem Spiel nicht mehr als 60
FPS. Es ist kein
Shooter-Spiel oder so. Und ich kann bis zu
22 FPS haben, wenn der Computer
auf Seiten des Spielers sehr langsam ist. Aber im Grunde sollten wir
die FPS auf 62 maximieren. Sie können es auch auf
122 FPS bringen, wenn Sie möchten, aber ich
werde es einfach auf 62 PS belassen. Schließ es. Klicken Sie auf Datei, Alle speichern. Jetzt können Sie auf Plattformen,
Windows Package Content klicken. Aber lassen Sie mich einfach wieder öffnen. Mein Fensterausgang wird gesperrt, sodass ich sehen
kann, was passiert. Klicken Sie mit der rechten Maustaste, um die
Sperren zu löschen, bevor ich das mache. Nun auch hier, was Sie
beachten müssen: Klicken Sie auf Filter und
zeigen Sie auch alles an. Ich kann alle Nachrichten sehen. Ich kann
auch all diese sehen . Sie haben einfach
alle angekreuzt Fahren Sie fort und klicken Sie auf Plattformen und dann auf Windows Und dann mach weiter und
verpacke den Inhalt. Jetzt habe ich
hier auf meinem Desktop einen Ordner
namens Packages erstellt . Machen Sie einfach
weiter und erstellen Sie irgendwo auf
Ihrem Computer
einen neuen Ordner , das ist nicht
wirklich wichtig. Und fahren Sie fort und klicken Sie
auf Ordner auswählen, und es
wird hier verpackt. Jetzt wird es einige Zeit
dauern. es das erste Mal
macht und es, zeigt
es normalerweise ein
paar Fehler, weil ich nie
zum ersten Mal
ohne Fehler gepackt habe . Weil es einige zufällige
Fehler gibt , die irgendwann auftreten. Ordnung, jetzt kann ich
sehen, dass wir
hier einen Fehler haben und es heißt
Unbekannter Kochfehler. Und du hörst einfach auf zu packen
, weil wir einen Fehler haben. Also klicken Sie hier oben und
klicken Sie auf die Nachrichten
und lassen Sie uns sehen, was es ist. Und es heißt Struktureigenschaft und es heißt Unbekannte Struktur. Nun, das ist ein bekannter
Fehler in der Uneral Engine und
es ist ein bisschen nervig Ich weiß nicht, warum es passiert, aber im Grunde heißt es, dass Sie eine unbekannte Struktur
haben eigentlich
keinen Sinn, weil wir es
geschafft haben und es funktioniert
und alles ist in Ordnung. Aber achten Sie einfach darauf, wo es sich befindet und ob es sich
in Ihrer Benutzeroberfläche befindet. Informationen zum Feind. Wenn Sie zu Ihrer Benutzeroberfläche wechseln, gehen Sie zur Benutzeroberfläche und
öffnen Sie die Feindinformationen Das ist im Grunde
das, was es dir sagt. Öffne die Feindinformationen und gehe zu Graph. Das einzige, was Sie aus irgendeinem Grund tun
müssen, ist auf Datei, Alle Notizen
aktualisieren zu
klicken. Und dann sollte das das Problem beheben. Datei aktualisiert alle Notizen. Dann ist der nächste Code der
Stufe B in der Benutzeroberfläche. Minimiere das einfach, ich gehe auch hier
zum Level Cod. Grafikdatei, aktualisiere alle Notizen. Normalerweise
aktualisiere ich auch alle Notizen
in der Bibliothek. Öffne es, klicke
auf die erste,
die feindliche Informationsdatei, und
aktualisiere alle Notizen. Die zweite
aktualisiert alle Notizen, die dritte nur, um sicherzugehen , dass wir
diesen Fehler nicht noch einmal bekommen. Immer wenn wir kochen und auf Alle
speichern klicken , sollte es jetzt funktionieren. Wenn ich
erneut auf Plattformen klicke, kann ich zuerst das
P-Ausgabeprotokoll öffnen, mit der rechten Maustaste klicken, die Protokolldatei oder die Plattformen
löschen und dann das Projekt
erneut hier zusammenpacken. Klicken Sie jetzt hier hoch und zeigen Sie auch
alle Nachrichten
an, nur um zu sehen, ob wir jetzt eine Box haben.
Sollte nicht wirklich passieren. Normalerweise passiert es einfach, wenn
Unbekannte Struktur angezeigt Sie müssen nur aus
irgendeinem Grund
alle Notizen aktualisieren . Ich weiß nicht, warum das passiert,
aber es ist ein bisschen nervig. Aber jetzt kannst du
sehen, dass alles kocht und alles
gut funktioniert. Wir haben keine Fehler. Hier dauert es
nur eine Minute. Jetzt können Sie jederzeit
hier oben klicken und die Nachrichten entfernen. Jetzt ist der Koch fertig,
das Paket ist komplett. Normalerweise entferne ich
die Nachrichten, um zu sehen, ob ich Fehler in meinem Spiel
habe. Und Sie können sehen, dass das
Projekt super sauber ist. Wir haben keine einzige Warnung. Wir haben keine einzige Ära. Das Spiel läuft perfekt
und das ist es, was wir wollen. Gehen wir jetzt zum
Paketordner auf meinem Desktop. Und hier kann ich den Windows-Ordner öffnen , den
er erstellt hat, und jetzt
ist das Spiel hier drin. Lassen Sie uns versuchen, dieses Spiel
außerhalb der Engine auszuführen. Wie ich sehen kann, habe ich hier
einige Fehler,
Probleme, die ich beheben muss. Aber wie Sie sehen können, funktioniert das
Spiel einwandfrei. Ich muss
die Musik erneut auftragen und so weiter. Aber ich kann auch sehen, dass der
Hintergrund verschwommen ist. Ich kann auch sehen, dass dieser Text
zu nahe beieinander liegt. Machen wir also weiter und
korrigieren das und kommen alle vier
zurück. Um ihn zu schließen, werde
ich
diesen Ordner vorerst löschen. Lassen Sie uns nun sehen, was das Problem mit der
Verschwommenheit ist. Problem mit der Verschwommenheit
besteht nun darin, dass Sie
zum Beispiel diese Textur des
Dungeon-Gefängnisses öffnen zum Beispiel diese Textur des
Dungeon-Gefängnisses Gehen wir hier runter in
die Textureinstellung. Lass uns auf Erweitert klicken. Hier unten siehst du etwas, das als nuklearer Filter
bezeichnet wird. Du musst diesen
stattdessen auf „Nächstliegender“ ändern. Wenn du sie auf „Am nächsten“ änderst, bedeutet das, dass
deine Textur
nicht unscharf wird , wenn du sie
exportierst oder verpackst Das müssen Sie tatsächlich
für alle Texturen tun. Lassen Sie uns nun sehen, wie wir das einfach machen
können. Wenn ich jetzt auf Assets klicke
und ich hier oben klicke, gehe hier runter und hier haben
wir eine Textur, ich werde sie einfach hier
anklicken. Auf diese Weise können wir alle Texturen, die
wir im Spiel haben, in diesem Assets-Ordner
sehen . Versuchen wir einfach,
das für alle zu tun. Lassen Sie mich einfach
auf die erste klicken,
Shift, auf die letzte klicken, mit der rechten Maustaste klicken und dann zu
Asset-Aktion „Auswahl bearbeiten“
in der Eigenschaftsmatrix wechseln . Wir versuchen einfach,
alles auf einmal zu machen. Wenn ich wieder auf die
Textur hier oben klicke
und diesen Filter sehe, und diesen Filter sehe, ändere ihn auf „Am nächsten“. Das ist
die richtige
Einstellung, die wir speichern können. Dann schauen wir mal, ob die
Kacheln hier enthalten waren. Ich kann sehen, dass die Kacheln enthalten
sind.
Alles ist in Ordnung. Alles ist hier enthalten. Im Grunde
sollte alles einwandfrei funktionieren. Okay, jetzt ist das erledigt. Wir haben auch ein
Problem mit dem Namen. Lassen Sie uns auch das beheben. Wenn ich einfach hier oben klicke und diese Textur entferne,
damit ich alles sehen kann , kann ich
wieder auf den Feind
klicken. Wenn ich zu den Bauplänen zurückkehre, öffne ich die Feinde
und die feindliche Basis Und ich klicke auf den Viewport. jetzt auf die Gesundheitsleiste klicke, muss
ich die
Gesundheitsleiste nur etwas nach unten bewegen.
Ich glaube, wenn du hier
oben klickst, klickst du auf Play Da es sich um ein eigenständiges Spiel handelt, solltest
du in der Lage sein,
zu sehen, wie es hier
aussieht,
ohne zu versuchen, das hier geöffnete Projekt
auf meinem zweiten Monitor zu packen , und ich
kann sehen, wie es aussieht. Jetzt kannst du sehen, dass nichts mehr verschwommen
ist. Wie ihr jetzt aber sehen könnt, können wir
das Level
leicht nach unten bewegen und auch
die Gesundheit Lass es uns schließen. Klicke
auf die Enemy Info Widgets. Ich werde es
auch für die Gesundheitsleiste auf -25 verschieben. Lass uns -45 versuchen und lass uns kompilieren
und erneut auf Play klicken. Jetzt. Es sieht viel
besser aus, wenn es im Vollbildmodus ist und alles
spielbar aussieht und alles gut
aussieht, wenn du willst Du kannst es auch ungefiltert für
die Benutzeroberfläche machen, nur um sicherzugehen, dass alles
gut aussieht und nicht verschwommen ist Sie können jederzeit zur
Benutzeroberfläche zurückkehren. Wenn ich zum Inhalt gehe, öffne
ich meine Bilder, im Grunde auch diese
Artikel hier. Wenn ich einfach mit der
rechten Maustaste klicke,
Acid Action auswähle, Auswahl in der Eigenschaftsmatrix
auswähle, zur Textur gehe und dann sollte
der Filter auch am nächsten
sein. Lassen Sie mich für diese auch einfach die Texturen hier öffnen
. Das ist der Hit-Effekt. Um sicherzugehen, dass der
Treffereffekt auch nicht verschwommen ist, öffne ihn
einfach und gehe
wieder runter zu Advanced Ändern Sie es in „Am nächsten“ und
schließen Sie es. Nun auch zu den Icons. Klicken Sie mit der rechten Maustaste, legen Sie die Aktionen fest, bearbeiten Sie die Textur der Eigenschaftsmatrix und ändern Sie sie dann auf „Am nächsten“, schließen Sie sie auf „Schriftarten“. Sie müssen hier nicht wirklich etwas
tun. Jetzt zu den Knöpfen. Bearbeiten Sie sie erneut und stellen Sie den
Texturfilter auf den nächstgelegenen Wert ein. Das ist jetzt für alle erledigt.
Lass uns auf Speichern klicken. Ich werde die Lautstärke für
meine Musik auf die
Standardlautstärke setzen , die eins ist. Auch hier werde ich anstelle der Baupläne und
innerhalb der feindlichen Basis
meinen Sound für das feindliche Jahr reaktivieren, zu dem
ich
die Verbindung unterbrochen Kompilieren Alle speichern. Lassen Sie mich jetzt einfach weitermachen und versuchen, das
Projekt noch einmal zu verpacken. Jetzt, da das Projekt gepackt
wurde, möchte ich einfach
weitermachen und erneut auf
den Dungeon-Clicker klicken erneut auf
den Dungeon-Clicker um sicherzustellen, dass
alles funktioniert Und Sie können sehen, dass nichts mehr verschwommen
ist. Alles sieht gut aus,
die Benutzeroberfläche sieht gut aus, der
gesamte Sound funktioniert Ich kann im Grunde spielen, indem ich die Münzen
neu starte. Das habe ich verpasst, aber momentan kein wirkliches
Problem Aber ihr könnt sehen, dass alles funktioniert und die Liste
funktioniert hier, und der Aufstieg
funktioniert im Grunde auch Und ich kann sehen, dass es
die richtige Menge an Schaden verursacht, und jetzt haben wir
ein fertiges Spiel In Ordnung, jetzt sind wir mit dem Projekt
fertig. Und du solltest wirklich
stolz auf das sein, was du bisher
getan hast , denn wir
haben viel durchgemacht. Wir haben Spawnpunkte gemacht, wir haben Feinden Schaden zugefügt, wir haben all diese
beiden D gemacht, indem wir sie zusammengefügt haben, die Benutzeroberfläche, die Benutzeroberfläche programmiert und so weiter Sie haben also viel Arbeit geleistet, und ich hoffe, dass Sie in diesem Kurs viel
gelernt haben Und hoffentlich hat es auch
viel Spaß gemacht zu lernen. Und wenn Sie möchten, können
Sie sich auch meine anderen Kurse ansehen . Ich habe viele
vertiefende Kurse und erstelle bis heute
immer noch neue
Kurse. Also vielen
Dank fürs Zuschauen. Ich hoffe du
hattest viel Spaß. Es hat mir viel Spaß gemacht, Diskurse
zu gestalten. Und denkt daran, wenn ihr Hilfe 2047 haben
wollt, könnt ihr jederzeit
meinem Diskursserver beitreten Wir sind eine Community
, die gerne hilft. Und wir können auch über
Dinge in der
Spieleentwicklung im Allgemeinen sprechen . Oder du kannst mir deine Arbeit zeigen. Du kannst es
der Community zeigen. Es ist wirklich eine gesunde
Gemeinschaft, in der man sein kann. Vielen Dank, dass Sie sich
für
diesen Kurs angemeldet haben, und ich wünsche
Ihnen viel Spaß Und wir sehen uns
im nächsten.