Transkripte
1. Einführung in meinen Roblox: Hallo, ich bin Nico, auch bekannt
als Calvin Draw und willkommen zu meinem Anfängerkurs für Roadblock Scripting hier auf Skillshare. In diesem Kurs lernst du deine ersten Schritte beim
Entwickeln von Spielen mit Roblox. Auch absolute Anfänger
sind hier willkommen, da in dieser Klasse eine
Lua-Einführung enthalten ist. Nachdem Sie
sich mit Lua vertraut gemacht haben, werden
wir uns einige
grundlegende Roblox-Konzepte
wie Klickdetektoren,
Positionswechsel und
das Touched Event ansehen wie Klickdetektoren,
Positionswechsel . Und natürlich viel, viel besser ausgestattet mit
diesem Wissen. Anschließend werden Sie mit der
Erstellung Ihres Projekts fortfahren. Dein erstes EIN Spiel, das ein RB sein wird. Sie können alles, was Sie
gelernt haben und noch mehr, Ihrer Kreativität freien Lauf
lassen. Am Ende wird es
sogar
einige zusätzliche
Zwischenthemen geben einige zusätzliche
Zwischenthemen , die auch
für Romanovs
Spieleentwicklung sehr nützlich
sein werden . Worauf warten Sie noch, melden
Sie sich jetzt für diesen Kurs
an und beginnen Sie mit den ersten Schritten zur Entwicklung großartiger
Spiele und Roblox. Wir sehen uns in
der ersten Lektion.
2. Kursübersicht: In Ordnung, Willkommen bei den
Roblox-Kernen für Anfänger. Und dies wird
ein kurzer kleiner Überblick
darüber sein , was Sie
in diesem Kurs erwarten können. Zuallererst
ist in diesem Kurs eine
kurze Einführung enthalten, die
sehr, sehr nützlich sein wird. Wenn Sie also noch nie in Lua
gescripts geschrieben haben, ich nur empfehlen, dies
durchzugehen. Das erspart Ihnen
stundenlange Kopfschmerzen, da Sie
keine richtigen Spiele
und Roblox entwickeln können , wenn Sie nicht zumindest ein
bisschen Schleife für Schleife wissen, werden
wir über
das Roblox Studio sprechen. Wir werden über das
Referenzieren von Teilen sprechen, die verschiedenen Arten von Skripten. Wir werden uns einige Ereignisse und
Funktionen
ansehen oder Bewegung hinzufügen. Wir werden uns sogar ein bisschen mit Gewalt und
Einschränkungen befassen ein bisschen mit Gewalt und , wenn sie über
den Unterschied zwischen
Spielern und Charakteren sprechen , wir werden eine
Bestenliste erstellen, Teile zum Sammeln
hinzufügen, dem Spieler eine Spur hinzufügen
und noch ein paar Dinge mehr. Nachdem wir mit den
Grundlagen fertig sind, werden wir
ein benutzerdefiniertes Spiel machen , das ein OB sein
wird, und das wird auch
wirklich großartig sein. Nach dem RB habe ich auch
einige
Zwischenthemen, die wir behandeln werden, wie das Veröffentlichen des Spiels, Hinzufügen von GUI-Bildern, das
Speichern der
Daten mit einem Datenspeicherdienst
und einige weitere
Dinge, die
im Laufe des Kurses ebenfalls
sehr nützlich sein können . Zu jeder Vorlesung
erhalten Sie eine RB-Excel-Datei. Sie haben also im Grunde nicht für
jede einzelne Vorlesung einen Überblick über die Skripte
erhalten jede einzelne Vorlesung , die wir geschrieben haben Roblox verfügt über einige ziemlich
leistungsstarke Tools zum Erstellen. Ich hoffe also, dass du die Reise genießen wirst dein
eigenes
erstes Roblox-Spiel zu entwickeln. Wir sehen uns in
der nächsten Vorlesung. Also, ja.
3. (Lua) Roblox Studio installieren: In Ordnung, willkommen
zum Roblox-Kurs. Und in dieser ersten Vorlesung werden
wir
Roblox Studio auf Ihrem PC installieren. Wenn Sie den Roadblocks
Player theoretisch installiert haben, sollte
Roblox Studio
ebenfalls installiert sein. Wenn dies jedoch nicht der Fall
ist, können
Sie zu
roblox.com slash
create navigieren und einfach
auf Start create klicken. Es wird dann geprüft, ob Sie
Roblox Studio installiert haben. Es sollte dann
ein Pop-up haben, falls es nicht gestoppt wird, damit
Sie es starten können. Und wenn Sie es nicht installiert haben, können
Sie das Studio einfach
herunterladen. Dies ist nur eine
EXE-Datei, und wenn Sie starten, werden Roadblocks wie
jedes andere Programm
auf Ihrem PC
installiert . Wenn du nicht
angemeldet bist, liest
du mit so
etwas. Also gibst du einfach deinen Benutzernamen und dein Passwort ein und loggst dich ein, das Login und dann wird Roblox
Studio gestartet. Wir werden das
einfach maximieren. Und du siehst, in meinem Fall habe ich schon einige
aktuelle Spiele, oder? Ich habe bereits einige Dateien, lokale Dateien und sogar
Online-Dateien für Sie. Das ist wahrscheinlich
leer unter meinen Spielen. Du solltest jedoch deinen Platz
haben. Es gibt immer etwas
, das existiert und unter neu kannst du ein neues Spiel starten. Lass uns ein neues Spiel erstellen. Lass uns die
Grundplatte hier wählen. Und nachdem es geladen ist, können
Sie sehen, dass es jetzt
im Grunde einen neuen Ort erstellt hat. Es tauchen viele Dinge auf. Normalerweise schließe ich hier sowohl die Toolbox als auch den
Terrain-Editor. Und ich mache auch das rechte
und ein bisschen größer. Und ich gehe auch zu View und schalte die Ausgabe , weil das eigentlich
ziemlich wichtig ist. Es ermöglicht uns,
bestimmte Ergebnisse zu sehen, und das werden
wir in
Kürze in den nächsten Vorlesungen sehen. Eines fällt auf, dass
Sie diese Datei
mit einer kleinen Wolke hier haben . Und wenn ich Control S drücke, kannst
du sehen, dass
es mein Spiel speichern möchte, das
aber vorerst in
der Roblox Cloud
speichern möchte. Ich schlage vor, das
nicht zu tun. Was ich dir
empfehle ist, dass du zu Datei gehst und entweder in Datei speichern oder Datei speichern, weil das
macht es tatsächlich so, dass du
eine RB Excel-Datei auf
deiner lokalen Festplatte hast eine RB Excel-Datei auf ,
das ist eigentlich ein bisschen besser,
besonders wenn
du z.B. auf ein Problem stößt,
du kannst einfach
deine OB Excel-Datei teilen und dann
kann ich sie mir ansehen, z.B. und du wirst auch Zugriff haben,
als
Sie können wahrscheinlich alle OBX-Dateien sehen,
die in diesem Kurs generiert wurden
. Jede Vorlesung hat also eine RB-EXE-Datei, in der
alle Assets, alle Skripte, die wir schreiben, alles drin ist. Und du kannst im Grunde jeden Schnappschuss
sehen. Moment habe ich das
zwar auf der lokalen Festplatte
gespeichert, ich habe immer noch die Cloud. Wir wollen nur diesen Ort
schließen und sie werden die
Datei aus der Datei öffnen. Und dann öffnen wir
einfach die Datei, die wir gerade erstellt haben. Und Sie können jetzt sehen, dass dies absolut nur unsere lokale Datei ist. Und wenn wir Control S
drücken und es wird tatsächlich
wieder auf
unserer Festplatte gespeichert , wirklich cool. In den kommenden Vorlesungen werden
wir Ihnen zunächst
eine kleine Einführung geben,
um
Sie mit der Programmiersprache Lua vertraut zu machen . Dafür benötigen wir eigentlich nur den Explorer und hauptsächlich
den Server-Skriptdienst sowie den Play-Button. Wenn wir
die Play-Taste drücken würden, kannst
du sehen, dass unser
Spielmodus plötzlich geladen wird und wir
tatsächlich in dieses Spiel laden würden. Ich kann mich jetzt bewegen
und springen. Das ist also im Grunde für
dich da, um dein Spiel zu testen. Aber wie gesagt, all die Dinge,
die mich umgeben, viele dieser Knöpfe werden in
der Einführung auf
das Klo nicht viele dieser Knöpfe werden in
der Einführung auf
das Klo nicht erwähnt. Zuallererst
möchte ich nur, dass du ein sehr,
sehr solides Fundament bekommst , Herr, das ist extrem wichtig. Und dann werden wir
absolut tolle Dinge machen. Und das wird für
diese Vorlesung hier sein. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
4. (Lua) Variable Typen in Lua: Ordnung, also lasst uns hier mit
der Lula-Einführung
für den Roblox-Kurs fortfahren . Und in dieser Vorlesung
werden wir über Variablen sprechen. Variablen sind nun im Grunde
Speicher für bestimmte Daten. Aber was bedeutet das alles? Richtig, wir haben uns hier ein bisschen
von den
Dingen in der Umgebung angesehen . Und jetzt werden wir
reingehen und
unser erstes Drehbuch erstellen und
uns das dann ansehen. Wir werden diese hier
im
Server-Skriptdienst erstellen . Also wir klicken einfach auf das Plus und dann siehst du es
schon häufig
verwendetes Script. Wenn du etwas kreierst
, willst
du normalerweise diejenigen, die nicht ausgegraut
sind Das ausgegraute Zeug
ist im Grunde, ähm, normalerweise willst du diese Art von Teilen
und Dingen sozusagen nicht innerhalb dieses
Containers
erstellen . Aber wir wollen ein Drehbuch erstellen,
also machen wir das. Das Skript wird sofort
geöffnet. Sie können die Kunst hier vergrößern,
indem Sie die Strg-Taste gedrückt halten und dann einfach
mit dem Mausrad nach oben scrollen.
Sie verkleinern die Grafik, indem Sie nach unten scrollen. So können
Sie hier also hineinzoomen. Das ist auch sehr wichtig. Noch ein Skript hier, ich werde es
tatsächlich umbenennen. Es gibt mehrere
Möglichkeiten, dies zu tun. Klicken Sie mit der rechten Maustaste und Sie
können zu Umbenennen wechseln. Sie können auch einfach F2 drücken und dann werden Sie
aufgefordert, dies umzubenennen. Oder du kannst gehen, wenn du
die Eigenschaften hier unten
hast, kannst du einfach
hier zum Skript gehen und das dann einfach aufrufen. Wir werden
das 01 Dash Variablen nennen. Denn das ist, naja, das ist sozusagen die erste Vorlesung, auf die wir uns
wirklich einlassen. Und wir werden das Variablen
nennen. Da hast du es. Nun, was
hier sehr wichtig ist, ist, dass es dieses spezielle Ding bereits
mit einem Aufdruck hier drüben ausfüllt . Wenn wir also nichts tun würden, lösche
ich einfach,
was ich zuvor hatte. Wenn wir nichts tun und
einfach auf Play klicken, oder? Was Sie feststellen, ist, dass, naja, nichts passiert,
weil
wir im Moment unsere Konsole nicht haben. Wir müssen dies oder das tatsächlich
aktivieren. Wir gehen zu View und
wollen zur Ausgabe gehen. Das ist also unsere
Ausgabe und Sie können jetzt helloworld von sehen, gesendet vom Server. Wir werden in
diesem Skript mit einem Namen,
oh, einer Bindestrichvariablen
darüber sprechen diesem Skript mit einem Namen,
oh, einer . Und von Zeile eins an, wenn wir zu dem Tab hier zurückkehren , wo wir unser Drehbuch
haben, können
wir sehen, dass dies
Zeile eins ist, wunderschön. Jetzt können wir
das beenden und fortfahren. Also werde ich
meinen Kommentar hier noch einmal hinzufügen. Wir werden ein
bisschen mehr
über Kommentare und solche
Dinge sprechen . Ich möchte das nur
oben im spezifischen Skript haben,
nur damit wir wissen
, dass wir uns gerade im
Null-Eins-Variablen-Skript befinden. Also der Druck, der dir
egal ist. Also wählen wir es einfach aus und
drücken Löschen, um es zu löschen. Und wir werden
über Variablentypen sprechen. Nun zur allgemeinen Übersicht wollen
wir Variablen, weil wir bestimmte Daten speichern
wollen. Also
wollen wir vielleicht eine Nummer speichern. Das könnte ein Highscore sein, Gesundheit das Reittier,
irgendwas in der Art. Also werden wir einfach
sagen, dass x gleich zehn ist. Und jetzt wird in diesem Fall
jedes Mal, wenn ich von x
spreche, dies
für eine Zahl stehen. In diesem Fall
steht dies für eine Ganzzahl. Eine Ganzzahl ist nur
eine ganze Zahl, also wird es zwei
oder fünf oder -27 sein. Das ist alles in Ordnung. Aber wenn wir
etwa 20,8 wollen, obwohl das jetzt ein Float ist, mache
ich das
20,8, das ist ein Float. Wenn wir das deklarieren, richtig, wenn wir Variablen erstellen, wollen
wir im Grunde
den Namen der Variablen sagen. In diesem Fall ist also x gleich. Dies ist der Zuweisungsoperator, was
im Grunde bedeutet, dass
wir
diesen Wert dieser Variablen zuweisen . Wenn das alles sehr neu für
Sie ist, machen Sie sich keine Sorgen. Während du damit arbeitest, wirst
du in der Lage sein
, mehr und mehr
zu verstehen, was das alles
vorerst bedeutet, du kannst im Grunde einfach darüber
nachdenken, als ob x nur eine Art Platzhalter
ist
, den wir platziert haben. Und wenn der
Code dann richtig läuft, wenn das Skript ausgeführt wird, dann sagen wir, okay, mit x meinen sie tatsächlich zehn. Während wir uns
das in Zukunft
etwas genauer ansehen. Ich werde das einfach ausdrucken damit du sehen kannst, ob wir
einen Druck und dann eine Klammer haben einen Druck und dann eine Klammer und wir ein x
hineinlegen, oder? Und dann die schließende
Klammer, was wird
das ausgeben, die Frage ist,
dass X ausgegeben wird als
würde der Buchstabe X eine Zehn ausgeben. Nun, spielen wir einfach und
Sie werden sehen, dass es
zehn ausgibt , weil wir den Wert ausgeben,
der innerhalb der Variablen x liegt. Eine gute Metapher, die viele
Leute verwenden, ist, dass Variablen
im Grunde genommen nur Buckets sind und
irgendeine Art von Daten enthalten. Es gibt einen speziellen Typ
und der heißt Null. Dies ist eine spezielle Art von Wert, und dies steht im Grunde für
das Fehlen eines Werts, in bestimmten
Programmiersprachen
auch Null genannt wird. In diesem Fall heißt es Null. Das bedeutet nicht
, dass das Null ist. Das bedeutet, dass es
nichts anderes als eine andere Art von Variablen ist, oder die Booleschen Werte. Nun können Boolesche Werte entweder wahr oder falsch
sein, manchmal auch mit
Eins oder Null dargestellt , aber sie
werden so geschrieben. Das ist also ein boolescher Wert
und sie können
entweder wahr oder falsch sein . Wie sieht das jetzt aus? Nun, wir können z.B. sagen, dass es ein
guter Kurs ist und wir
würden natürlich
hoffen, dass das auch stimmt. Und Sie können sehen, dass sich
dadurch auch die Farbe ändert. Im Grunde sind dies bestimmte Schlüsselwörter oder
bestimmte Variablentypen. Sie können
hier im Grunde die Schriftfarbe
ändern und
dies sogar fett vermarkten. Wir können dann einen anderen
booleschen Wert haben, z. B. ist geerdet. Das ist etwas
, das einem Spiel etwas
näher kommt. Und das könnte
gleichbedeutend mit falsch sein. Und Sie können sehen, dass es uns
manchmal auch Dinge
vorschlägt. Während wir also tippen, richtig, was Sie sehen können, schlägt es bereits
vor, Oh, das soll
falsch sein und Sie können
die Tabulatortaste drücken , um das
automatisch zu vervollständigen. Schließlich haben wir auch Saiten. Jetzt werden wir in
einer zukünftigen Vorlesung
etwas ausführlicher
darüber sprechen . Aber im Grunde sind Zeichenketten wie Wörter und
sie sind immer von diesen
Anführungszeichen
umgeben. So können wir z.B. HelloWorld sagen. Und du siehst,
das ist alles in Ordnung, obwohl ich hier
ein Leerzeichen habe weil es von
Anführungszeichen umgeben ist, können
wir das gesamte Wort speichern. Sie könnten
auf die Tatsache stoßen, dass ich
vielleicht tatsächlich mehrere Zeilen
möchte. wären viele Wörter, z. B. und so machst du das, indem du offene Klammern machst
und
du kannst sehen, dass die
schließenden Klammern normalerweise automatisch generiert werden. Und dann kannst du hier
einfach hallo,
hallo student und dann ein Komma eingeben . Und dann könntest du sehen, ich
kann das weiterschreiben. Ich schreibe, weil es
Spaß macht , mehrere
Zeilen zu grüßen. Du gehst, aber lass uns
jetzt mehrere Zeilen geben. Und das ist die allgemeine
Idee hier, oder? Um es hier am Ende zusammenzufassen, richtig, Variablen insgesamt, unsere Datenblöcke, die einige Daten
enthalten, und diese können
unterschiedliche Werte haben und können unterschiedliche Datentypen sein. Sie kann eine normale
Zahl enthalten, die eine Ganzzahl ist. Sie kann Gleitkommazahlen enthalten
, also Zahlen mit einem Dezimalpunkt. Es könnte auch nu sein, was das Fehlen eines Werts
ist. Du kannst Boolesche Werte haben
und du kannst auch
Stärken haben , wo das
für diese Vorlesung hier war. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also ja.
5. (Lua) Ausgabe und Kommentare: Ordnung, lassen Sie uns
die Lula-Einführung für den Roadblocks-Kurs
hier fortsetzen . Und in dieser Vorlesung werden
wir uns die Ausgabekommentare ansehen und ein bisschen damit, wie man
Skripte liest Ausgabekommentare ansehen
und ein bisschen damit, wie man
Skripte liest, damit wir noch einmal
beginnen Im Server-Skriptdienst klicken
wir auf
das kleine Plus hier, erstellen Sie ein neues Skript. Und wir werden das umbenennen
, indem wir die Taste F2 drücken. Und wir werden das
in
O2 Dash Output Comments umbenennen . Wie wäre es mit
dem? Da hast du es. Und dann schauen wir mal,
was wir tun können. Nun, wir können diesen Druck tatsächlich
behalten. Ich werde das einfach
nach unten verschieben. Und hier oben werden wir unseren Kommentar erneut
erstellen. Das werden also
Ausgaben und Kommentare sein. Wunderschön. Da hast du es. Wir haben diesen
Druck also schon einmal gesehen und er gibt hier
unten in der Ausgabe etwas aus. Wenn Sie
dies nicht noch einmal haben, können
Sie zu Ansicht gehen und es hier
aktivieren. Sie können also sehen, dass dies
jetzt aktiviert ist, da es eine Art Schaltflächenhintergrund
hat. Und wenn es nicht aktiviert ist,
dann hat es das nicht. So aktivieren Sie das also im
Grunde . Und da hast du es. Wenn wir das in
einem Skript haben und auf Play klicken, dann sehen Sie das, was Sie
unten in der Ausgabe
sehen und Helloworld vom Server aus sehen. Wir werden
das gleich erklären. Und dann gibt es drei
Kommentare zur O2-Ausgabe. Also noch einmal, das liegt daran, dass dies in der dritten Zeile war. Lass uns damit aufhören und lass uns mit dem Drehbuch
weitermachen. Aber das ist schon ziemlich cool. Und das letzte Mal haben wir
über die Idee von Variablen gesprochen. Was ist, wenn wir
eine Gesundheitsvariable haben und die gleich 1.000 ist? Auch hier siehst
du wieder, dass
du die Leerzeichen
dazwischen nicht benötigst. Also sind Leerzeichen nur noch besonders wichtig
wie statt Zahlen, denn jetzt sind die
Zahlen
zwischen bestimmten Operationen nicht mehr miteinander verbunden, du kannst tatsächlich so
viele Leerzeichen setzen, wie du möchtest. Normalerweise empfehle ich es nicht. Entweder ein Leerzeichen
oder Null Leerzeichen sind
im Grunde die bevorzugte
Methode, um dies lesbar zu machen. Aber ja, Sie können so
viele Leerzeichen einfügen, wie Sie möchten. Und jetzt, anstatt
HelloWorld auszugeben, können wir sagen, dass das okay ist,
was die Gesundheit des Spielers
angeht, da ist Gesundheit. Und dann stellt
sich die Frage, okay, wie machen wir, wie können wir dann diese Tausend
ausgeben? Natürlich
könnten wir sagen, naja, es sind 1.000, das ist großartig. Aber wenn wir das jetzt
auf 500 ändern , weil wir vielleicht
getroffen wurden oder so, wird
hier immer noch 1.000 stehen. Das funktioniert also nicht ganz
so, wie wir es uns wünschen würden , wenn wir es bei 1.000 belassen. Und wir sagen eigentlich,
nun, Gesundheit, oder? Und dann ist es so,
nun, offensichtlich
wird es diese
Variable hier nehmen. Nun,
schauen wir einfach, was passiert. In der Tat tut es das nicht. Es heißt nur, dass die
Gesundheit des Spielers Gesundheit ist, was wir hier natürlich nicht ganz im Sinn hatten. Was wir ausgeben wollen, ist der Wert dieser Variablen
und nicht der Name. Nun, wenn es in einer Schnur ist. Also wir haben schon einmal darüber gesprochen, innerhalb der Anführungszeichen, dann wird das einfach
als normales Wort gelesen. Es ist kein Schlüsselwort und es ist
nicht rot als Variable. Aber wir können die Variablen tatsächlich
verwenden. Das funktioniert. Es gibt zwei Möglichkeiten
, wie wir das tun können. Wir können entweder hier eine
Kolumne schreiben. Das ist in diesem Fall also spezifisch für die
Druckfunktion. Also nach der ersten
Zeichenfolge, richtig, können
wir ein Komma machen und
dann können wir Gesundheit sagen. Sie können sehen, dass es uns das tatsächlich
vorgeschlagen hat. Und dann drücken Sie einfach die
Tabulatortaste, um die automatische Vervollständigung durchzuführen. Dann geben wir ein weiteres Komma ein, und alles, was
danach kommt
, wird ebenfalls angezeigt. Wir können also beispielsweise HP sagen, und was jetzt
ausgegeben wird, ist die Gesundheit des Spielers, und dann
wird das Reittier hier in
der Gesundheitsvariablen gespeichert und dann direkt danach HP. Also lass uns einfach spielen und
sehen, was es ausgibt. Und Sie können sehen, dass die
Gesundheit des Spielers 1.000 HP beträgt. Perfekt. Jetzt gibt es dort
tatsächlich zwei Leerzeichen. Was wir also tatsächlich tun können, einfach damit aufhören und wir können das sogar loswerden,
denn in diesem Fall wird tatsächlich ein Leerzeichen hinzugefügt. Dies ist nicht die einzige Möglichkeit
, dies zu tun. Wir können einfach diese Zeile kopieren. Also wähle ich es einfach aus, drücke Strg C und dann Strg V, um es erneut
einzufügen. Und anstatt
das zu tun, können wir hier auch
Punkt Punkt und dann noch einen
Punkt Punkt machen . Und was das tun
wird, das, das wird
diese Variable mit der Zeichenfolge verknüpfen. Das könnte jetzt also etwas
komplizierter sein. Aber keine Sorge, wir werden in einer zukünftigen Vorlesung
etwas mehr darüber
sprechen . Und es sollte auch nicht zu verrückt
sein. Im Grunde sagen wir nur, dass dies eine Zeichenfolge ist. Dies ist eine Zeichenfolge. Und obwohl dies eine Variable ist, wollten
wir sie eigentlich auch zu unserer spezifischen Zeichenfolge hinzufügen . Es wird also fast
die exakte Ausgabe wie diese haben. Aber schauen wir einfach,
was hier passiert. Wenn wir das also ausgeben, können
Sie tatsächlich sehen, dass
kein Leerzeichen dazwischen ist, weil wir buchstäblich nur
das Letzte nehmen wir buchstäblich nur
das Letzte nehmen, was hier
ist, oder? Also das heißt, und
dann nehmen wir was auch immer diese Variable ist, was auch immer
der tatsächliche Wert dieser Variablen ist, wir konvertieren sie in eine
Zeichenfolge und dann
platzieren wir sie in diesem Fall einfach direkt
neben das S. Also hier wollen wir ein Leerzeichen. Wenn wir das also einfach beenden
und erneut starten, können
Sie dann sehen, dass
die Ausgabe in diesem
Fall genau dieselbe
sein wird , mit Ausnahme der HP. Denn noch einmal,
komm her, das generiert automatisch ein
Leerzeichen. Es hat übrigens nichts mit
diesen Leerzeichen zu tun , verwechseln
Sie sich nicht damit. Ich kann das einfach ausführen. Diese Räume haben also
nichts damit zu tun. Es hat nur
damit zu tun, wie
das Ganze
grundsätzlich interpretiert wird, oder? Das sind also zwei Arten
der Ausgabe hier. In diesem Fall auch ein Text
mit einer Variablen, was wahnsinnig nützlich sein kann, nicht nur für In-Game-Zwecke, sondern manchmal auch für
Debugging-Zwecke. Debugging
bezieht sich im Wesentlichen auf den Versuch, Probleme oder Bugs
in Ihren Skripten zu finden. Und das kann
manchmal sehr helfen. Schließlich
möchten wir auch über Commons sprechen, wo Sie die Kommentare
mit den zwei Bindestrichen bereits
gesehen haben . Das ist also im Grunde ein einzeiliger
Kommentar, den ich machen kann. Ich kann nur ein paar
interessante Dinge sagen, oder? Das könnte also sein, um
dir selbst oder anderen Dinge zu
erklären ,
deine Drehbücher zu lesen oder solche
Dinge. Jetzt
funktionieren diese nur für eine Zeile. Also, wenn ich hier noch eine Zeile mache, können
Sie sehen, dass
wir plötzlich alle eine Art Kommentar sind. Und Sie müssen die Bindestriche hier am Ende auch nicht hinzufügen. Das ist eine persönliche
Sache, die ich mache, also ist das überhaupt nicht erforderlich. Du kannst es auch einfach so
lassen und alles wird
einwandfrei funktionieren. Es gibt
jetzt eine persönliche Macke von mir , bei der Sie tatsächlich mehr Dinge hinzufügen
müssen , ist
für mehrzeilige Kommentare. Wir können also immer noch
die beiden Striche machen
und dann zwei Klammern öffnen. Sie können wieder sehen, wie
die schließenden Klammern automatisch
generiert wurden. Und dann haben
wir hier tatsächlich einen
mehrzeiligen Kommentar. Da hast du es. Das ist großartig. Da hast du es.
Sie können also sehen, dass dies jetzt ein
mehrzeiliger Kommentar
ist
und alles zwischen den Klammern hier ist im Grunde alles, was wir als Kommentar interpretieren
werden. Sie können das sogar mit
dem kleinen Pfeil hier schließen. Das wird also
ein bisschen netter sein. Du kannst das sogar tun. Und dann wird es geschlossen. Es wird
es so schließen. Das ist interessant. Okay,
nun, da hast du's. Das ist eine sehr interessante
Art, das zu tun. Das ist ein mehrzeiliger Kommentar. Wir haben etwas
Ähnliches gesehen, bei dem wir uns die
Rückseite der Variablen ansehen werden. Wir haben die mehrzeilige
Zeichenfolge hier mit
der gleichen Idee gesehen ,
obwohl sie in diesem Fall nur mit Kommentaren sein wird. Aber wie ich bereits erklärt habe,
wichtiger Hinweis, natürlich stehen
all diese Skripte immer für Sie zum Download
zur Verfügung. Die Skripte sind also
verfügbar und die RB XL-Datei für jede einzelne Vorlesung steht
immer zum Download zur Verfügung. Sie können also im Grunde alles
überprüfen, es sich eins nach dem anderen
ansehen. Also, wenn du vielleicht
etwas anderes
ausgegeben hast oder so, kannst
du
den Code immer noch einmal überprüfen, oder? Zusammenfassend können wir
noch einmal feststellen, dass die Druckfunktion eine Möglichkeit
ist, etwas auszugeben. Normalerweise willst du eine Zeichenfolge
ausgeben, oder? Wenn Sie also in
gedruckter Form schreiben, können Sie sehen , dass
es bereits vorgeschlagen wird,
und Sie können darin die
Tabulatortaste drücken,
um dann mit der Eingabe zu beginnen. Jetzt möchten
Sie normalerweise eine Zeichenfolge eingeben. Du willst also
mit den Anführungszeichen beginnen und dann kannst du dort einfach Dinge
sagen. Und das wird
innerhalb des Ausgabefensters ausgegeben. Und dann gibt es
auch einen Kommentar. Normale Kommentare beginnen
mit Bindestrich, Bindestrich und dann, was auch immer
Sie schreiben möchten, dies ist ein einzeiliger Kommentar. Mehrzeilige Kommentare
funktionieren mit einem Bindestrich, Gedankenstrich und dann den offenen Klammern. Nun, das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also ja.
6. (Lua) Mathe: Ordnung, willkommen zurück
zur Klo-Einführung hier
für den Roblox-Kurs. Und in dieser Vorlesung werden
wir uns mathematische Operationen ansehen. Dafür werden
wir erneut auf
den Server-Skriptservern ein neues
Skript erstellen und es in A3 Dash Maths
umbenennen. Weil warum nicht? Da hast du es. Lassen Sie uns nun hier
unseren kleinen netten Kommentar
hinzufügen , mathematische Operationen. Und mal sehen, welche Arten von
mathematischen Operationen es gibt. Nun, natürlich
gibt es eine Ergänzung, das ist die erste und die Idee ist die
folgende, oder? Wir können also eine Summe haben und
das könnte z. B. 20 sein. Das wird also einfach wieder eine Variable
sein. Unsere 20 ist der Wert und some
ist der Name der Variablen. Und jetzt können wir
sagen, naja, einige sollten eigentlich 20 plus 50
sein, z. B. jetzt sollten das jetzt 70 sein. Also schauen wir uns das
mal an. Also , wenn ich
hier noch einen Druck mache
und sage, dass Summe ist, verwenden
wir einfach diesen. Also werden wir Summe sagen. Da hast du es.
Jetzt wird die Summenvariable
ausgegeben. Zuerst
machen wir tatsächlich die Summe gleich 20. Ändern wir das tatsächlich auf zehn. Es werden also
60 sein, weil das das ein bisschen besser demonstrieren
wird. Also werden wir zuerst
sagen, dass die Summe gleich 20 ist. Wir sagen, die Summe ist gleich
zehn plus 50. Was dann
rauskommen und hören wird, einige von euch vielleicht sagen,
nun, es wird 20 plus zehn plus 50 oder so
ähnlich sein. Lass uns einfach spielen und
sehen, was passiert. Sie können sehen,
dass einige 60 sind ,
weil das Letzte, was hier passiert
, ist , dass der Variablen
der Wert zehn plus fünf
zugewiesen wird . Dieser wird also einfach
ignoriert oder überschrieben , da Code immer von
oben nach unten
ausgewertet wird . Also beginnen wir bei Zeile
eins und es wird
durchgehen und
durchgehen und durchgehen. Und dann wird es so
sein, unsere Summe ist jetzt 20 und dann die nächste Zeile, unsere Summe ist jetzt 60,
weil ich diesen Ausdruck im Grunde als zehn plus 50
bewertet habe. Das ist die allgemeine Idee. Ich kann auch, ich kann sagen,
naja, was ich eigentlich machen möchte, ist, dass ich noch einen haben
möchte. Also sagen wir einfach, das wird die zweite Summe
sein,
denn, warum nicht? Und das entspricht der Summe plus
einem anderen Betrag, oder? Also plus 50 oder plus 150
können sein, was wir wollen. Und was wird
das jetzt sein? Nun, einige haben den Wert 20. Theoretisch
sollte das also 20 plus 150 sein, was 170 sein sollte. Wenn wir das also tun, können
wir sehen, dass einige 20 sind. Jetzt könntest du sagen,
warte, wie ist die 20? Ah, nun sieh dir das an. Wir geben
die Summenvariable und jetzt die zweite Summenvariable aus. Es gibt also immer etwas, das
Sie beachten müssen. Also noch einmal, wenn ich das schreibe, können
Sie sehen, dass es uns
das bereits vorschlägt und dann
können wir einfach die
Tabulatortaste drücken, um es automatisch zu vervollständigen. Und jetzt geben wir
die zweite Summenvariable aus. Und jetzt sollten wir
sehen, dass die Summe 170 ist. Jetzt können Sie auch alle anderen
Ausgänge
hier unten in der Ausgabe sehen . Das ist völlig in Ordnung und
du kannst es so belassen. Wenn Ihnen das jedoch
zu unübersichtlich wird, können
Sie einfach zu den
anderen Skripten gehen und hier
einfach Kommentare
zu allen Druckzeilen in
den anderen Skripten hinzufügen Druckzeilen in
den , damit Sie dort nicht
auch die
Ausgaben haben . Also behalte das im Hinterkopf. Das ist also eine Ergänzung.
Schauen wir uns jetzt die Subtraktion an. Kannst du dir vorstellen, wie das aussehen
wird? Nun, lass uns einfach eine, nennen
wir das einfach Subtraktion. Und das entspricht, naja, z. B. so
etwas wie 25 -50. Wird das funktionieren? Das wird
eine negative Zahl sein. In der Zwischenzeit, ich meine, schauen wir uns
einfach den richtigen Druck an. Und wir werden sagen,
das wird
einfach Subtraktion ist ,
und dann noch einmal Komma, und dann werden wir noch einmal Subtraktion eingeben
, automatische Vervollständigung
mit der Tabulatortaste. Lassen wir das einfach ablaufen
und schauen wir, was passiert. Und Sie können sehen, dass die Subtraktion minus 25
ist, das ist absolut kein Problem. Negative Zahlen
sind völlig in Ordnung. Das funktioniert also mit negativen Zahlen,
nicht negativen Zahlen, oder? Wir können auch 150 -50 haben
und dann werden es 100 sein. Das ist also wirklich cool. Die nächste Sache ist
natürlich die Multiplikation. Nun,
das wird die Frage Mole T. Nennen
wir das einfach
Multitasking, alles wird gut. Wie funktioniert das? Nun,
das ist mit einem Stern gemacht. Also das sind fünf Sterne, 40 z. B. und dann sollte es sein,
was sollte das sein? 200? Ja, genau. Es werden 200 sein. Das wird also Multiplikation
sein, und dann nochmal, mach einfach
das hier Multiplikation. Und das wird genau
das Gleiche bewirken. Nun noch einmal, was
ich hier sagen möchte, Sie müssen keine
Leerzeichen dazwischen setzen. Sie können Leerzeichen dazwischen setzen, müssen es
aber nicht. Es ist dieselbe Idee, wenn Sie die Leerzeichen hier einfügen, da
der Raum genau hier ist. Weil die Idee ist
, dass dies jetzt
ein Multiplikationsoperator ist ein Multiplikationsoperator , der in diesem Fall zwei ganze Zahlen
verwendet , können
Sie dies natürlich auch tun. Oh, was wird das bewirken? Nun, ich meine, lass uns das
einfach versuchen. Schauen wir uns an, was
fünfmal passiert. 40,5 ist 202,5. Das ist absolut richtig, und das funktioniert auch. Sie können also auch
fließende Zahlen verwenden. Das macht
es im Grunde ganz alleine. Das ist also auch ziemlich cool. Nun, die Teilung ist die eine Sache , die etwas
interessanter ist. Division ist natürlich Division und das
entspricht z.B. 20/3. Sagen wir das einfach
so. Okay, das ist interessant. Also lasst uns die Division machen. Ist, und dann
rufen wir das einfach an und lassen Sie uns sehen was uns das bringt.
20/3 ist, ich weiß nicht. Nun, es ist 6,66, 666666 das wiederholt sich, bis es auf sieben
läuft. Das ist also eine degenerierte Idee. Denken Sie also daran,
wenn Sie Dinge haben , die nicht perfekt
ineinander passen. Also 21/3
wäre natürlich sieben. Also, wenn wir das machen, bekommen wir
einfach sieben. Das ist großartig. Wenn Sie jedoch etwas haben
, das nicht gleichmäßig teilbar ist, erhalten
Sie
eine Dezimalzahl. Und das ist auch sehr wichtig. Wenn wir versuchen würden, durch Null zu teilen. Dies ist eine Sache, die Sie vielleicht schon einmal gehört haben
oder auch nicht. Wenn Sie mit Null addieren, nun, erhalten
Sie unendlich. Das ist also eine sehr interessante
Sache und das ist eine Eigenart von Lu sind mehr oder weniger, man kann tatsächlich durch Null dividieren. Das solltest du nicht tun. Es ist immer noch
so, als ob
das etwas ist , das eigentlich
kein Ding sein sollte. Und in diesem Fall bekommst
du Unendlichkeit. den meisten Programmiersprachen wird in diesem Fall
normalerweise eine
Fehlermeldung angezeigt. Also behalte das im Hinterkopf. Normalerweise solltest du
sicherstellen, dass du nicht durch Null teilst. Aber dann gibt es noch eine andere Sache die sehr interessant sein könnte, und das ist das Modalgesetz, auch der Rest
und das hier genannt, oder? Nennen wir
das einfach einen Rest. Und das entspricht, sagen
wir zum Beispiel, den 20. Und dann wird es ein Prozentzeichen
für
sein und das wird den Rest
drucken. Der Rest ist, lassen Sie uns einfach den Rest
ausdrucken
und sehen, was das sein wird. Und dann wirst du ziemlich
schnell sehen, was das bewirkt. Lass uns den Rest von drei
dividieren oder so. Und dann wirst du sehen, dass
der Rest hier zwei ist. Die allgemeine Idee ist also, dass ich
im Grunde nur
den eigentlichen
Teilungsprozess durchlaufe den eigentlichen
Teilungsprozess und dann sage, dass
dies der Rest ist Ich empfehle dringend, auch den Rest
auszuchecken. Das ist eine normale Sache. Ich denke, das
sollte im Mathematikunterricht gelehrt werden. Das sollte eine Sache sein, die im Mathematikunterricht gelehrt
wird. Und es kann
in diesem Fall für
bestimmte Dinge beim Programmieren
tatsächlich
sehr, sehr wichtig sein, denn wenn wir
den Rest von zwei machen würden,
also 20 modales O2,
ist das eine Methode, um zu also 20 modales O2, überprüfen, ob eine Zahl gerade oder ungerade ist, denn in diesem Fall ist
sie gerade, oder? Also, wenn wir das einfach spielen, bekommen
wir eine Null. Also können wir im Grunde sagen: Hey, wenn diese Zahl und dann machen wir Modulo zwei gleich Null, wissen
wir, dass es eine gerade Zahl ist . Und wenn wir das tun, können wir jede ungerade Zahl
machen, was, in diesem Fall 21,
das spielt keine Rolle. Dann holen wir uns einen. Wenn also der Rest Null ist, dann wissen wir in diesem Fall, wenn wir modales O2 verwenden, also wenn der Rest eins
mit Modal oder zwei ist,
dann wissen wir, dass die Zahl,
die ursprüngliche Zahl, eine ungerade Zahl
ist. Wenn es eine Null ist, dann ist es eine gerade Zahl
von in der Tat sehr interessant, nicht
zuletzt
gibt es etwas, das
als Inkrementieren
und Dekrementieren bezeichnet wird . Das bedeutet im
Grunde nur, dass wir einer bestimmten Zahl eins hinzufügen wollen . Also können wir zum Beispiel eine
Reihe von Cold Five haben, oder? Und dann können Sie in anderen
Programmiersprachen,
je nachdem, ob Sie schon einmal
programmiert haben oder nicht, Dinge
wie Zahl plus
plus oder Zahl minus minus tun . Was du jetzt sehen wirst ist, dass
das nicht funktioniert, okay? Wir können das einfach kommentieren
, oder? Wir werden einfach sagen, dass sie sind und dann
wird das
so sein , als ob es nicht funktioniert, weil
es einfach nicht funktioniert. Es ist einfach etwas, das uns
niedriger nicht bietet. Es gibt jedoch
Dinge, die wir
tun können , um diese Zahl zu erhöhen oder zu
verringern. Im Grunde können wir also
sagen, dass Zahl gleich
sich selbst plus eins ist . Das wird einfach die Zahl nehmen
, die
in diesem Fall als fünf definiert ist , und dann wird
einfach eins hinzugefügt, oder? Also noch einmal, das
ist nichts Verrücktes, es heißt nur, dass Zahl
gleich Zahl plus eins ist. Also nehmen wir einfach, was auch immer dieser Ausdruck ist, und
speichern ihn dann wieder in Zahl. Okay, das ist fair. Wir können auch Zahl
plus gleich eins haben. Das macht
genau das Gleiche. Es ist nur ein bisschen
kompakter und in einer Zeile geschrieben. Das sind genau die gleichen Dinge die
sie tun, ist genau dasselbe. Der Grund, warum Sie beide kennenlernen oder beide
gesehen haben
möchten ,
ist, dass manche Leute es vorziehen, es so
zu machen. Manche Leute ziehen es
vor, es so zu machen. Wenn Sie also die Drehbücher anderer
Leute lesen, ist
es sehr wichtig, beide gesehen
zu haben. Und dann gilt in diesem Fall natürlich
dieselbe Idee für Minus. Nun, du kannst
das sogar verlängern und du kannst sagen,
nun, was ist,
was ist damit, oder? Wenn wir mal gleich machen, absolut Zahlen, dann
wollen wir vielleicht gleich dividieren. Funktioniert das? Das wird sein, ich
weiß nicht einmal , wie der Sommer dort sein
wird, aber die Küstennummer
spielt jetzt verrückt. Modulo ist eigentlich gleich, ja, das können
wir auch. Nun, diesen habe ich noch nie
gesehen, als ob er wirklich irgendwo
gebraucht würde, niemals. Dieser. Es mag
bestimmte Momente geben, in denen das nützlich sein könnte, aber ja, die
meiste Zeit wirst
du
diese verwenden , vielleicht diese drei. Und diese beiden sind
sehr spezifische Dinge , die sehr, sehr selten sind. Aber noch einmal, das gesehen zu haben, kann in
der Tat sehr wichtig sein, oder? Um es noch einmal zusammenzufassen: Mathematische Operationen sind genau das
, was sie sagen, oder? sind es Operationen, die In diesem Fall sind es Operationen, die
bestimmte mathematische Funktionen ausführen, oder? Summierung also nur ein Plussymbol, ein Minussymbol für die Subtraktion, ein Stern für die Multiplikation und der Schrägstrich für die Division. Und in diesem Fall
auch der Prozentsatz für das Modell oder den Rest. Das ist also nur normale Mathematik. Jetzt fragst du dich vielleicht, warum
ich da Mathe brauche,
es gibt viele
Momente, in denen du vielleicht etwas Mathe brauchst, oder? Es könnte also sein, dass du vielleicht eine
Waffe hast und dann
einen bestimmten
Effektmultiplikator für Schaden hast, und dann hat der gegnerische
Spieler eine bestimmte Rüstung. Und du willst
sichergehen, dass die Gesundheit oder der Schaden
korrekt generiert werden , er
wird korrekt berechnet. Hier kommt all
die Addition, Subtraktion, Multiplikation,
Division oder das ins Spiel. Und all
das wird irgendwie, es wird etwas geben das am Ende herauskommt. Das wird
das sein, der Schaden. Nath kann also tatsächlich
sehr, sehr wichtig sein. Das sind natürlich nur
die Grundlagen der Mathematik. Aber mit diesen
Bausteinen kannst
du schon
ein paar ziemlich coole Dinge bauen ,
wo auch immer das für
diese Vorlesung hier ist. Ich hoffe, Sie fanden das nützlich und
Sie werden etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
7. (Lua) Relationale und logische Operationen: Ordnung, willkommen zurück
zur Klo-Einführung hier für den Roblox-Kurs. Und in dieser Vorlesung
werden wir uns
einen relationalen und
logischen Operatoren ansehen einen relationalen und
logischen Operatoren Das klingt
heutzutage
sehr kompliziert, aber noch einmal, keine Sorge, wir werden
das zuerst durchgehen, es erstellt ein neues Skript
im Server-Skriptdienst genau hier. Und wir werden es 04 Dash
nennen. Nennen wir das
relationale Logik. Da hast du es. Und noch einmal, wir brauchen die HelloWorld nicht, sondern wir
brauchen sie für relationale und
logische Operatoren, manchmal auch als relationale
und logische Operationen bezeichnet werden. Beides funktioniert so ziemlich gut. Vergessen Sie auch hier nicht, den Druck zu kommentieren , wenn Sie nicht
möchten , dass er am Ausgang
komplett mit Spam überschwemmt wird. Und dann lass uns darüber nachdenken. Was sind also relationale, was sind logische Operatoren? Wir sind,
relationale,
sie betrachten im Grunde zwei
Werte und bewerten
im Grunde die Beziehung zwischen ihnen. Das wäre also kleiner als, größer als kleiner oder
gleich, größer oder gleich. Wir haben auch Gleichberechtigte
und auch Ungleiche. Das sind also die,
naja, im Grunde alle
relationalen Operatoren und sie erzeugen einen, sie erzeugen einen
booleschen Wert, oder? Das heißt also noch einmal, wenn Sie an die
Variablentypen zurückdenken, ist
dies entweder wahr oder falsch. Nun, das sollte hier
nichts Verrücktes sein. Wenn ich sage, nun, 20,
kleiner oder gleich 25,
gibt es natürlich kleiner oder gleich 25, nur, es kann
nur wahr oder falsch sein. Es gibt keine Unschärfe, oder?
Es gibt keinen wie einen. Wenn es zu 50 Prozent klein ist, ist das nicht das,
worüber wir sprechen. Wir sagen nur, hey, ist
das kleiner als das, oder ist das gleich? Und das ist die allgemeine Idee. Und logische Operatoren
sind Operatoren, die
zwei boolesche Werte annehmen und
diese auswerten. sind end OR und der
NOT-Operator sind in diesem Fall, das
sind die wirklich
wichtigen. Es gibt auch einige
andere. Wenn Sie
daran wirklich interessiert sind, können
Sie nach Boolescher Algebra suchen. Das ist im Grunde der
Begriff, den man sich ansehen sollte. Und das bringt uns im Grunde
ein bisschen mehr dazu. Aber vorerst beschäftigen
wir uns nicht allzu sehr damit. Wenn wir also darüber nachdenken, können
wir sagen, ein Test, z. B. hier ist drei, kleiner als 20. Dies ist in unserem
Fall natürlich der Fall. Wir können das einfach ausdrucken
, oder? Also sagen wir einfach, ist
drei kleiner als 20? Und wir werden das einfach
ausdrucken. Wir werden den Test hier
ausdrucken. Da hast du es. Aber lass uns das einfach spielen und
sehen, was passiert. Und es wird sich als
wahr herausstellen, weil es drei ist, tatsächlich kleiner als 20. Das ist in der Tat sehr interessant, Sie können das sehen,
wertet diesen Ausdruck aus und macht ihn zu einem booleschen Wert,
der in diesem Fall wahr ist. Jetzt können wir auch sagen, sagen
wir, Tests hier nochmal,
das wird in Ordnung sein. Das ist 20 ist größer als 200. Das wird natürlich falsch sein. Und dann
werden wir einfach das auswählen,
Strg C
drücken, los geht's
, drücken Strg V
, um es wieder einzufügen. Und dann
ändern wir das einfach. Ist 20 größer als 200 , weil wir jetzt sagen, dass
2020 größer als 200 ist, was natürlich falsch ist. Lass uns das einfach noch einmal abspielen. Und wir werden sehen, ob 20
größer als 200 falsch ist. Das ist genau richtig, denn
das ist nicht der Fall. Das sind die
Beispiele für größere. Und dann gilt die gleiche Idee
für kleinere Gleichgestellte, oder? Dann wird es einfach
auch wahr sein, wenn es gleich ist. Und wenn das dann gleich
wäre, oder? Das wäre jetzt falsch. Stimmt es? Sollte Sinn machen, denn nun, 20 ist nicht kleiner als
20 ist gleich 20. Wenn wir das tun würden, wird es plötzlich wieder wahr. Hoffentlich macht das hier in diesem Fall
Sinn. Wenn es nun um den
Gleichheitsoperator geht, nehmen wir zum Beispiel an, wir haben eine Zeichenfolge, eine, die hallo sein wird, und dann haben wir auch eine Zeichenfolge, die auch
hallo heißt. Warum nicht? Da hast du es. Dann machen wir einen Vergleich. Warum kein Vergleich? Das ist gleich, und
dann sagen wir Zeichenfolge eins gleich zwei Gleichheitszeichen. Das ist der relationale
Gleichheitsoperator , der diese
beiden Zeichenketten betrachtet, oder? Und gibt einen booleschen Wert aus. Dies ist der
Zuweisungsoperator, der
sehr, sehr leicht mit
dem anderen verwechselt werden kann. Aber was Sie bekommen sollten,
ist, dass Sie sehen können, dass Sie eine Fehlermeldung
erhalten , wenn Sie nur eine
haben. Also diese rote Unterstreichung
hier, siehst du, es ist wie, oh, das ergibt für mich
keinen Sinn. Absolut keine Sorgen. Zwei Gleichheitszeichen sind der
relationale Operator. Ein Gleichheitszeichen ist der
Zuweisungsoperator. Sehr, sehr wichtig. Jetzt drucken, lassen Sie uns das
einfach ausdrucken und lassen Sie uns einfach den Vergleich ausdrucken. Und wir sollten
theoretisch eine Wahrheit bekommen, oder? Also werden wir einen haben, der erste Ausdruck, ist das
wahr, der zweite ist falsch. Und dann
werden wir hier einfach eine Norm haben, einfach ein echtes Ergebnis. Lass uns einfach sehen. Und wir werden sehen, was
wahr ist, absolut fantastisch. Das funktioniert also auf jeden Fall. Nun, wenn ich hier
etwas ändere, dann sogar die Gehäuse, denn diese sind jetzt
nicht mehr exakt gleichwertig. Was also passieren wird, ist
falsch, denn in diesem Fall sind
beide nicht gleich, sind
beide nicht gleich weil die Groß- und Kleinschreibung immer
berücksichtigt
wird , weil es sich um
ein anderes Zeichen handelt und sie daher
nicht genau gleich sind. Aber das wäre
eines dieser Dinge. Und tu das nicht. Dies ist nur ein Beispiel. Also du, damit du das
irgendwie verstehst. Das ist ungefähr das, was
du tun würdest, oder? Wenn du ein Passwort hast
und denkst,
okay, das ist alles, was
die Person hat. Eingetragen, und das ist das
Passwort, das ich gespeichert habe, rot. Sind die gleichwertig? Und dann nur wenn es wahr ist,
wirst du sie reinlassen. Tun Sie das jetzt nicht,
speichern Sie solche Passwörter nicht. Das
sollte nur von
fortgeschrittenen Leuten gemacht werden. Sehr, sehr, nur
damit du darüber nachdenkst, okay,
das ist eine der
Möglichkeiten, wie du einen Vergleich als wichtig
erachten
könntest. Wenn es nun um
die logischen Operatoren geht, wird
es hier etwas
komplizierter, denn hier wollen wir
eigentlich
mehrere boolesche Werte nehmen und sie zusammensetzen, also
sie nebeneinander setzen. Und dann, weißt du,
das ist quasi eine logische
Erweiterung dafür. Was Sie also beispielsweise tun könnten, ist, sagen
wir, x ist gleich einem
Vergleich. Also wird hier der
Vergleichswert verwendet, was in diesem Fall
der Fall sein wird. Und dann können wir hier einen
AND-Operator eingeben. Und dann
muss der zweite Wert ein weiterer boolescher Wert sein. Also könnten wir z.B. sagen, lass uns einfach hier
testen, oder? Jetzt heißt es also, nun, wenn die Zeichenfolge übereinstimmt
und der Test wahr ist, dann wird x wahr
sein, oder? In diesem Fall wird der
Vergleich also wahr sein und der Test wird falsch
sein, oder? Also das
passiert gerade hier, oder? Weil der Test hier falsch ist. Also wenn wir jetzt x ausdrucken würden ist es nur um des
Arguments x willen gleich hier
oder da gehst du. Wenn wir das zusätzlich tun, sei falsch
und du kannst sehen, dass x falsch ist. Warum ist das so? Nun, weil der
Endoperator besagt, dass beide booleschen Werte
wahr sein müssen , damit der gesamte
Ausdruck wahr ist. Nun noch einmal, falls das für Sie
im Moment
etwas kompliziert ist , machen Sie sich
absolut keine Sorgen. Das ist eine Sache,
mit der du nur ein bisschen herumspielen musst. Ich empfehle
Ihnen also dringend,
dieses relationale logische Skript hier
zu öffnen dieses relationale logische Skript und einfach damit
herumzuspielen. Was noch verrückter ist, ist, dass du das so
oft
anziehen kannst , wie du willst. Ich kann also sagen, dass das Ende wahr ist. Und vielleicht noch eine, die
wir sagen wollen, naja, 20 ist größer oder gleich 50, so
etwas, oder? Sie können also sehen, Sie
können diese beliebig
aneinanderreihen. Noch einmal, es könnte ein
bisschen kompliziert sein. Es geht darum, das
auszuprobieren und ein paar
Dinge mit uns auszuprobieren, oder? Ich werde das einfach
rüberkopieren und hier
auch einen
OR-Operator erstellen. Also das wird
sein, jetzt wird es wahr oder falsch
sein. Was mit dem oder passiert,
bedeutet, dass entweder eines oder beide
wahr sein müssen , damit die Ausgabe wahr ist. In diesem Fall bedeutet wahr oder falsch also
nur, dass der Vergleich wahr ist. Und dann ist es uns egal
, was mit dem Rest ist, weil einer
von ihnen wahr ist. Das wird wahr sein. Wir können also sehen, sagen wir
einfach X1 und X2, nur damit wir verstehen
, dass der Unterschied hier ist. Und wenn wir das spielen, können Sie sehen, dass x2 wahr ist,
weil wir hier den Operator oder
verwenden
und das
kümmert nur, ob einer von ihnen
wahr ist und dann der gesamte
Ausdruck wahr ist. Wie gesagt, es ist nicht
wirklich eine fortgeschrittene Sache, ist nur eines der
Dinge, die nicht wirklich früh in der Schule
gelehrt werden. Ist es im Grunde
nur formale Logik? Daran ist nichts
Verrücktes. Und obwohl es ein bisschen einschüchternd
klingen mag , ist
es das eigentlich nicht. Noch einmal, setz dich einfach ein bisschen
damit hin, spiel ein
bisschen damit herum und du wirst feststellen , dass das eigentlich
nicht so verrückt ist. Nun noch eine letzte Sache,
lassen Sie den
Vergleich auch hier durchführen. Und dann
werden wir sagen, dass wir das eigentlich negieren wollen. Das bedeutet, dass dies
eigentlich kein Test ist. Nun, das könnte
so sein, als wäre die FREC das, das ist ziemlich verrückt. Nun, wir
negieren im Grunde das Falsche oder wir drehen es um. Negieren
bedeutet also einfach, dass wir es von
falsch zu wahr umdrehen. Oder wenn das schon
wahr war, dann falsch. Manchmal
sieht man das
so geschrieben mit einem
Ausrufezeichen vorne. Aber das bedeutet nur, dass die ganze Sache wahr ist, oder? Das ist jetzt also plötzlich nicht mehr falsch, was gleich wahr
sein wird, oder? Lass mich das machen. Das wird also ein bisschen
klarer, oder? Also negieren wir den
Test, dass alles, was in der
Testvariablen geschrieben
ist, in diesem Fall falsch ist. Und wir stellen es auf die Wahrheit um. Nochmals, wenn Sie das nicht
sofort verstehen, spielen Sie
einfach ein bisschen
damit herum. Ich kann nur empfehlen, dass
du wirklich
einfach Sachen abtippen
und
ausdrucken willst einfach Sachen abtippen
und
ausdrucken und dann ein bisschen damit
anfangen und dann sagst,
okay, jetzt verstehst du es, denn das
tatsächlich anzuwenden ist viel wichtiger, als mir
nur zuzuhören, das
etwa zehnmal zu erklären. Es ist besser, wenn du dich
hinsetzt und sagst, okay, das X ist das und
dann ist das Y das, und dann ist es so wie nichts, und dann druckst du es einfach aus. Aber der
Argumentation halber wollen wir einfach
sehen, dass x3 wahr sein wird. Und Sie werden feststellen, dass
X3 tatsächlich wahr ist. Denn wieder einmal ist der
Vergleich wahr und das Gegenteil von
Test ist auch wahr. Daher ist das wahr. Kurz zusammengefasst: Bei Ihren relationalen und
logischen Operatoren dreht sich alles um boolesche Werte. Und im Grunde unsere Operationen,
die zwei Werte vergleichen, in einigen Fällen
zwei oder mehr Werte, und Ihnen daraus einen booleschen
Wert geben, richtig, entweder wahr oder falsch. Es gibt kleiner als,
größer als gleich, nicht gleich und auch die
logischen Operatoren UND, ODER und NICHT, in diesem Fall diese einfachen Operationen eigentlich sind
diese einfachen Operationen eigentlich alles, was der
Computer mag. Wenn Sie zum niedrigsten Wert
heruntergehen dort all die Einsen und
Nullen, von denen Sie vielleicht schon einmal gehört
haben. Das ist alles, was sie benutzen und, oder. Und dann einige
relationale Operatoren, das ist alles, was sie
benutzen, sonst nichts. Damit geht also tatsächlich große
Leistung einher,
wie beim Programmieren,
weshalb sie ziemlich wichtig sind. Noch einmal, hier
am Ende, wollte ich dir
im Grunde den
Anstoß geben, okay, setz dich
wirklich für gute zehn,
20 Minuten hin und teste einfach mal,
wie diese funktionieren. Wenn du sie nicht verstanden hast, wenn du sie verstanden hast,
absolut großartig. Ich flehte
dich immer noch an, sie
einfach ein bisschen auszuprobieren , falls du sie nicht
verstanden hast ,
probiere es noch einmal aus. Ich kann es nur empfehlen, wenn natürlich noch
Fragen offen sind, zögern Sie nicht, sie zu stellen. Sonst wird es das
für diese Vorlesung genau hier sein . Ich hoffe, Sie fanden das
nützlich und Sie werden etwas Neues
lernen
und wir sehen uns alle in der nächsten Vorlesung. Also, ja.
8. (Lua) If- und Else: Ordnung, willkommen zurück zu der kleinen Einführung hier
für den Roadblocks-Kurs. Und in dieser Vorlesung werden
wir uns die Aussagen „Ob“ und „
sonst“ ansehen. Jetzt kommen wir der Sache wirklich auf
den Grund. noch einmal auf den
Server-Skriptservern Lassen Sie uns noch einmal auf den
Server-Skriptservern ein neues Skript erstellen
und es mit fünf Strichen
umbenennen , falls und sonst. Wie wär's damit? Da hast du es. Mir geht es gut, noch einmal,
ich werde alle
fünf machen , falls und sonst. Nun, wenn
Aussagen wirklich sehr,
sehr interessant sind ,
nehmen wir an, wir haben zum Beispiel eine
Goldmenge, die 100 betragen wird. Und dann haben wir vielleicht eine, vielleicht hast du eine
Note und das wird sein, sagen wir, wir haben gerade 65 bestanden, so
etwas. Und dann haben wir auch
einen booleschen Wert. Und das wird,
ist, ist natürlich gut. Und das wird genauso wahr
sein. Nehmen wir einfach an
, dass das der Fall ist. Die Sache, die wir mit
Wenn-Else-Aussagen machen können, ist, dass wir quasi von oben
nach unten unterbrechen den Fluss
quasi von oben
nach unten unterbrechen und sagen können:
Okay, wenn etwas
wahr ist, dann tu das. Oder wenn etwas anderes wahr
ist, dann tu das. So können wir z. B. sagen,
ob es grob ist Gut,
Sie können sehen, dass es darauf hindeutet
, dass es ungleichmäßig war, sagt uns, dass dies ein boolescher Wert ist. Also drücken wir die
Tabulatortaste, um die automatische Vervollständigung zu starten. Wir sagen dann, sobald wir die Eingabetaste drücken, das Ende hier automatisch
generiert. Und jetzt ist das
extrem wichtig. Sie können sehen, dass
unser Cursor
hier tatsächlich eingerückt ist. Das ist also das Gleiche,
als ob ich
die Tabulatortaste drücken würde und Sie können sehen, dass hier
der gleiche Einzug passiert. Und dann ist das
automatisch, weil wir uns
gerade in
dieser If-Anweisung befinden. Und du musst
dir bewusst sein, der Gedankenstrich
es so schreibt. Also kann ich hier Sachen schreiben. Ich denke nicht, dass es
technisch falsch ist, aber es sieht sehr seltsam aus. Also du im Grunde, sobald du
dich in einer if-Anweisung oder einer Funktion
befindest, die wir
später sehen werden und solche Dinge. Du hast immer einen
Gedankenstrich und ja, wenn ich
stattdessen ein anderes
Wenn hier hätte, wenn wir der Argumentation
halber
einen anderen Typ einrücken würden , lass uns einfach damit weitermachen. Das wird also
etwas drucken und es
wird Brent produzieren. Ja, es ist ein ziemlich guter Kurs. Da hast du es also.
Solange das Gute stimmt, drucken
wir das aus. Lass uns das einfach
der Argumentation halber spielen. Es ist wahr. Also, ja, es ist ein hübscher, es ist ein ziemlich guter Kurs. Nun, stellen wir einfach sicher, dass es auch heißt, dass es ein
ziemlich guter Kurs ist. Aber jetzt sagen
wir falsch. Lassen Sie uns einfach lösen, dass
das nicht der Fall ist,
aber falls doch spielen wir
und haben keinen Output. Denn in diesem Fall alles zwischen dann und wird
alles zwischen dann und
Ende nur
ausgeführt, wenn dies zutrifft. Und jetzt
fangen wir wirklich an, diese verschiedenen Tools zu verwenden. Dies ist im Grunde
jede dieser Vorlesungen. Es ist ein weiteres Tool in Ihrem Toolkit, das Sie
benötigen, um die Grundlagen zu verstehen, die später mit
allen
Hindernissen einhergehen. Und das ist eine der größten
und wichtigsten
Wenn-und-Alse-Aussagen . Also könnten wir z.B. auch
über so etwas nachdenken. Nehmen wir an, lassen Sie uns hier einfach einen
weiteren hinzufügen. Das könnte
so etwas wie die Maut sein. Also vielleicht genau dort, wo du die Brücke überqueren willst und
insgesamt sind es 150 Gold. Was wir also
zum Beispiel sagen können ist, ob unser Ziel, das wir haben,
größer oder gleich
der Maut ist , oder? Dann können wir sagen drucken, der
Spieler könnte passen. Aber vielleicht wollen wir sagen,
naja, eigentlich
wollen wir hier nicht enden. Also können wir dieses
Ende durch ein anderes ersetzen. Und dann
kann man wieder sehen, dass es ein Anderes ist. Wenn ich nur den Tap Kick drücke, kann
ich die automatische Vervollständigung vornehmen
und dann die Eingabetaste drücken, dann wird hier
ein weiteres Ende generiert. Wir können also sagen, dass, wenn Gold
höher ist als die Maut, der Spieler möglicherweise besteht. Und wenn das nicht der Fall ist, können wir sagen, dass der Spieler
nicht passen darf, oder? Dann können wir einfach auf Play klicken. Und wir können sehen, wenn
wir uns das ansehen, darf
der
Spieler nicht passen, weil Gold tatsächlich kleiner ist
als oben rechts. Wir haben nur 100 Gold,
aber wir brauchen 150. Daher
wird dies ausgedruckt. Also wird alles
andere ausgedruckt. Wenn das falsch ist und alles hier
ausgedruckt wird, wenn das stimmt, können
wir auch
so etwas machen, oder? Wir können also sagen, das ist jetzt eine
sehr primitive Methode, aber es ist wahr, oder? Wir können also sagen, aktuelles Gold, sagen
wir, Gold wird Rüstung
sein, Gold, oder? Also einfach Outputs reinlegen,
das Gold auch. Und was wir tun können,
ist, wenn wir bestehen, nun ja, wir wollen tatsächlich Gold
minus gleich machen , was auch immer
die Summe ist, nur wenn wir es tatsächlich
erfolgreich bestehen, weil wir es sonst
eigentlich nicht tun wollen. Schauen wir uns jetzt einfach
an, was das Ziel ist nachdem wir das bewertet haben? Nun, es
werden, naja, 100 sein, oder? Weil wir nichts
bezahlt haben. Denn in der Tat können wir
zahlen, weil unsere Maut ,
naja, sie beträgt hier 150 und wir
können nicht einmal etwas tun. Ich werde das einen
Schritt komplizierter machen, aber du wirst
diesen Ort verstehen, sagen
wir einfach nach Hause, oder? Also sind wir gerade zu Hause. Und wenn wir bestehen,
sagen wir einfach, wir werden in der Innenstadt sein. Sagen wir
der Argumentation halber, wenn wir nicht bestehen, nun ja, wir müssen nicht einmal den Standort
ändern, sodass wir das aktuelle Gold sagen können. Lass uns das einfach kopieren und dann können
wir den aktuellen Standort sagen. Dann können wir den Standort auch
ausdrucken. Okay, lass uns das einfach noch einmal spielen
. Und dann werden wir sehen, richtig, wir sind immer noch zu Hause und wir haben
immer noch 100 Gold. Aber was ist, wenn ich jetzt
die Maut ändere? Es kostet tatsächlich 69, um zu bestehen? Was wird jetzt passieren? Nun, jetzt ist unser Gold größer
oder gleich der Mautgebühr,
was bedeutet, dass wir passieren
dürfen. Unser Standort
wird sich in die
Innenstadt ändern und wir werden jedes Ziel, das wir haben,
abziehen, wie die Maut von unserem Gott. Also lasst uns das spielen
und mal sehen, und plötzlich
können wir sehen, dass wir jetzt
31 Gold haben und wir in der Innenstadt sind. Das ist natürlich so, am Spiel
selbst hat sich
nichts geändert. In diesem Fall haben wir nur eine oder
zwei Variablen geändert. Aber vielleicht
siehst du schon, wie unglaublich mächtig es ist,
diese If-Statements zu haben und sie miteinander zu verknüpfen. Sie können hier eine weitere
IF-Anweisung eingeben. Es gibt alle möglichen
Dinge, die du tun kannst, was wirklich, wirklich großartig ist. Das ist wirklich eines der
Dinge, ich meine,
es ist einfach cool zu sehen so etwas zum Leben erweckt wird. Hoffentlich ist das ein
wirklich anschauliches Beispiel dafür, denn sie haben Aussagen
und die
If-Else-Aussagen sind wirklich,
wirklich großartig. Nun, sagen wir
noch einmal, das Letzte. Also wir haben
hier eine Note und sagen wir zum Beispiel wir wollen überprüfen, okay, diese Person hat bestanden. Wir können also sagen, ob der Bildschirm
größer oder gleich 50 ist, dann sagen wir einfach, lassen Sie uns
das genau andersherum machen. Also sagen wir, wenn es
kleiner als 50 ist, dann
drucken wir einen Fehler, oder? Weil wir dann gescheitert sind. Jetzt werden wir
das durch ein anderes ersetzen. Aber wisst ihr was Eigentlich, wenn es durch ein anderes ersetzt wird, wenn weil ich überprüfen möchte ob die
Note größer oder gleich 50 ist und sie auch kleiner
ist. So toll sind sie kleiner
als 100. Dann möchte ich
etwas Bestimmtes machen. Und dann will ich noch einen, denn du kannst
sie so oft anketten, wie du willst. Und dann wird das
etwas anderes bewirken. Das wird also Drucken sein, sagen
wir, es wurde
hier übergangen, das ist großartig. Und dann hier, wenn
du 100 bekommst, richtig, also das würde passieren, wenn
du 100 oder mehr bekommst. Aber lassen Sie uns einfach einen Moment
darüber nachdenken. Aber wenn wir 100 oder mehr haben, werden wir sagen, dass
sie mit Auszeichnung bestanden haben. Weil warum nicht, oder? Weil das wirklich cool ist. Im Moment haben
wir also 65 für die Note. Wir sollten also die Ausgabe von B aus der Vergangenheit sehen. Mal sehen, ob das funktioniert. Und Sie können sehen, dass Vergangenheit tatsächlich Output
ist. Das ist wirklich gut. Lassen Sie uns damit aufhören und dann
hierher zurückkehren und
das tatsächlich auf, sagen wir 100, ändern. Jetzt sollten wir mit uns weitermachen. Lass uns sehen. Lass uns das spielen. Und wir können sehen, dass es mit
Auszeichnung bestanden wurde. Das ist großartig. Wir können sogar noch einen Schritt weiter gehen. Sagen wir einfach
der Argumentation halber, wir wollen hier
noch einen hinzufügen. Was wir tun können, ist, dass wir weitere
hinzufügen können, wenn, und wir können sagen, wenn sie
am besten sind, mehr als 100. Lass es uns, lass es uns so
machen. Nehmen wir an, wenn
groß gleich 100 ist, dann machen wir das, oder? Und dann machen wir
noch etwas anderes. Und das
wird im Grunde so sein, wenn es etwas anderes als 100 sind, und dann können wir mehr sagen, mehr als 100 sind nicht möglich. Du hast geschummelt. Also so etwas, mehr als 100 sind nicht
möglich, du hast geschummelt. Und wenn ich jetzt 101 machen würde,
würden wir plötzlich mehr als 100
bekommen, das ist nicht möglich. Du hast geschummelt. Also, wenn
Sie die
Logik dahinter nicht ganz
verstehen, denken Sie
einfach darüber nach, oder? Was ist
jetzt Note? Großartig wie 101. Ist das kleiner als 50? Nicht 101 ist nicht kleiner als 50. Deshalb gehen wir zum Beispiel, wenn wir
jetzt überprüfen, ob es
größer oder gleich 50 ist? Es ist in der Tat größer
oder gleich 50. Aber das muss auch
wahr sein, weil wir
den logischen Operator UND richtig verwenden , also müssen beide
Dinge
wahr sein , damit die gesamte
Aussage wahr ist. Und weil großartig größer als 100
ist, gehen
wir zum Beispiel, wenn wir
jetzt Großartig aussehen, gleich 100, es ist
nicht gleich 100, es ist tatsächlich 101. Deshalb gehen wir
zu den anderen hier drüben. Und weil wir keine
If-Anweisung haben, sagen
wir nur, okay,
jetzt verwenden wir das L, also wird alles
hier ausgeführt, was
bedeutet, dass das ausgedruckt wird. Nun, ich hoffe, das sind einige interessante
Beispiele für If-und-Else-Aussagen, wie man sie verwenden kann
und warum sie es sind. Also wirklich,
wirklich großartig. Ihr seht, wie wir schon, wir haben hier fast ein
klitzekleines Spiel gemacht, nur mit einer wenn sonst Aussage
mit Gold, mit einer Maut. Und das ist schon richtig
genial, oder, um noch einmal
kurz zusammenzufassen, ob und sonst Aussagen
boolesche Werte verwenden , um
etwas zu bewerten, oder? Sie können einen normalen
booleschen Wert verwenden. Sie können die relationalen
und logischen Operatoren verwenden , um diese
booleschen Werte miteinander zu verknüpfen. Wie wir auf verschiedene
Weise gesehen haben, können
wir if- und
else if- und
else-Anweisungen verwenden , um diese
IF-Anweisungen miteinander zu verknüpfen. Und dann wird alles, was in
dieser IF-Anweisung enthalten ist, ausgeführt. Wenn der boolesche
Ausdruck wahr ist, wirklich eine sehr coole Sache. Und ich kann nur
empfehlen, in Ihrer Freizeit ein bisschen
damit herumzuspielen . Es ist wirklich, wirklich großartig. Nun, das war's für diese
Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
9. (Lua) Lokale Variablen: Ordnung, willkommen zurück
zur Klo-Einführung hier
für den Roblox-Kurs. Und dann, in dieser kurzen Vorlesung, werden
wir
über lokale Variablen sprechen. dafür noch einmal im Server-Skriptdienst Lassen Sie uns dafür noch einmal
im Server-Skriptdienst ein neues Skript erstellen
und
dieses 06 Dash local nennen . Und das wird natürlich
auch gemeinsame lokale O6-Variablen haben . Nun, das ist kein
wahnsinnig wichtiges Thema. Ich wollte es jedoch, wir werden im Grunde einmal darüber
sprechen. Also lokale Variablen,
als wir eine Variable hatten, wir einfach x gleich gemacht, ich weiß nicht, wie
100 und das war's. Jetzt können wir auch das
Schlüsselwort local davor setzen. Und du kannst sehen, du kannst
sehen, dass es ein Schlüsselwort , weil es
fett und auch rot wird. Jetzt können wir also sagen, dass das
lokale Y z. B. 50 ist. Nun, warum sollte das
wichtig sein oder warum nicht? Nun, die allgemeine Idee ist, dass
eine lokale Variable sie im Grunde so
macht, dass sie sie dort einschränkt
, wo sie zugänglich ist. Im Moment
ist es in diesem
Fall eigentlich egal, weil wir einfach x drucken
können und dass alles in Ordnung
sein wird und
y drucken und alles
wird in Ordnung sein. Also werden beide
einfach zur Arbeit gehen. Nehmen wir an, wir haben
eine If-Anweisung und sagen einfach, dass x, sagen
wir, größer als fünf ist , und dann wollen wir etwas tun. Nun, wenn stattdessen jemand
, sagen
wir, diese Aussage wirklich kompliziert,
wirklich komplex
ist und
wir tatsächlich
einige Variablen darin
benötigen, um zu funktionieren. Wir könnten z. B. sagen z ist gleich 100. Das funktioniert. Und das können wir dann hier verwenden
und was auch immer wir tun wollen. Und das Verrückte
ist, dass wir dieses Z dann
sogar außerhalb
dieser if-Anweisung verwenden können . Sie können also sehen, dass das Z hier außerhalb
dieser if-Anweisung
zugänglich ist , aber das ist nicht immer das, was
wir wollen, weil erstens die
Person, die es verwendet, das verwirren kann, oder? Also vielleicht wollen wir das eigentlich
nicht. Z ist nur in
dieser if-Anweisung verwendbar. Und danach,
was auch immer es wird, welchen Wert es auch hat, es ist nicht einmal repräsentativ für das,
was wir wollen. Das könnte der Fall sein. Wenn das der Fall ist, dann können wir es
z.B. lokal machen. Und Sie können sehen, was
passiert, wenn das
jetzt rot unterstrichen ist ,
was bedeutet und was falsch ist. Sie können das globale Z alleine sehen, da Variablen normalerweise globale Variablen
sind. In diesem Fall sagen wir jedoch
ausdrücklich, dass dies eine lokale Variable ist und nur in diesem
bestimmten Kontext
zugänglich ist. Der Kontext ist
die if-Anweisung. Wenn also
die erste n-Ebene beendet wird, das Ende dieser
if-Anweisung im Grunde löscht
das Ende dieser
if-Anweisung im Grunde
auch Anführungszeichen ohne Anführungszeichen,
diese lokale Variable. Insgesamt ist es normal
, grundsätzlich alles lokal zu machen, außer
wenn es Momente gibt, in denen, oh, weißt du was,
das eigentlich nicht lokal sein sollte. Theoretisch sollten Sie jedes Mal, wenn Sie eine Variable
erstellen, einfach mit
einer lokalen Variable beginnen. Und das ist, und dann wird es Ihnen gut gehen und dann wird es Ihnen gut gehen. Weil es nur
sehr wenige Fälle gibt , in denen dies nicht der Fall ist. Und du kannst sehen, ob
es nicht stimmt, wenn du dann damit
weiterarbeiten willst, dann ist es völlig in Ordnung, dann kannst
du das weglassen. Aber normalerweise
willst du sie
lokal machen und dann
wird es dir gut gehen. Ein weiterer weiterer Grund,
warum Sie dies tun möchten ist, dass sie ein
bisschen leistungsfähiger sind. Um fair zu sein, was
moderne Maschinen
angeht, das wird hier wahrscheinlich keinen großen Unterschied
machen, aber nur für den Fall, dass es ziemlich wichtig
sein kann. Und wenn Sie das Local in den Skripten
anderer Leute sehen ,
dann wissen Sie einfach, normalerweise möchten Sie sie für alle
Ihre Variablen
verwenden ,
außer in sehr, unter bestimmten Umständen, in denen
globale Variablen benötigt werden, dann können Sie es weglassen. Normalerweise, wenn ich eine
Variable mit local
davor instanziiere , oder? Also habe ich einfach dafür gesorgt
, dass die Prinzen hier
auskommentiert werden, natürlich wegen dieses Prints, der einen Fehler auslöst solange wir eine lokale Variable haben. Aber insgesamt machen
sie, um es hier noch
einmal
zusammenzufassen , lokale Variablen etwas
schneller und schränken
den Geltungsbereich ein , in dem eine bestimmte
Variable zugänglich ist. Sie kein globales erstellen,
wird es ein bisschen eng und es ist für die Leute
einfacher, Ihre Skripte zu
verwenden. Außerdem läuft das Spiel dadurch
einfach ein bisschen schneller. Vielleicht sind es hier winzige Änderungen, aber normalerweise möchten Sie, wann immer möglich,
local verwenden. Das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
10. (Lua) String-Operationen: In Ordnung, willkommen zurück
zum Roblox-Kurs. Und in dieser Vorlesung werden
wir uns auf natürlich Zeichenkettenoperationen ansehen, zunächst den Server-Skriptservern.
Lassen Sie uns hier ein neues
Skript erstellen
und es
in Lassen Sie uns hier ein neues
Skript erstellen 07
und Bindestrich-String-Operationen umbenennen. Und natürlich werden
wir noch einmal eine
07-String-Operation durchführen, Ahmed hier drüben, und
dann fangen wir an. Wir können also eine neue Variable erstellen. Nennen wir es einfach einen
Test und wir
nennen es so etwas wie Hallo, ich sage Hallo, und das ist eine Zeichenfolge. Und das haben wir schon
einmal gesehen. Wir können das zum Beispiel
ausdrucken, indem wir die
Funktion printf hier
testen. Und das wird in diesem Fall
natürlich den Wert der
Testvariablen ausgeben. Dafür benötigen wir
die Ausgabe
hier drüben und
stellen auch sicher, dass sie in den alten Skripten ist und
stellen Sie sicher, dass Sie auch die Druckfunktionen in
den alten Skripten
auskommentieren . Und wenn wir das
Ausgabefenster geöffnet haben und das Drucken hier drüben, dann lass uns einfach spielen und wir sollten dort Hallo
sehen können. Ich sage hallo,
das ist ziemlich gut. Warum schreibe ich da jetzt
etwas so Seltsames hinein? Nun, weil wir gleich etwas Interessantes
sehen werden. Aber das erste, was wir mit einer Zeichenfolge tun
können ist herauszufinden, wie
lang die Zeichenfolge ist. Weil
wir das vielleicht manchmal machen wollen. Wir können also die Länge
einer Zeichenfolge herausfinden , indem wir wie
folgt vorgehen. Was wir tun können, ist Hashtag-Test zu sagen, und das wird
die Länge dieser
bestimmten Zeichenfolge ausgeben . Es wird also einfach
gezählt, wie viele Zeichen es gibt, einschließlich Leerzeichen. Bevor wir das ausgeben, zählen wir
tatsächlich 1, 234-567-8910, 1112, 1314, 1516 1718 1920 201-20-2203, 2420, 5206, 2728, 2930. Theoretisch
sollte diese Testvariable, diese Zeichenfolge hier, diese Zeichenfolge hier, drei Zeichen lang sein. Unser Druck hier
sollte also die Länge
einer Schnur 30 ergeben. Lass uns spielen und sehen, ob
das wirklich ES ist. Und die Länge einer Zeichenfolge ist 30. Nett. Das ist schon ziemlich cool, aber was können wir noch tun? Nun, es gibt eine ganze
Reihe verschiedener Dinge. Nehmen wir an, wir erstellen
eine neue Variable. Was wir tun werden, ist eine
Zeichenfolge einzugeben und Sie können sehen, dass sie uns das tatsächlich
vorschlägt, und es markiert es auch als blau. In diesem Fall ist es also ein Schlüsselwort, und wir können einen Punkt dahinter setzen. Und dann können Sie sehen,
dass wir
verschiedene Funktionen haben , die wir aufrufen können. Und diese stehen im Grunde für eine bestimmte Sache, die sie mit bestimmten Dingen
machen. Also zB gibt hier die
Länge der Zeichenfolge zurück. Anstatt also den Hashtag zu verwenden, können
Sie auch die Zeichenfolge Lynn Wright verwenden und dann
die Zeichenfolge dort einfügen. Sehr wichtig. Also können
wir das machen. Und in diesem Fall
wird der neue Test tatsächlich die Länge sein. Nennen wir diese
Länge für einen Moment. Lassen Sie uns das nur als Test kopieren. Und wir können dann genau
hier die Länge angeben. Und wenn wir das spielen, werden
wir 30.30 sehen weil es im Grunde genau das Gleiche
macht. Aber das ist eine der
Operationen, die wir durchführen können. Normalerweise werden
die meisten Operationen für
Zeichenketten in diesem Fall immer mit einem Zeichenkettenpunkt und dann im Grunde mit einer Art
Funktion ausgeführt. Lass uns einen neuen Test machen
und lass uns einen Blick darauf werfen. Also reih das ein. Und du kannst sehen, dass es
eine Menge Sachen gibt. Sie können also sehen dass dadurch n Kopien
derselben Zeichenfolge verkettet werden. Das ist im Grunde
nur, wenn du, wenn ich die Schnur da
reinlege und ich drei da reinlege, dann wird
es Hallo sein. Ich sage hallo. Hallo, ich sage hallo, hallo
, ich sage hallo. Das ist also im Grunde nur
, um dasselbe zu wiederholen. Suppe ist. Dies ist eine Teilzeichenfolge und sie ähnelt
dem, was wir gleich sehen werden. Die Beschreibung hier. Es kann ein
bisschen kompliziert sein, aber mach dir keine Sorgen. Byte ist normalerweise etwas, das
wir nicht wirklich brauchen. Was ich jedoch sehr empfehlen kann, ist, dass Sie
sich jederzeit jede
dieser Funktionen ansehen können und wir klicken
im Grunde einfach auf
sie und dann
sehen Sie eine ziemlich gute
Beschreibung und Sie
können sogar auf Erfahren Sie mehr klicken, um
mehr zu erfahren. Was wir hier machen werden,
ist
G Sub, G Sub zu machen . Das sieht verrückt kompliziert aus, ist es
aber nicht. Also
doppelklicken wir einfach darauf. Es wird das alles korrekt formatieren und wir geben
einfach das Komma
der Testzeichenfolge ein. Und dann ist das ein Muster. Wir wollen uns dieses Muster ansehen. Also z. B. hallo. Und wir wollen
es durch etwas ersetzen. Und in diesem Fall ersetzen wir
es
einfach durch eine normale Zeichenfolge. Und diese Saite wird
einfach Howdy sein. Also, was erwarten Sie hier
, wenn wir jetzt einen neuen
Test herausgeben, oder? Also, wenn wir einen
neuen Test drucken würden, oder? Also diese neue Variable, die G sub haben wird, wird
hoffentlich die
Testvariable genau hier
nehmen. Und es wird nach
dem Wort Hallo suchen, oder? Und es wird eine Kopie
zurückgeben
, in der jedes Mal, wenn Hallo auftaucht, es durch Howdy ersetzt
wird. Also, wenn wir einen neuen Test
ausdrucken würden, nun, hoffentlich
finden wir
heraus , dass er
sagt, wie geht es dir? Ich sage Hallo? Lass uns spielen und sehen, ob
das tatsächlich passiert. Und genau das passiert in der Tat. Wie geht's dir da?
Ich sage hallo? Was nun extrem
wichtig ist, wenn ich den
Originaltest
auch gleich hier ausdrucken würde, richtig, weil wir
das in die Funktion eingebaut haben und
das Hallo durch ein Howdy ersetzt haben,
werdet ihr feststellen, dass sich der
Test nicht geändert hat. Sie können also sehen, dass der Test
völlig unverändert ist. Und so steht es auch. Wenn ich hier einfach aufhöre,
ist es auch das, was ich gesagt habe. Wenn wir hier reingehen, wird
eine Kopie der
übergebenen Zeichenfolge zurückgegeben . Es ändert also nicht die Zeichenfolge, die wir übergeben
haben. Es ist sehr wichtig
, sich daran zu erinnern. Eine andere Sache, die ich dir zeigen kann,
ist z.B. etwas zu finden. Das wird also String Dot Find
sein. Das ist also eine weitere Methode, die sich
tatsächlich angesehen hat, was
darin steht. Sucht also nach der ersten Übereinstimmung
des Musters und
gibt dann die Indizes zurück. Okay? Also, was heißt das? Nun, lassen Sie uns einfach zB hier
testen. Es spielt keine
Rolle, welchen wir einsetzen. Und dann kann ich da sagen, also schauen wir uns
das mal an. Und dann können wir das auch
ausdrucken. Also wo
werden wir es dort
so machen und dann die
Ausgabe finden. Und wir sollten eine Zahl
daraus machen, damit du
sehen kannst , wo sieben ist, okay, also warum ist es bei sieben? Nun, wenn wir noch
einmal zählen, richtig, also zähle ich die
Zeichen rechts von mir, also wird es 1234567 sein. Das ist also in der Tat das
siebte Zeichen, oder es ist das Zeichen mit Indizes oder Index von Sieben.
Das ist die allgemeine Idee. Und dann Dinge zu finanzieren, die Sie verwenden
können, wenn Sie manchmal, ist interessant und das
ist im Grunde genommen,
Fall zu schreien und dann Fall zu flüstern. Die Idee ist also, dass die
Zeichenfolge oben und wenn wir
etwas hineinlegen, und dann können wir das einfach kopieren. Also habe ich einfach Control C,
Control V ausgewählt , um es einzufügen. Und das ist dann Flüstern
und das ist dann leiser. Was Sie finden werden,
ist, dass das obere, Es wird nur sehen eine Zeichenfolge
zurückgibt, bei alle Kleinbuchstaben in Großbuchstaben
geändert werden, während das untere Feld hier eine Kopie mit
allen Großbuchstaben in Kleinbuchstaben
zurückgibt . Also wenn wir das machen,
seht ihr dort Hallo rufen, ich sage Hallo und dann ist
jeder Frühling wie. Die sind also auch ziemlich
cool. Nun
können diese Operationen,
einschließlich einiger
der anderen Funktionen für Zeichenketten, unglaublich
nützlich sein, wenn Sie
irgendwelche Texte haben , die
Sie
je nach Standort
des Players ändern müssen oder wenn Sie irgendwo
etwas ausgeben müssen. Das kann also im Grunde
für eine ganze Menge Dinge verwendet werden. Deshalb kann es sehr wichtig
sein. Und natürlich
empfehle ich wie
immer dringend, ein bisschen
damit herumzuspielen. Es gibt natürlich noch ein paar weitere Zeichenkettenfunktionen
, die Sie verwenden können. Zusammenfassend lässt sich sagen, dass Sie
die Länge einer Zeichenfolge ermitteln können , indem Sie
entweder ein Hashtag als die Zeichenkettenvariable verwenden,
oder Sie können auch die Zeichenkettenfunktionen von
string dot und dann, was auch immer die Funktion ist,
in diesem Fall Len, verwenden. Wir haben auch gesehen, wie
Sie Dinge
in Zeichenketten ersetzen können , und denken Sie immer
daran, dass dies eine Kopie der ursprünglichen
Zeichenfolge
zurückgibt, die niemals geändert wird. Wir können sogar Dinge und
Zeichenketten finden und am
Ende haben wir hier auch gesehen, wie sich
Klein- und Großbuchstaben geändert haben. Nun, ich hoffe, Sie fanden das nützlich und Sie werden etwas
Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
11. (Lua) Loops in Lua: Willkommen zurück zur
Loo-Einführung hier für die Roadblocks-Kerne. Und dann werden
wir uns in dieser Vorlesung Loops ansehen. Nun, was sind Loops? Nun, sie sind sehr interessant. Zuallererst natürlich ein neues Script hier drüben, 08 Dash Loops und auch hier
oben ein netter Kommentar. Und die Frage
ist, was sind Loops? Nun, was wäre, wenn
ich dir die Aufgabe
geben würde, jede Zahl 1-100 auszudrucken? Du könntest sagen, nun, okay,
lass uns einfach richtig anfangen. Wir machen einen und dann werden
wir das kopieren. Ich sage 23 und 4,5, und irgendwann bist du fertig. Jetzt
sage ich, naja, eigentlich möchte ich, dass du tust, dass nicht
jede gerade Zahl gedruckt wird . Ich will nur die ungeraden Zahlen, 1-100 und du wirst sagen, Wow, das ist irgendwie nervig. Also wirst du
entweder
jede gerade Zahl kommentieren oder du
wirst einfach
jede gerade Zahl löschen,
dann denke ich, Oh, tut mir leid, ich habe das falsch gelesen. Ich wollte eigentlich
andersherum. Ich wollte die ungeraden Zahlen eigentlich nicht
ausdrucken. Ich wollte eigentlich die ungeraden
Zahlen nicht ausdrucken und du sagst, Oh mein Gott, ich habe einfach alles
geändert. Und an diesem Punkt wirst du dich einfach
sehr ärgern. Das ist natürlich
nicht der richtige Weg. Es gibt einen viel einfacheren
Weg, das zu tun. Das heißt, Schleifen, im Grunde genommen
Schleifen in einem sehr übersichtlichen Begriff, oder bestimmte Codeteile oder bestimmte Teile eines Skripts, die sich x-mal
wiederholen, wie oft
Sie es im Grunde möchten. So können wir z.B. einen For-Loop machen. Sie können sehen, dass dies bereits
darauf hindeutet, dass Sie eine
For-Schleife erstellen können , und dies wird bereits als Schlüsselwort
hervorgehoben. Und das funktioniert so, dass ich das aufschreibe
und es erklären werde. Wir können also sagen, dass ich gleich
eins ist und ich sage zehn, und ich sage noch einmal Komma und dann eins und dann tu es. Und sobald ich hier
die Enter-Taste drücke, siehst
du, dass
das Ende degeneriert und alles innerhalb
dieser For-Schleife, ähnlich wie wir es von Statements gesehen
haben, oder? Alles statt dem
für Loop wird in diesem Fall zehnmal
gemacht. Nun, wie ist das?
Wie funktioniert das? Was bedeutet dieser Wahnsinn? Nun, das bedeutet Folgendes. Das bedeutet, dass
wir die Schleife natürlich mit dem
Zählen beginnen müssen, weil wir wissen müssen, wie
oft wir sie durchlaufen. Was auch immer wir
hier hineinlegen, wir können es in diesem Fall einfach ausdrucken, oder? Also drucken wir
einfach die
Zahl aus , die wir zählen. Und die Frage ist, okay, wir haben angefangen, eins
wird bei eins anfangen, was damit gemeint ist, oder? Also fangen wir bei eins an, okay, das sollte ziemlich
selbsterklärend sein. Habe einen angefangen. Jetzt werden wir um zehn Uhr enden. Das
bedeutet diese Zahl , und dann ist sie
extrem stark. Diese Zahl bedeutet
, dass wir
die Anzahl jedes
Mal um eins erhöhen , wenn wir die Runde beendet haben. Wir könnten auch drei machen. Also erhöhen wir die
Anzahl um drei oder zwei oder sechs oder neun oder ehren
26, wenn wir wollten, damit können
wir eine Menge
Sachen machen. Aber vorerst wir das gerade durch. Und jedes Mal, wenn wir diesen Druck
durchgehen, erhöhen
wir dieses I um eins. Und sobald es
zehn ist, sind wir damit fertig. Nun, lass uns spielen und
sehen, was passiert. Und Sie werden sehen können, ob wir die Leistung
ein wenig erweitern. 1 234-567-8910, genau das, was
wir erwartet hätten. Aber wir erhöhen dieses I jedes Mal
um eins, wenn
wir eine Runde beendet haben. Also fangen wir hier von vorne an. Wir sagen, okay, ich bin
gerade einer. Der Rest geht
uns im Moment nichts an weil ich nicht zehn bin oder
er kleiner als zehn ist. Also sagen
wir, es geht uns völlig gut. Und dann drucken wir
I aus, was in der Tat eins ist. Wir kommen zum Ende. Also kehren wir
zur For-Loop zurück. Wir sagen, okay, jetzt ist
ich um eins erhöht, also jetzt bin ich zwei
und so weiter und so weiter und
so weiter, bis wir zehn sind. Und dann sagt der Loop: Oh, sieh dir das an. Es ist jetzt zehn. Also sind wir fertig. Und das nennt man in diesem Fall
einen For-Loop. In der Tat sehr interessant. Jetzt können wir auch eine
andere Art von Schleife haben. Lass mich das
Spiel für einen Moment unterbrechen. Und wir können eine
andere Art von
Grippe haben und das ist eine Zeitschleife. Also können wir zB
eine lokale Variable x
hier haben , das sind drei. Und dann können wir sagen, während und wir können sagen, solange x
kleiner oder gleich zehn ist, dann werden wir
etwas tun , bei dem es
in Reihe
einen expliziten booleschen Ausdruck gibt
, der wahr sein muss. Und obwohl das stimmt, werden
wir
das jetzt tun, während Schleifen bekanntermaßen anfällig für
die folgende Sache
sind, und das ist eine Endlosschleife. Eine Endlosschleife passiert, wenn Sie dies, aus welchem
Grund auch immer,
nie verfälschen können. Also, wenn x immer
kleiner oder gleich zehn ist, dann geht diese
While-Schleife, wird sie ewig andauern. Ich glaube, wenn ich
mich richtig erinnere, Lula und zusätzlich haben
Lula und zusätzlich
Roblox Studio dafür eine Art
eingebaute Ausfallsicherung, sodass Ihr gesamtes
Roblox Studio diesem Fall
nicht abstürzt. Aber ich empfehle
dir trotzdem,
das nicht auszuprobieren , weil es irgendwie nervig
ist. Also hier können wir z.B. sagen, okay, wir werden einfach jedes Mal x um
eins erhöhen und
dann sollte es uns
völlig gut
gehen jedes Mal x um
eins erhöhen und
dann sollte es uns , denn
wenn wir das um eins erhöhen, wird es natürlich wenn wir das um eins erhöhen, irgendwann größer als x
sein, oder? Wenn wir also einfach
drucken sagen können und das ist eigentlich
auch x ausdrucken, dann wäre
y nichts der Fall. Und lass es uns tun, bevor
wir es erhöhen. Also drucken wir
drei bis zehn aus. Und dann sollten wir auch außerhalb des Geschehens
sein. Also lassen Sie uns
hier drüben außerhalb des Loops
noch einen Druck machen . Und lass uns das spielen und
mal sehen, was hier passiert. Und natürlich 3-10, wo außerhalb der Schleife,
absolut keine Sorgen. Das können wir auch, und das
ist nur ein Beispiel. Darin drin. Egal, ob wir uns innerhalb
einer While-Schleife oder einer
For-Schleife befinden. Stimmt es? Nehmen wir an, wir wollen so
sein, okay, weißt du was? Wenn x sieben erreicht, wollen wir eigentlich
Folgendes tun und wir machen Schluss. Break ist ein weiteres Schlüsselwort
, das
sofort
aus der Schleife ausbrechen wird sofort
aus der Schleife ausbrechen als ob wir
das Ende der Schleife erreicht hätten. Und das heißt nicht, dass
wir dieses Ende erreichen. Wir sind wie außerhalb des kleinen Vogels,
der herausspringt. Wir können auch continue verwenden. Und das würde so tun, als ob wir hier
das Ende erreicht hätten. Das wird also die Runde fortsetzen. Dadurch wird der Kreislauf unterbrochen. Damit sind
wir zu diesem Zeitpunkt im Grunde genommen außerhalb
des Geschehens.
Das ist die allgemeine Idee. Wenn wir hier also Pause verwenden, haben wir
drei bis sieben Ausgänge. Sie können, oder in diesem
Fall sogar sechs , weil wir
x ausgeben, bevor wir es erhöhen. Also x ist sechs, es wird, es wird auf sieben
erhöht. X7, wir brechen aus und
deshalb haben wir 345,6. Und dann sind wir außerhalb des Geschehens. Wenn wir hier weitermachen
würden, würde
eigentlich
nichts
anders sein als
zuvor, denn
danach ist nichts
anders sein als nichts mehr relevant, wenn die
Aussage relevant ist. Wenn wir es hier jedoch ganz
am Anfang platzieren würden , wäre es
jetzt
interessant, weil jetzt sieben nicht ausgegeben
würden. Wenn wir das jetzt sehen, können
Sie plötzlich sehen,
was passieren würde, dass wir in eine Endlosschleife
geraten würden. Nun, das ist natürlich App. Sie können also sehen, dass wir
die zulässige
Ausführungszeit ausgeschöpft haben , denn was
hier passiert , ist, dass x sieben ist
und wir dann sagen, okay, lass uns weitermachen und
dann ist es wie Übung. Lass uns weitermachen, Lass uns weitermachen, Lass uns
weitermachen, Lass uns weitermachen. Und das so lange, bis
in diesem Fall die zulässige
Ausführungszeit erreicht ist. Das sind 10 s, wenn wir das richtig sehen
können, also beträgt der Zeitunterschied
hier 10 s. Theoretisch kann das
also passieren. Deshalb sollten Sie damit vorsichtig
sein. Also könnten wir z.B. so
etwas machen. Also das Drucken passiert
danach und dann passiert das, was der Anstieg
hier ist, vorher. Wenn wir also damit zu tun hätten, dann springen wir plötzlich 6-8 und in diesem Fall über
sieben. Das ist also eine weitere
interessante Idee. Und dann
haben wir auch eine Wiederholungsschleife, die der
While-Schleife ziemlich ähnlich ist . Was wir im Grunde
machen, ist das Gegenteil. Also sagen wir im Grunde: Hey, wir wollen
den folgenden Code wiederholen , bis
etwas stimmt. Das ist so ziemlich, es
entspricht fast dem While-Loop, aber es ist ein bisschen anders. Und das ist so geschrieben. Das ist so ziemlich
alles über Loops. Oder sie können interessant sein. Das sollte so
ziemlich alles sein, oder? Zusammenfassend lässt sich sagen, dass Schleifen eine
unglaublich einfache und
effiziente Methode sind unglaublich einfache und
effiziente Methode , Code, den Sie wiederholen
möchten x-mal zu wiederholen,
es gibt für Loops, while Loops und
repeat until Loops. Und das sind, glaube
ich, die drei Hauptversionen. Es gibt auch ein paar
interessante Sachen
für Loops, für die wir später alle vier Loops
sehen können. Aber insgesamt sind das
im Grunde die großen Drei. Und sie können in der Tat sehr,
sehr interessant sein. Ich empfehle daher dringend ein bisschen
damit
herumzuspielen. Wenn Sie eine
kleine Herausforderung suchen, ist
dies nur eine
Herausforderung für Sie selbst. Du kannst das
auf 100 erhöhen und die Zahlen
1-100
ausdrucken und dann
genau das tun , was ich dir
gesagt habe, und im Grunde sagen:
Hey, wir wollen nur
Zahlen ausdrucken , wenn sie durch zwei
teilbar sind. Also wenn ja, ob es gerade sind oder
wenn es keine gibt. Also das sollte eigentlich
ziemlich einfach sein mit der
If-und-Else-Vorlesung und der Loops-Vorlesung, das
solltest du können. Ich kann
Ihnen nur empfehlen, dies auszuprobieren. Es ist eine sehr unterhaltsame Übung. Unabhängig davon hoffe ich, dass Sie das nützlich
fanden
und Sie
etwas Neues lernen werden . Wir sehen
uns alle in der nächsten Vorlesung. Also, ja.
12. (Lua) Funktionen in Lua: Ordnung, willkommen
zurück auf der Toilette oder hier zur
Einführung in
den Roadblocks-Kurs. Und in dieser Vorlesung werden
wir uns Funktionen ansehen. Also habe ich dieses Wort
ein paar Mal gesetzt. Lassen Sie uns hier ein neues Skript
erstellen und es
in 09 Dash Functions umbenennen , und natürlich auch 09
Funktionen hier. Nun stellt sich die Frage,
was sind Funktionen? Nun, als übergeordnete Übersicht können
Sie im Grunde
mehrere Befehle anstelle
einer Funktion eingeben mehrere Befehle anstelle und diese Funktion dann immer ausführen,
anstatt all
diese verschiedenen Dinge zu tun . Als übergeordnetes Beispiel
können wir eine Funktion schreiben. Sie können sehen, dass dies ein Schlüsselwort und dann ist dies der
Name der Funktion. Nennen wir das einfach
Kochen, oder? Und dann können wir hier sogar
etwas eingeben, also schreiben wir den Namen dieser Funktion und
dann haben wir Klammern. Sobald Sie
die offene Klammer eingeben, sollte
die schließende Klammer automatisch
generiert werden. Und hier können Sie dann bestimmte Argumente vorbringen. Diese werden Parameter genannt, sind Parameter und sie können an die Funktion übergeben
werden, wodurch die Ausgabe geändert wird. Also in unserem Codierungsbeispiel hier, lassen Sie uns hier einfach
nichts eingeben und eigentlich
einfach zum Ende gehen, die Eingabetaste drücken und
dann das Ende hier, wir
generieren wieder automatisch. Das ist dasselbe
, was wir auch bei
den Loops und den Anweisungen if und
else gesehen haben . Und hier drinnen, wenn wir etwas kochen,
kann ich jetzt verschiedene Dinge hineinlegen. Nun, in diesem Fall wird es
nicht funktionieren. Ich werde nur
Kommentare machen, damit Sie Vorstellung von einer Funktion
bekommen. Was ist eine Funktion, oder? Also jedes Mal, wenn wir kochen wollen, wollen wir
vielleicht tatsächlich etwas Bestimmtes
kochen. Also sagen wir einfach, sagen wir
einfach, wir
nennen das Kochessen
der Argumentation halber, oder? Und jedes Mal, wenn ich Abendessen kochen
möchte, muss
ich ein paar Dinge tun, oder? Also muss ich Besteck rausholen, ich muss vielleicht den Ofen
vorheizen. Ich muss
Gemüse schneiden, solche Dinge. Es gibt also bestimmte
Dinge, die ich immer tun
muss , wenn ich
diese bestimmte Funktion ausführen möchte, oder? Diese spezielle Sache. Und Sie können
sie alle innerhalb einer Funktion auflisten. Und dann müssten wir, anstatt
jede einzelne Anweisung einzeln zu schreiben ,
wenn
wir
dies mehrmals tun würden, immer
jede einzelne Anweisung lesen. Und das ist Wahnsinn. Im Grunde
ist eine Funktion ein Container
, in den Sie in diesem Fall mehrere
verschiedene Zeilen
einfügen können , die dann ausgeführt werden. Nun, dies ist ein allgemeines
Beispiel, an dem Sie sich ein Bild machen können. Hoffentlich. Schauen wir uns nun ein
konkretes Beispiel an. Ein konkretes Beispiel
könnte also eine Summenfunktion sein. Wir befinden uns innerhalb
der Klammer. Wir haben tatsächlich Nummer
eins und Nummer zwei angegeben. Und jetzt ist das Verrückte, wenn wir
diese num-Funktion aufrufen würden, wollen
wir tatsächlich, dass
etwas zurückgegeben wird. Wir können also Rückkehr sagen. Und Sie können sehen, dass dies
auch ein Schlüsselwort ist und wir
wollen Nummer eins plus Nummer zwei zurückgeben. Und das ist es, was jetzt zurückgegeben
wird. In diesem Fall haben
wir natürlich schon eine
Art Funktion, haben
wir natürlich schon eine
Art indem wir einfach den Plus-Operator
verwenden. Dies ist jedoch
nur ein Beispiel
für Sie, um Funktionen zu verstehen und zu verstehen warum sie
äußerst nützlich sein können. Denn jetzt können wir drucken und sagen, nun
ja, die Summenfunktion, oder? Und wir können einfach
einige drucken und dann 3.10 sagen. Und das ist, wie Sie sehen können, das ist, wir rufen
die Summenfunktion auf. Sie können sogar sehen, dass es hier
hervorgehoben wird. Wenn ich darauf
und innerhalb von hier klicke, können
wir eine Zahl
und eine weitere Zahl eingeben, und
diese werden hier summiert. Das sind also Parameter, die
wir als Parameter übergeben, Sie müssen immer die
richtige Anzahl an Parametern haben. Also wenn wir das tun, wenn ich das machen
würde, dann
bekommen wir hier zwar keine Probleme, wenn ich
das tatsächlich ausführen würde, würden wir ein Problem bekommen. Aber der Argumentation halber,
lass uns das einfach spielen. Und wir werden sehen, dass wir, wenn
ich mir die Ausgabe ansehe, versucht
haben, eine Addition für eine Zahl von
Null durchzuführen , denn wenn ich etwas nicht
richtig übergebe, dann ist das, was übergeben wird, Null. Jetzt haben wir
das schon einmal gehört, oder? Null, es war nur das
Fehlen eines Werts in einer bestimmten Variablen. Also müssen wir etwas
weitergeben. Und wenn wir
beide Zahlen hier eingeben würden,
dann könnten wir feststellen, dass die Summenfunktion 13 ausgibt, was genau das ist, was
wir hier erwarten würden. Nun, wenn Sie
tatsächlich etwas skripten, können
Funktionen natürlich viel
komplizierter werden,
aber das ist nur eine sehr, sehr kleine Einführung
in Funktionen. Wir werden sie sehen
, wenn wir tatsächlich mit Roblox selbst programmieren. Um es hier zusammenzufassen,
Funktionen, die Sie im Grunde
verwenden können, um
mehrere verschiedene Dinge zu stapeln und sie alle
nacheinander ausführen zu lassen. Dies kann auch
andere Funktionen beinhalten. Sie können auch zu
bestimmten Dingen und Funktionen zurückkehren. ZB haben wir
hier eine Summenfunktion , bei
der wir zwei Parameter übergeben. Und die werden dann
zurückgegeben, nachdem wir etwas mit ihnen
gemacht haben. Das ist ein allgemeiner
Überblick über Funktionen. Wenn Sie sich nicht ganz sicher sind,
wie Sie sie verwenden sollen, machen Sie sich keine Sorgen, das Wichtigste
ist, dass Sie in dieses
Thema
eingeführt wurden und wir in späteren
Vorlesungen auch mehr über
Funktionen erfahren
können mehr über
Funktionen erfahren
können . Ansonsten hoffe ich, dass Sie das
nützlich fanden und
etwas Neues gelernt haben. Wir sehen uns in
der nächsten Vorlesung. Also, ja.
13. (Lua) Tabellen in Lua: Okay, willkommen zurück
zur Klo-Einführung hier für die Roboterergebnisse
, dann zu dieser Vorlesung, wir
werden uns die Tabellen ansehen. Nun, Tabellen sind eine sehr
interessante Sache und sie können
ziemlich kompliziert sein, aber mach dir keine Sorgen, wird
uns gut gehen. Also lass uns
hier Tabellen und Hash-Tabellen machen und dann das
Gleiche hier drüben. Und das ist, Tabellen sind Tische. Die allgemeine Idee von
Tabellen ist im Grunde , dass Sie eine Art
Liste bestimmter Dinge haben. Also, wenn eine Tabelle natürlich ein bisschen
anders
ist als eine Liste, aber Sie können sie sich vorerst
als Liste vorstellen , damit wir etwas zum Testen
haben. Ich werde eine lokale
Variable namens days erstellen. Und in diesen Tagen wird
dies eine Liste aller Tage
von Montag bis Freitag sein. Zuallererst, Was
wir tun werden ist gleich und dann
eine geschweifte Klammer, die sich schließende geschweifte Klammer wird automatisch wieder
generiert. Und das wird in diesem Fall eine
Tabelle mit Zeichenketten sein. Also das wird das Montagskomma
sein, und dann haben wir Dienstag. Und kannst du dir vorstellen, was genau als Nächstes
kommt? Tag der Zeugen, so heißt
es Donnerstag und
dann haben
wir nicht zuletzt auch Freitag. Da hast du es. Das sind also im Grunde, naja, das
sind die Tage und wir
können jetzt Folgendes tun. Wir können drucken, oder? Und was wir drucken können,
ist, dass wir einen Tag drucken können. Und der Tag, an dem wir drucken ist, dass wir gut drucken werden, wie wäre es, wenn wir
ausdrucken wollten, sagen wir Mittwoch. Wie machen wir das? Nun, lassen Sie uns über
diesen Tag nachdenken, damit wir Tage einplanen können und Sie sehen, dass
er uns das sogar vorschlägt. Und wie
kommen wir nun tatsächlich aus einem unserer Todesfälle heraus? Nun, wir haben diese Klammer hier und die Erkenntnisse
können wir in eine Zahl eintragen. Und diese Zahl steht für den Index einer Seite
der Liste, oder? Das wird also
das Element von Index eins und X2 und X3 und X4 und X5 sein. Aber alle, Mittwoch, wir
machen drei und lasst uns einfach spielen und schauen, ob wir
Mittwoch rauskommen und tatsächlich einen Tag,
Mittwoch, das ist schon
ziemlich geil. Jetzt beginnt der Index hier
bei Eins statt bei Null. Das ist also nur
wichtig, wenn Sie bereits programmieren und wenn
Sie schon einmal programmiert haben,
normalerweise, wenn Sie
andere Dinge in anderen Sprachen
und anderen Programmiersprachen tun andere Dinge in anderen Sprachen , beginnen Indizes
normalerweise bei Null. Dies ist bei Lua nicht der Fall. In Lua
beginnt jeder Index bei eins. Das
ist sehr wichtig. Wenn Sie jetzt nicht
wissen, was das alles bedeutet, machen Sie
sich darüber keine Sorgen. Das ist in Ordnung. Ich sage nur, dass es für Leute, die schon einmal
programmiert haben, eine sehr, sehr wichtige
Sache ist, die es zu beachten gilt. Jetzt
haben wir natürlich einen Ausgang, aber was ist, wenn wir vielleicht
wollen, wir geben alles aus. Das wird also
etwas komplizierter aussehen, aber wir haben einen
For-Loop, den wir
verwenden können ,
der im Grunde alles innerhalb
dieser bestimmten Tabelle ausgibt. Nun, es gibt zwei verschiedene
Dinge, die wir tun können. Wir können entweder einen normalen
For-Loop verwenden , genau
da, wo wir sind Hey, ich möchte bei
eins anfangen und ich möchte bei aufhören. Dies ist ein sehr
wichtiger Hashtag-Tag. Das wäre also die Länge
dieser speziellen Tabelle. Zum Beispiel, wie viele Elemente
sind in dieser Tabelle? Ich möchte um eins erhöhen. Dafür will ich machen und
dann einfach Tage ausdrucken. Noch einmal Klammern. Ich habe gesehen, dass dies theoretisch am Montag,
Dienstag, Mittwoch,
Donnerstag, Freitag ausgegeben werden
sollte . Das sollte völlig in Ordnung sein. Mal sehen, ob das funktioniert. Und natürlich Montag,
Dienstag, Mittwoch,
Donnerstag, Freitag. Absolut, keine Sorge. Und es funktioniert völlig gut. Das ist ziemlich cool. Es gibt einen zweiten Weg
, wie wir das tun können. Das funktioniert absolut, aber es gibt einen anderen Weg
, wie wir das machen können. Jetzt dieser, ein
bisschen komplizierter. Der Grund, warum
die andere interessant sein
könnte,
ist jedoch , dass die Tabellen
derzeit dem Index
zugeordnet sind. Also im Grunde ist das
rot, das ist eins, das sind zwei, das sind drei, das sind vier, das sind fünf. Theoretisch könnte ich
machen, was ich will. Also ich könnte, und
ich werde einfach, ich werde einfach verrückte Sachen machen. Sagen wir einfach, a
ist gleich dem, C ist gleich dem, d ist gleich dem und dann ist
F gleich dem. F ist E. Eigentlich hast du es. Sie können also sehen, dass
es hier keine, nein, es gibt
keine Fehler, weil
sie jetzt verschiedenen Schlüsseln zugeordnet sind, oder? Also
das Verrückte ist, wenn ich das behalten würde und ich spiele es, dann wirst du feststellen,
dass ein Tag gleich Null ist. Und wir geben auch
nichts aus weil es kein gibt,
das ist alles Null. Es, das funktioniert nicht. Aber so gut
müssen wir das Schlüsselwertpaar
bekommen. Weil wir
diese Tabelle
im Grunde von einer normalen
Liste, in der Sie über den
Index auf
die Elemente zugreifen können, in eine Art Wörterbuch oder
eine Map umgewandelt diese Tabelle
im Grunde von einer normalen
Liste, in der Sie über den
Index auf
die Elemente zugreifen können , in eine Art haben
, die einen Wert einem anderen Wert
zuordnet. Jetzt können wir also eine For-Schleife
mit einem Schlüssel und einem Wert machen, und zwar
paarweise in der Tagestabelle. Dann werden wir etwas tun. Aber das sieht ziemlich verrückt aus. Die allgemeine Idee
ist jedoch, dass dies das Neue ist. Was wir nehmen ist,
dass
wir einen Schlüssel bekommen , der immer das Erste ist,
was hier ist, oder? Also a ist gleich, das ist der Schlüssel und der Wert ist was
darin geschrieben steht, oder? Vorher war der Schlüssel also
nur der Index 1.234,5. Und jetzt ist der Schlüssel a, B, C, D und E. Das ist das
einzige, was sich geändert hat. Und wenn wir Folgendes
tun würden, wenn wir jetzt Tag oder
sagen wir, sagen wir Schlüssel machen würden. Und dann drucken wir
den Schlüssel aus. Und ich werde den Wert berechnen und dann den Wert ausdrucken. Sie werden feststellen
, dass dadurch der
Schlüsselwert Montag usw. ausgegeben wird . Aber lass uns das einfach spielen. wird Schlüssel a den Wert Montag sehen, Schlüssel C ist Mittwoch Interessanterweise wird Schlüssel a den Wert Montag sehen,
Schlüssel C ist Mittwoch, und das ist auch eine sehr wichtige Sache. Es ist nicht mehr in Ordnung. Ist das nicht verrückt? Nun, das ist in der Tat der Fall. Also lass uns das einfach noch einmal spielen. Wie wir sehen, hatten wir Montag, Mittwoch, Dienstag,
Freitag, Donnerstag. Lass uns das noch einmal machen und wir
bekommen wieder die gleiche Bestellung. Dies ist eine weitere äußerst
wichtige Lektion, denn wenn wir diese
Paare hier verwenden, ist
die Reihenfolge, in der wir sie gespeichert
haben, nicht garantiert. Das ist extrem
wichtig und
muss grundsätzlich beachtet werden. Es ist jedoch immer noch eine sehr,
sehr interessante Sache. Aber behalte das im
Hinterkopf, es ist sehr cool. Und wenn ich
den Wert der Schlüssel hier
nochmal löschen würde , oder? Und wir sollten das noch einmal
durchmachen. Was wird der Schlüssel sein? Nun, es ist genau 12345. Jetzt ist die Reihenfolge korrekt , weil ich mich dazu nicht
zitiere. Ich bin mir nicht hundertprozentig sicher, aber
ich bin mir ziemlich sicher, dass die Schlüssel sortierbar
oder bestellbar sind, oder? Also 1234, es gibt eine bestimmte
Reihenfolge für diese Dinge, dann wird die Reihenfolge
immer so sein , wie du sie
im Grunde gespeichert hast. Und das ist ziemlich cool. In der Tat. Das ist aber nicht
alles, denn was
fehlt in diesen Tagen? Nun, natürlich fehlen Samstag
und Sonntag. Was wir also tun können,
ist, dass wir bestimmte Werte
in diese Tabelle
einfügen können . Wir können Table Dot machen und Sie können sehen, dass es eine
Menge Dinge gibt, die wir tun können, wir können bestimmte Dinge erstellen, wir können bestimmte Dinge
finden. Wir können sogar sehen, dass
der maximale numerische Schlüssel zurückgegeben wird. Es gibt verrückte Sachen. Wir können Dinge bewegen, wir können sie sortieren,
wir können sie klonen. Aber für unsere Zwecke möchte ich
eigentlich nur
etwas einfügen. Und das, was ich einfügen möchte, ist, dass ich in Tage einfügen möchte. Das ist also die Tabelle, in die
wir einfügen wollen. Dann müssen wir das
Spezifische eingeben,
in diesem Fall möchte
ich das eigentlich an einer bestimmten Stelle platzieren. Also werde ich das auf Position Nummer sechs setzen. Und dann möchte ich
den Wert angeben. Und der Wert hier ist Samstag. Und was wir tun können, ist das
einfach zu kopieren. Und dann, in diesem Fall, auf Position
sieben, möchte
ich am Sonntag platzieren. Und wenn wir das jetzt
ausgeben würden, also noch einmal, kann ich einfach
nehmen, was ich will. Eigentlich nehmen wir
einfach diesen und dann
löschen wir ihn einfach von hier aus. Das wird okay sein, damit wir den Output hier
nicht überspannen. Lassen Sie uns spielen, und
Sie werden feststellen, dass wir
jetzt einen Schlüssel
sechs haben, der den Wert
von Samstag zurückgibt, und einen Schlüssel sieben, der den Wert von Sonntag
zurückgibt. In der Tat sehr interessant. Und dann noch eine letzte Sache hier. Jetzt weiß ich, dass das
ziemlich viel war und das sind viele neue Dinge auf
einmal. Mach dir überhaupt keine Sorgen. Wir werden in der
Lage sein, weißt du, du wirst in der Lage sein,
das ein
bisschen später mit Leichtigkeit
zu bewältigen . Was ich jedoch wie
immer
empfehle , ist,
damit einfach
ein paar Dinge auszuprobieren . Probiere es aus. Wenn Sie
hier verschiedene Werte haben, indem Sie
anstelle von Zeichenketten haben, können
Sie hier Zahlen eingeben. Und das ist übrigens auch eine
wirklich interessante Sache. Sie können sogar verschiedene Werte
von Variablentypen
kombinieren und kombinieren. Sie können hier Zahlen haben
und so weiter und so fort. Was eigentlich
sehr interessant ist , denn das bedeutet, dass Sie quasi einen Kurs haben können. Nun, das ist ein bisschen
fortgeschrittener und wieder
etwas für
Leute, die
bereits
in einer anderen Sprache programmiert haben . Also kannst du haben, also können
wir zB eine Person haben, die einen Vornamen
hat, z. B. John. Und es kann einen Nachnamen haben, der vielleicht Smith ist. Und dann kannst du sogar ein H
haben, oder? Welches ist vielleicht eine 32. Und jetzt
kann ich Person für Person drucken. Und dann wollen wir
FirstName eingeben, dieses y und dann wollen wir die Person
haben. Wir können auch Person
Dot machen, und das ist verrückt. Wir können sogar Person Dot machen. Und Sie können alle
drei verschiedenen Dinge sehen , die wir in
diese spezielle Tabelle aufgenommen haben. Wir können so ausgeben. Also können wir den Nachnamen eingeben
und dann können wir sagen,
ist, dass wir
Person.New Age, Jahre alt sagen können. Lassen Sie mich ein
wenig herauszoomen. Da hast du es. Also Person und was? Es wird den Vornamen der
Person ausgeben. So können
wir uns schreiben. Wir können auch so darauf zugreifen. Und wir haben nur ist und
dann das Alter, Jahre alt. Lassen Sie uns dieses LLS ausgeben,
das abspielen und sehen, ob das funktioniert. Und natürlich ist ihr Sohn John
Smith 32 Jahre alt. Absolut verdammt, großartig. Das ist wirklich cool und wir können natürlich noch ein
bisschen weiter gehen. Und jetzt ist das nur, ich möchte das
nur erwähnen. Wir können sogar eine
Tabelle mit Tabellen erstellen. Das bedeutet, dass
wir theoretisch mehrere Personen haben können und dann eine Liste
dieser Personen haben können. Wir werden das hier nicht
machen
, weil das absolut Wahnsinn ist. Dies würde
den Rahmen der
Lula-Einführung hier bei weitem sprengen. Ich wollte
dir Tische vorstellen. Sie können ziemlich kompliziert sein. Das kann ein
bisschen kompliziert sein. Das kann ein
bisschen kompliziert sein. Aber hoffentlich
konnte ich Sie dazu bewegen, zu verstehen, was hier
passiert. verstehen, was hier
passiert. Nochmals, ich
empfehle dringend , das
Skript hier mitzunehmen, das natürlich immer zum Download
zur Verfügung steht. Und du kannst das nehmen
und es einfach ausprobieren. Versuche, verschiedene
Dinge damit
zu machen, Dinge an
verschiedenen Stellen
einzufügen, Dinge einzufügen, die um
die Person hier herum liegen. Ich kann
nur empfehlen, das zu tun und zu versuchen, ein Gefühl
dafür zu bekommen, wie das funktioniert. Aber noch einmal, um die
Gesamttabellen zusammenzufassen, oder es können Listen von Dingen sein , die bestimmte Schlüssel
und bestimmte Werte haben. Wenn Sie die Schlüssel nicht angeben, sind die Schlüssel nur
eins bis unabhängig der Anzahl der Elemente, die sich in diesem Fall in dieser Tabelle
oder Liste
befinden . Und du kannst sie
mit zwei verschiedenen For-Loops durchspielen , zwei verschiedenen Arten
von For-Loops. Und das ist in der Tat
sehr, sehr cool. Wir können die Tabellen sogar verwenden, um so etwas wie
einen Kurs zu machen. In diesem Fall
ist es eine Person hier drüben , die einen
Vornamen und ein Alter hat. Und wir können das
auf zwei verschiedene Arten ausgeben. Nun, das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
14. (Lua) Die Math in Lua: Ordnung, willkommen zurück
zur Klo-Einführung hier für die Roadblocks-Cores. Und in dieser Vorlesung werden
wir über
die Mathematikbibliothek sprechen , oder? Also lasst uns natürlich noch einmal unser Script hier
erstellen, 11. Das wird mathematisch-liberal sein. Da hast du es. Und das wird 11
Mathe sein, das wird in Ordnung sein. Und das wird hier nur
eine sehr,
sehr kleine Einführung sein . Aber es könnte nützlich sein. Also haben wir natürlich schon ein paar
mathematische Dinge gemacht, oder? Wir haben addiert, subtrahiert, multipliziert, dividiert und wir haben sogar den Rest erhalten. Ziemlich verrückte Dinge
, die wir schon gemacht haben. Aber mit der Mathematikbibliothek
können wir noch verrücktere Dinge machen. Also, wenn wir z. B.
minus fünf drucken würden , aber wir
sagen, weißt du was? Eigentlich ist es mir egal
, ob es
minus fünf oder plus fünf ist oder nicht. Ich will dafür eigentlich nur die
absolute Zahl. Nun, wir können einfach den Mathepunkt
ausdrucken. Und du kannst hier
all die verrückten Dinge sehen , die wir
mit dieser Mathematikbibliothek im Grunde bekommen können. Wir können eine Zufallszahl bekommen. Das werden
wir gleich sehen. Wir können sogar Pi verrückt machen. Wir können den Exponenten machen,
wir bekommen den Kosinus, wir können einen
Winkel zurückgeben, den Sie im Bogenmaß
angeben, und er
wandelt ihn in Grad um. Wir bekommen den Logarithmus. Es gibt eine Menge Dinge, wie Sie deutlich
sehen können, dass wir das können. Und das kann äußerst nützlich sein um noch
mathematischere Dinge zu tun. Wenn du sagst, Oh, ich
brauche diesen Mathekram nicht. Nun, zum Beispiel ist es
wirklich nützlich, Dinge wie
die Sinuswelle zu haben . Denn was man mit einem Schild
machen kann, ist z.B. perfekte Kreise
zu machen und so Dinge in Kreisen zu verwischen. Ich sage nur, dass das eines der Dinge
ist, bei denen das
äußerst nützlich sein kann. Aber in diesem Fall wollen wir
eigentlich abs, was für absolut steht. Wir erhalten also den absoluten
Wert von minus fünf,
was, wenn wir nur spielen, natürlich fünf
ist, weil, nun, das ist
der absolute Wert. Dem absoluten Wert ist das Vorzeichen
egal. Es geht nur darum, nun, was ist der tatsächliche Wert? Es gibt noch andere Dinge
, die wir tun können. Also können wir zum Beispiel blaugrün rechnen. Das wird
also die Decke sein. Sie können sehen, dass
die kleinste Ganzzahl zurückgegeben wird, größer oder gleich x
ist. Was bedeutet das?
Okay, das klingt so, es viel verrückter klingt
als es tatsächlich ist. Wenn wir 10.21 eingeben, wird
es einfach zurückkehren,
naja, es wird versiegelt. Es wird also tatsächlich eine Ganzzahl
daraus machen,
was bedeutet, dass es auf die
nächste ganze Zahl
aufwärts gerundet wird . Wenn wir tatsächlich den anderen machen , der Boden sein wird, wird
das abgerundet. Wir können das also tatsächlich aufstellen, aufrunden und dieser
rundet ab, doppelt. Denken Sie daran, dass das
mit den normalen Rundungen
nicht abgerundet wird, oder? Also haben wir auch eine Runde. Dieser
läuft in diesem Fall auch ab, weil er
eigentlich richtig aussieht. Oder die Regel richtig? 0,5 bedeutet, dass Sie aufrunden und alles unter
0,5 rundet ab. Aber schauen wir mal,
das sollte 111010 sein. Uh, schau, ob das
tatsächlich der Fall ist. Und natürlich 111010. Perfekt. Und lassen Sie uns das beenden und
das noch einmal mit
0,5 machen und dann
sollte es 111011 sein. Und natürlich 111011, genau wie wir dorthin gekommen sind. Sie sind absolut perfekt. Genau so
funktioniert das, weil das die, sagen
wir mal, normalen
Rundungsregeln sind. Da hast du es. Das sollte also
hoffentlich Sinn machen. Wir können auch das
Minimum und das Maximum ermitteln. Das ist also auch, kann in der Tat
ziemlich nützlich sein. Also das ist min,
was im Grunde
bedeutet, dass es dir
die Mindestanzahl gibt. Du hast zwei Zahlen eingegeben, oder? Und es gibt eine kleinere
Zahl zurück, die als r Omega angegeben ist. Das sollte also
sehr sinnvoll sein. Und dann können
wir natürlich zwei logische Konsequenzen daraus ziehen, nämlich die maximale Zahl, die die größte Zahl zurückgibt. Sie können tatsächlich, da bin
ich mir ziemlich sicher, so viele
Zahlen eingeben, wie Sie möchten. Lass uns das einfach machen. Warum nicht 60? Ich meine, das würde nichts
ändern, das sollte theoretisch auch
funktionieren. Lass uns einfach sehen. Und das tut es in der Tat. Der erste ist eins und
der zweite ist 515. Das kann also
sehr nützlich sein, z. B. möchtest du
vielleicht
die höchste Zahl
für einen Highscore oder
so bekommen ,
die Min- und Max-Funktionen
können sehr nützlich sein. Aber lassen Sie uns auch Pi ausdrucken , weil White Hat und
nicht Power sondern Pi. Und dann können wir auch
die Quadratwurzel-Mathematik verwenden , dass SQRT die
Quadratwurzel von 25 ist. Pi wird also natürlich
3,141,
5265 sein , so etwas. Und dann sollte die Quadratwurzel
von 25 fünf sein. Mal sehen, wie
weit war ich mit Pi entfernt? 314-15-9265? Ich glaube, ich hatte recht. Ich glaube, ich sagte 649. Ich bin mir nicht sicher, aber
das ist im Grunde Pi. Und das ist natürlich mit
Präzision, das ist Amin. werde diese
Präzision in Spielen sowieso nie brauchen, ich bin mir ziemlich sicher, dass das
die Präzision ist , die
du dir holen wirst, der Umfang
des beobachtbaren Universums
innerhalb von Millimetern. Ich bin mir also ziemlich sicher
, dass das gut wird. Und dann ist die
Quadratwurzel von 25 natürlich fünf. Perfekt Der letzte geht. Sie können auch eine
gewisse Zufälligkeit haben. Nun ist es sehr wichtig, dass Zufälligkeit für den Computer immer pseudozufällig
ist. Im Grunde bedeutet das, dass
Sie es mit einem bestimmten Wert ausstatten. Und wenn Sie
Zahlen generieren, die immer
gleich sein werden, ist das dasselbe. Die Idee,
wenn man z.B. an die
Minecraft-Weltgenerierung als Beispiel denkt , kann
man sie in
einen Seed stecken und dann generiert
es immer
dieselbe Welt. Nun, wie funktioniert das? Das ist genau der Samen
, den du hineinlegst. Und dann sind die Werte, die man
herausbekommt, immer dieselben. Also können wir eine zufällige Zahl machen, das wird dir
eine Zahl geben, die Nummer 0-1. Und du kannst auch
Mathe Punkt Random machen. Und wir können da tatsächlich Sachen
reinstellen. Wir können also 0,10 eingeben
und
das sind die Unter - und
Obergrenzen, die Sie erreichen können. Also lass uns das einfach spielen
und wir können sehen , dass die erste Zahl 0,6 ist,
was auch immer, was auch immer, was auch immer,
was auch immer, und dann 42. Ich meine, was für eine perfekte
Zahl hier, um n zu bekommen. Wenn wir das beenden und
das nochmal spielen, werdet ihr feststellen, dass, oh, es sind genau die gleichen
Zahlen, und das ist genau die Sache, weil der Startwert derselbe ist
, oder? Also haben wir hier den gleichen
zufälligen Startwert. Wenn ich das ändere, bekommen wir
jetzt
ganz andere Zahlen. Sie können also sehen, jetzt erhalten
wir 0,0,69,57. Also, wenn du es in den Samen steckst ,
richtig, wenn du auch 100
hinzufügst, solltest du theoretisch genau
die gleichen
Zahlen bekommen wie ich. Und das ist die Idee
dieser Zufälligkeit oder der
Pseudo-Zufälligkeit. Das ist in der Tat ziemlich cool Wenn du das komplett
randomisieren willst,
brauchst du
normalerweise die Anzahl der Sekunden auf deinem Computer oder die Anzahl der Ticks
auf deinem Computer, denn das ist normalerweise
zufällig genug für einen Seed. Um es zusammenzufassen. Insgesamt sind die mathematischen
Funktionen, naja, es gibt reichlich und sie können dir viele
verschiedene Dinge bringen. Sie können absolute Zahlen, Sie können auf- und abrunden. Du kannst Minimax bekommen, und du kannst hier sogar einige
Konstanten wie Pi und
sogar Zufallszahlen bekommen , deren
Endspiele extrem nützlich sind. Und sie können dir einfach, sie können dir bei einer
Reihe verschiedener Dinge sehr helfen. Es sind morgendliche Feinde in einem bestimmten Gebiet
, die ein bisschen zufällig sind oder Feinden zufällige
Attribute verleihen. Alle möglichen Dinge.
Wirklich cool, oder? Aber damit sind
diese Vorlesung und auch die gesamte
untere Einführung abgeschlossen. Hoffentlich war dies eine gut
genug Einführung,
damit Sie sich hier mit Laura ein wenig vertraut machen können. Wenn Sie sich diesbezüglich immer noch nicht
sehr sicher fühlen , ist
das völlig in Ordnung. Es gibt zwei Dinge, die ich auf jeden Fall empfehlen
kann. Erstens, wenn es
bestimmte Themen gibt , über die wir
gesprochen haben und bei denen Sie
etwas wackelig sind, versuchen Sie, die
Vorlesung noch einmal durchzugehen und zu sehen, ob mit all den verschiedenen
Dingen,
über die wir bisher im Nachhinein gesprochen haben , sie
mit all den verschiedenen
Dingen,
über die wir bisher im Nachhinein gesprochen haben, jetzt etwas
einfacher zu verstehen sind. Zweitens, was ich nur
empfehlen kann ist, einfach mit diesen herumzuspielen, mit den verschiedenen Themen
, die wir haben. Spielen Sie einfach
ein bisschen mit den mathematischen Funktionen hier drüben herum, spielen Sie mit Tabellen,
spielen Sie mit Loops
und wenn- und Else-Anweisungen herum . Mit
nur diesen 11 Dingen, über die wir gesprochen haben
, können Sie bereits
viele Dinge tun . Auch wenn es vielleicht
nicht viel zu sein scheint. Ich sage dir, das ist die
Grundlage, auf der alles, jedes Spiel, im Grunde genommen
mit all diesen Grundlagen erstellt wird. Ja, natürlich gibt es auch
viele andere Dinge. Aber diese Grundlagen, wenn
Sie sie nicht verwenden können, dann ist alles
andere irrelevant weil Sie die Grundlagen, die
Grundlagen, kennen müssen. Sonst
funktioniert es einfach nicht gut. In dieser Hinsicht stoßen
wir auf echte
Hindernisse, falls dies für Sie
bisher nützlich war Ich würde mich über
eine Bewertung von Ihnen sehr freuen. Ansonsten sehe ich dich in
der nächsten Vorlesung. Also, ja.
15. (Roblox) Roblox Studio erklärt: In Ordnung, willkommen zurück
zu den Roblox-Ergebnissen. In dieser Vorlesung werden
wir uns
einige der Benutzeroberflächen von Roblox Studio ansehen . Das soll euch nur einen allgemeinen Überblick
geben, nicht auf
jeden einzelnen Button eingehen und was alles macht, denn dafür bräuchte man im Grunde ein
zweistündiges Video. Und
genau das hatte ich nicht im Sinn. Ich wollte dir nur jedes
der verschiedenen Fenster
hier
zeigen und ungefähr, was sie machen. Also entweder diese oder vielleicht ohne
die Ausgabe wird
ungefähr das sein , was du
sehen wirst, wenn du
Roblox Studio zum ersten
Mal mit einem benutzerdefinierten Spiel öffnest .
Das Erste, was ich wirklich
möchte, ist die
Ausgabe hier
anzusehen und hinzuzufügen, denn die Ausgabe ist eines
der wichtigsten Dinge, die wir während
des gesamten Kurses verwenden werden, weil sie uns im Grunde
ermöglicht geben alles, was wir
wollen, durch Skripte aus. Und hier
wird das angezeigt. Dann konzentrieren wir uns auf diesen
großen Bereich hier, der quasi
die Kameraansicht ist. Und du kannst sehen, dass ich
gerade im Auswahlmodus bin. Es gibt auch den Bewegungsmodus, den Skalierungsmodus und den Rotationsmodus. Sagen wir im Auswahlmodus. Und wenn ich
mit der rechten Maustaste darauf klicken würde, kann ich mich
jetzt bewegen,
wenn ich die Kamera bewege, aber ich kann mit dem
Scrollen des Mausrads hineinzoomen. Und wenn ich mit der linken Maustaste klicke, kann
ich tatsächlich
bestimmte Dinge auswählen. Sie können also sehen, dass es jetzt blau
umrandet ist,
was bedeutet, dass ich dieses Objekt
ausgewählt habe. Das ist die allgemeine Idee. Ich kann mich auch mit
WASD bewegen und mit E und Warteschlange
hoch, es geht rauf und runter. Sie können sehen, wenn ich die
Kamera oben rechts bewege, bewegt sich auch
der Würfel hier drüben, denn das ist ein
dreidimensionaler Raum, er wird
mit einem X-Wert,
einem Y-Wert dargestellt , und ein Z-Wert
davon ist nur ein dreidimensionales
Koordinatensystem. Ich kann hier auf die
Gesichter klicken und dann wird es zu diesem Gesicht
wechseln. Also kann ich zur Ansicht von
oben nach unten gehen. Und jetzt habe ich alles von oben nach unten
im Blick. Es könnte
für bestimmte Dinge nützlich sein, aber ich kann es auch jederzeit
auswechseln. Wenn ich ein bestimmtes Objekt auswähle, kannst
du sehen, dass es
im Explorer rechts, rechts aufleuchtet , sodass du sehen kannst, dass der
kleine Ort hier
drüben dann hervorgehoben ist. Und die allgemeine Idee ist
, dass ich auch einfach darauf
klicken kann und dann wird es
auch hervorgehoben. Also diese Idee des Entdeckers. Der Explorer
steht für alles
, was sich in unserem Spiel befindet, sowohl innerhalb der Spielwelt. Die Spielwelt ist
der ganze Workspace-Kram, oder? Wenn ich also hier
auf das Plus klicken würde, könnte
ich hier eine
Menge Dinge hinzufügen. Wir werden jetzt
nichts hinzufügen, aber ich könnte
wahnsinnig viele Dinge hinzufügen. Das ist im Grunde
alles, was wir sehen. Und dann gibt es noch
andere Dinge, oder? Es gibt also die
Beleuchtungsdienste eines Spielers, paar Sachen zum Lagern. Einiges wird auch in den Vorlesungen durch
die meisten
dieser Dinge
gehen . Aber vorerst ist
der Arbeitsplatz wirklich das
Wichtigste, was wir haben. Und vielleicht der
Server-Skriptdienst, in den wir vorerst
im Grunde alle unsere Skripte
laden werden. dann unten rechts etwas ausgewählt haben, Wenn wir dann unten rechts etwas ausgewählt haben, können
wir sehen, dass wir
einige Eigenschaften haben. Eigenschaften repräsentieren ein
bestimmtes Objekt, oder? In diesem Fall
hat dieser
spezielle Spawnort also diese besonderen Eigenschaften, genau wie Sie ein Mensch
sind, oder? Und Sie haben einen bestimmten Namen
, der eine Immobilie wäre, nur als allgemeine Idee. Und Sie können sehen, dass
verschiedene
Objekttypen unterschiedliche
Arten von Eigenschaften haben. In diesem Fall ist der
Spawnort also vom Typ Spawnort
und er enthält einige Daten. Sie können also sehen, dass dies ist, was ist Stift orange oder hat
dieser Name eine Größe? Das ist also Teil der
Transformation und hat einen Pivot, es hat ein bestimmtes Verhalten, es hat Kollisionen, es hat
einige Porteigenschaften und so weiter und so fort. Es hat sogar ein
Kraftfeld, das
für die Spawnorte spezifisch ist . Das Gleiche gilt für die Teams, da bin
ich mir ziemlich sicher. Es gibt also eine
Menge Dinge und Sie können hier sogar weitere
Attribute hinzufügen. So sehr, sehr interessant. In der Tat
werden wir uns auch in einer
zukünftigen Vorlesung mit Eigenschaften befassen. Und dann, um auch nur
einen kleinen
Überblick zu geben . Wenn wir das also auswählen und jetzt
in den Bewegungsmodus wechseln können, können wir das jetzt verschieben. Sie können also sehen, dass ich das jetzt bewegen
kann. Ich kann es auch skalieren. Ich kann mir die Skalierung vorstellen. Wenn wir die Umschalttaste gedrückt halten,
skalieren wir sie im
Grunde gleichmäßig. Wenn wir die Kontrolle behalten und
es in einer Achse skalieren, können
wir
es sogar so drehen. Und wenn du willst, dass das
einrastet, dann könntest du
das in der
Bewegung hier drehen, Raster ausrichten, und dann kann ich es jetzt nur um 45 Grad drehen. Ich kann es nur in Schritten von
einem Stern verschieben. Das ist die allgemeine
Idee hier. Die meisten dieser anderen
Dinge werden wir auch
während des Kurses sehen . Die Transformation könnte immer noch einige interessante Dinge
sein. Wenn wir also den
Spa-Standort erneut auswählen, können
Sie sehen, dass dies nicht
die Transformation hier ist. Wir können viel
detaillierter darauf eingehen, wie bestimmte Dinge zu
tun sind. Sie sehen also, ich habe einfach eine viel bessere Kontrolle über
alles, besonders wenn ich die Größe vergrößere. Sie können jetzt sehen, dass der
Umfang der Studie hier
tatsächlich in Zahlen dargestellt
wird , was wirklich großartig ist. So kann ich mit dem
Avatar des aktuellen Moments
sehr, sehr genau umgehen. Wir
brauchen hier eigentlich nichts. Das ist also nur, um Avatare hinzuzufügen, in diesem Fall um zu testen, nur um bestimmte
Dinge hier zu testen. Von hier aus können wir spielen, wir können einen lokalen Server
mit x Anzahl von Spielern starten. Wir können sogar
den Player-Emulator ändern. Es ist sehr interessant. Die Ansicht ist eigentlich
ziemlich wichtig, da wir
hier bestimmte Fenster aktivieren und
deaktivieren können. Und wie Sie sehen, gibt es
tatsächlich eine ganze Reihe von Vermögensverwaltern und
wir haben die Toolbox und wir haben den Objektbrowser und die Skriptanalyse
und die Befehlsleiste. Es gibt hier also eine
Menge Dinge, von denen wir die
meisten im Moment überhaupt
nicht brauchen. Das meiste Interessante ist die Toolbox
vielleicht
interessant sein wird. Hier
kannst du also bestimmte Dinge
von Roblox in
dein Spiel laden , oder? Sie können also Lichter hinzufügen, in
diesem Fall können
Sie sogar einige Plugins hinzufügen, oder? Sie können also Plugins hinzufügen. Manche von ihnen kosten, manche Roebuck, manche
nicht. Einige von ihnen sind kostenlos. Seien Sie jedoch immer vorsichtig,
wenn Sie Dinge von
anderen Leuten hinzufügen, die möglicherweise bösartigen Code
in ihren bösartigen Skripten enthalten. Das gibt es. Meistens ist das für
Dinge, die kostenlos sind. Schau dir immer an, wie
viele Bewertungen sie haben und auch, wie viele positive
Bewertungen die Hälfte sind, oder? Also etwas, das 91% positiv ist und mehr
als 100 Bewertungen hat , das wird
wahrscheinlich in Ordnung sein. Behalte das also im Hinterkopf
und wir können das schließen. Sie können ein Raster hinzufügen, das
jetzt eine Kraft ist. Dieses Raster
können wir als zweistufiges Raster
oder auch als 16. Notenraster erstellen. Das hilft dir nur zu
sehen, was passiert. Beim Wireframe-Rendern
werden im Grunde alle Volumenkörper
deaktiviert, Sie erhalten
nur ein
Drahtmodell von allem. Dies kann etwas
Rechenleistung sparen , da Ihr
PC im Grunde sehr langsam ist. Und dann hier die Plug-ins
,
wir werden vorerst keine Plugins
für die Vorlesungsreihe verwenden,
weil wir in der Regel
fast alles, was wir
brauchen, manuell oder selbst machen können . Es gibt jedoch
einige verdammt coole Plug-ins, die verfügbar
sind. Aber darauf
werden wir uns vorerst nicht konzentrieren, oder? Und das ist ein allgemeiner Überblick. Wie ich schon sagte, wir könnten vorerst auf alle möglichen
Dinge bis ins kleinste Detail eingehen, wir werden damit klarkommen. Und wir werden dann im Grunde von hier aus
einen Schritt nach dem anderen machen. Aber das
war's für diese Vorlesung hier bis zum nächsten Mal. Also, ja.
16. (Roblox) Referenz eines Teils: Ordnung, willkommen zurück
zu den Roblox-Grundlagen hier für den Robotik-Kurs. Und in dieser Vorlesung werden
wir uns Teile
ansehen und herausfinden, wie
man sie referenziert. Was sind also Teile, während
Poren sozusagen
alles sind , was im
Arbeitsbereich existiert. Wenn wir also hier auf
diesen Teil klicken, können
Sie sehen, dass wir einen neuen Port
erstellen. Wir können das wieder löschen. Wir können auch zum Plus
am Workspace gehen und bis zum Port
runter gehen oder wir können einfach einen
Teil hineinlegen und Sie können einen Teil sehen und dann wird auch
ein neuer Teil für uns erstellt , wenn
wir diesen Port haben. Wir können das jetzt verschieben
und verschieben. Und wir können all die Dinge tun , die wir bisher gesehen haben, oder? Wir können uns bewegen und
diesen Port skalieren. Wir können das größer machen,
wir können es kleiner machen. Wir können das regeln. Es gibt also viele Dinge, die wir mit diesem
speziellen Port machen können. Und es wird in
der Tat
sehr interessant , jetzt
heißt dieser Port. Und was wir vielleicht tun
möchten, ist, dass wir in
einem Skript
darauf verweisen möchten, oder? Es gibt also eine Reihe von
Möglichkeiten, wie wir das tun können. Vorerst. Wir werden fast alle
unsere Skripte anstelle des
Server-Skriptdienstes
erstellen , was das zu einem Serverskript machen wird , oder? Dies wird nur auf dem Server
ausgeführt. Die Unterschiede
zwischen Servern und Clients werden in den kommenden Jahren etwas
mehr
darüber sprechen ,
als winziger Überblick im Allgemeinen, der Server ist im Grunde das,
was Roblox kontrolliert. Das ist wie irgendwo
auf einem Server, irgendwo auf Roblox-Land, dass du
damit nichts zu tun hast. Sie sind der Kunde, also ist
Ihr PC der Client. Wenn du dich mit einem Spiel verbindest, verbindest
du dich mit einem
dieser Server und dein Client kann offensichtlich nicht alles
tun, oder? So kann der Kunde die Anzahl der
Münzen
ändern, die Sie haben. Denn wenn du
das machen könntest, könntest
du einfach eine Taste
drücken
oder ein benutzerdefiniertes Skript erstellen
und du denkst,
Oh, ich habe 1.000 Münzen und dann die Server
so, ja, absolut. Du hast 1.000 Münzen.
Also muss es
unabhängig davon eine Entkopplung geben, momentan
eine Art Skriptdienst. Wir werden ein neues
Script erstellen, ich nenne es. Wir wählen
diesen F2-O2-Strich und nennen ihn
die Referenz. Ligo wird dies
noch einmal vergrößern und wir
werden dies als referenzieren einen
Teil im Workspace bezeichnen . Das wird in der Tat sehr
interessant sein. Es gibt also ein paar
Dinge, die wir tun können. Nehmen wir also an, wir möchten auf die Grundplatte
verweisen. Wir können das schaffen. Lassen Sie uns einfach eine lokale
variable Grundplatte erstellen und das entspricht dem Spiel. Wir wollen also immer
mit Kleinbuchstaben beginnen. Das ist sehr wichtig,
und jetzt kannst du sehen,
dass ich alles, was ist, anstatt hier zu bekommen. Das Spiel ist also im Grunde die
Wurzel des Explorers. Du kannst sehen, dass ich Spieler habe, und das ist dieser Typ hier drüben. Ich kriege einen Arbeitsplatz mit diesem Typen. Und jetzt gibt es noch eine
Menge anderer Dinge, ich frage mich, ob Sie einen Arbeitsplatz
haben. Noch einmal, sehr wichtig. Das Gehäuse ist hier wichtig. Behalte das immer im
Hinterkopf. Ein Arbeitsbereich mit einem kleinen W sieht vielleicht
so aus , als ob er funktionieren könnte,
aber er wird nicht funktionieren. Also behalte das im Hinterkopf. Stellen Sie immer sicher, dass das
Gehäuse korrekt ist. Das und jetzt plötzlich kann
man sehen, dass es
eine Menge Dinge gibt, aber es gibt auch eine Kamera,
die genau hier ist. Und da ist Teil eins. Schau dir das an. Das ist cool, ist
das derselbe Port? In der Tat ist es so. Und der Name hier
muss genau übereinstimmen. Wenn ich das umbenenne,
wenn ich darauf klicke, drücke F2 und benenne den Port in den Kleinbuchstaben p
um. Das funktioniert nicht mehr. Jetzt können Sie sogar sehen, dass
es uns einen
Port mit Kleinbuchstaben vorschlägt,
da dies der Name
des Teils ist , auf den
wir verweisen. Es muss exakt übereinstimmen. Ich weiß, dass ich
an diesem Punkt feile, aber es ist extrem wichtig weil ich
immer wieder gesehen
habe , dass die Leute
einfach das Gehäuse gewechselt haben. Das Gehäuse ist wichtig. Okay, jetzt referenzieren wir den Teil mit dem
Kleinbuchstaben p, oder? Okay, das ist in Ordnung. Als Grundplatte wollen wir das
nicht. Wir wollen uns eigentlich
auf die Grundplatten beziehen. Also im Grunde genommen, da hast du es. Ich kann
das mit der Tabulatortaste automatisch vervollständigen. Jetzt habe ich auf
die Grundplatte verwiesen. Ich kann Dinge damit machen. Nun, okay. Aber was ist mit meinem Teil
, auf den ich verweisen möchte? Nun, wir
sagen wieder lokal. Und dann nennen wir es meinen Teil da es nur
der Name der Variablen ist
, der sich vom Namen
des Objekts des Teils unterscheidet . Das ist auch sehr wichtig. Das ist es, was dargestellt wird. Fügen Sie den Code ein, solange dies der eigentliche Teil des physischen Objekts ist. Und noch einmal, wir
sagen Game Workspace und dann Port, nicht Parent. Eigentlich wollen wir
parken. Da hast du es. Und jetzt können wir Dinge
mit einem Port machen, weil das Teil verschiedene
Arten von Eigenschaften hat. Wir können diese Eigenschaften
innerhalb des Skripts ändern. Wir können also meinen Teil sagen, die Variable ist, die
auf diesen bestimmten Teil verweist. Das, und jetzt kannst du sehen, dass
ich die Position ändern kann, ich kann den Namen,
die Drehung, die Farbe ändern . In unserem Fall ändern wir
einfach die Transparenz auf 0,5. Und dann machen wir auch
meinen Teil Punktfarbe. Und dann können wir das
in eine Farbe mit drei Punkten ändern. Und dann machen wir einfach so
etwas wie eine Weile wir können
die Farbe genau hier ändern. Also suchen wir uns einfach ein schönes Blau
aus. Ja, das ist nett. Das
generiert diese Farben also nur automatisch. Du kannst sehen, wenn ich
auf die Höhe klicke, wenn ich auf Samstag klicke, wie du siehst, die
Farbe genau hier, und du kannst auf das
Farbrad klicken, um die Farbe zu ändern,
was in der Tat sehr, sehr cool ist. Was passiert nun, wenn wir das Spiel tatsächlich starten? Nun, lass uns einfach
in die Spielansicht gehen. Wir belauschen den Port
gerade , es sieht völlig normal aus, aber wenn ich das Spiel starte, sollte
das zu 50
Prozent transparent sein. Es sollte also zu 50% transparent sein
und blau werden. Lass uns einfach das Spiel spielen und mal sehen wo,
anstatt das Spiel. Und wenn ich hier rumgehe, können
Sie sehen, dass es
jetzt ein bisschen transparent und blau ist,
genau das, was wir wollten. Wenn wir in den Arbeitsbereich gehen, können
wir den
Teil sogar hier sehen. Es hat jetzt eine andere Farbe
und die Transparenz beträgt 0,5. In der Tat ziemlich cool, ich
sehe , wenn wir das Spiel nicht mehr
spielen, wird es
in diesem Fall im Grunde auf
seine ursprünglichen Eigenschaften zurückgesetzt , denn wenn wir sie
anstelle des Skripts ändern, werden
sie nicht dauerhaft geändert. Das wäre also eine
Möglichkeit,
über den Namen hier auf
ein Teil in einem Workspace zu verweisen . Nun nochmal, es ist
extrem wichtig, dass wenn ich die
Namen hier ändere um z.B. meinen coolen Teil oder? Nun, wenn ich das jetzt spielen würde, was würdest du denken, passiert? Nun, wir beziehen uns auf
etwas, das Teil genannt wird. Lass uns einfach spielen. Und wir werden sehen, dass dieser Teil kein
gültiges Mitglied von
Works ist gültiges Mitglied von oder kein
Development-Mitglied von Workspace ist. Workspace und es hat weder
seine Farbe noch seine Transparenz geändert weder
seine Farbe noch seine Transparenz , da das Teil jetzt Mike Cool Part
heißt .
Also behalte das im Hinterkopf. Wenn Sie diesen
Fehler genau hier erhalten, bedeutet
das einfach, dass
Sie wahrscheinlich auf etwas verweisen
, dessen Name geändert wurde. Wenn wir sicherstellen, dass wir
das machen, können wir plötzlich, wenn wir das spielen,
sehen wir , dass wir keine Fehler
bekommen. Und wieder bekommen wir unseren
blauen Teil, der transparent ist. Ziemlich cool,
richtig, um es zusammenzufassen, wie gesagt, achtet darauf, die Dinge richtig zu
benennen. Du kannst game
dot workspace dot verwenden, egal wie der Name deines Ports lautet, auf den du verweisen möchtest. Stellen Sie sicher, dass diese sicherstellen , dass das Gehäuse
immer korrekt ist. Und dann können Sie auf
die Eigenschaften zugreifen , indem Sie
Ihre Teilvariable Punkt eingeben. Und dann können Sie
auf alle Arten von
Eigenschaften zugreifen , die
Teil dieses speziellen Teils sind. Und du kannst
sie mit einem Drehbuch ändern, aber das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und die Benachrichtigungen und die neue Wir sehen uns alle in
der nächsten Vorlesung. Also, ja.
17. (Roblox) Arten von Skripts: Lassen Sie uns
hier mit
den Grundlagen von Roadblocks fortfahren . Folgen Sie dem Roblox-Kurs und in dieser Vorlesung werden wir
uns die verschiedenen
Arten von Skripten
ansehen . Wir haben das also schon
einmal gesehen, wenn wir ein neues Skript im
Server-Skriptdienst
erstellen, es wird im Grunde häufig verwendet sagen Script und Modulskript. Es gibt jedoch
eine andere Art von Skript. Wenn wir das hier einfach eingeben, werden
Sie sehen, dass
es auch ein lokales Skript gibt. Das normale Skript hat leider anscheinend
keinen Tooltip, das lokale Skript
jedoch. Sie können also sehen, dass ein lokales Skript
ein Skript ist , das auf dem
Client und nicht auf den Servern läuft. Die Logo-Skripte können also unter den
folgenden Dingen
platziert werden . Rucksack eines
Spielers, das Charaktermodell eines Spielers, eine Verwendung der GUI, das
Spielerskript und der replizierte
erste Dienst, das Modulskript, ist ein Skriptfragment
und es wird nur ausgeführt wenn andere Skripts
die Requirements darauf verwenden. Das ist also interessant. Und das Drehbuch, naja, das ist
nur ein normales Drehbuch. Bisher haben wir
normale Skripte unter dem
Server-Skriptdienst verwendet . Und das wurde dann sowohl auf dem Server als auch auf
dem Client
ausgeführt. Das ist die allgemeine Idee. Jetzt gibt es einige
Dinge, von denen Sie
nur möchten, dass sie auf dem
Client passieren. Das sind hauptsächlich Dinge, die im Grunde kundenspezifisch
sind. Also vielleicht Bilder, oder? Vielleicht möchten Sie einem bestimmten Client
Bildmaterial hinzufügen. Das ist so ziemlich etwas, was
du mit dem Klienten machen willst. Lokale Skripts oder Client-Skripts. Sie können über Remote-Ereignisse mit
einem Server kommunizieren . Aber das ist
eher ein Zwischenthema für
Fortgeschrittene, über das wir jetzt
nicht sprechen werden. Aber die allgemeine
Idee ist, dass
wir ja lokale Skripte haben können. Wenn wir uns also noch
einmal
ansehen würden , wo wir das hinzufügen können, würden
ein Rucksack, ein Charaktermodell, ein GYE, ein Spielerskript den ersten Dienst
replizieren. Was wir also tun können, ist dies zuerst der
Replikation
hinzuzufügen. Du kannst sehen, dass es sogar
sagt: Hey, lokales Skript. Und wenn wir das machen
und einfach drucken, drucken, Hallo, die Welt ist
eigentlich völlig in Ordnung. Lassen Sie uns das umbenennen und ich sage in diesem Fall das lokale
O3-Skript. Und dann nur ein lokales
Skriptbeispiel in diesem Fall, wir
drucken einfach Hello World und wir werden
sehen, ob wir das spielen, es wird ausgegeben. Aber jetzt, und das
ist eine entscheidende Sache. Wir haben jetzt Kunden hierher gebracht. Das hatten wir also vorher
nicht, oder? Wir erhalten jetzt tatsächlich
etwas vom Kunden. Und das ist extrem wichtig wenn wir einfach auf den
Referenzpunkt hier
drüben eingehen und HelloWorld drucken würden Referenzpunkt hier
drüben eingehen und , genau das Gleiche, nur der Argumentation halber
und wir spielen das ab. Du wirst sehen, dass das jetzt
auf dem Server ist . Du
kannst sehen, wo du hingehst. HelloWorld ist also
auf dem Server von O2 und referenziert Zeile
acht und die andere, richtig, die HelloWorld,
diese ist
vom Client oder drei
lokalen Skripten zum Schreiben. Jetzt könntest du sagen, nun, was ist der verdammte
Unterschied, oder? Es ist nichts Verrücktes los. Nun, im Moment
ist das mein Client und ich kann tatsächlich auf den
Server und den Server wechseln. Der Server
kontrolliert im Grunde alles, oder? Also zum Server, theoretisch könnte
ich einfach sagen, Hey, weißt
du was, nein, ich werde meinen Mann
hierher bringen und ich
werde ihn einfach bewegen. Jetzt können Sie sich nach
den normalen Bewegungsregeln bewegen. Aber wenn Sie versuchen würden Ihre Position gegenüber
dem Kunden zu
ändern, , Ihre Position gegenüber
dem Kunden zu
ändern,
funktioniert das nicht, denn genau hier kommen
Anti-Cheating-Sachen ins Spiel. Daher
ist die Trennung von Client und Server sehr wichtig. Das ist also im Grunde
die allgemeine Idee ein lokales Skript ins Spiel kommt. Und wie gesagt, du kannst mit dem Server
kommunizieren, aber das ist etwas für
ein mittleres Level. Und dann ist
ein Modulskript etwas komplizierter. Also werden wir hier einfach ein Modulskript
O3-Testmodul
erstellen . In diesem Fall
nennen wir das tatsächlich Testimonial.
Da hast du es. Im Modulskript besteht
die allgemeine Idee also
darin, Funktionen oder bestimmte, im Grunde genommen Funktionen, die Sie oft verwenden
werden,
einzufügen, oder? Also verschiedene Multiplikatoren,
verschiedene Bonusfunktionen, einige Berechnungen, die
Sie möglicherweise verwenden. Oft können
Sie eine neue Funktion erstellen. Und das
geht so, dass wir diesen Tisch hier drüben
nehmen. Ich sage Modul. Das ist also der Name der Tabelle,
die sich summiert. Das wird
also der Name
der Methode sein und dann
was auch immer wir wollen. Also im Grunde
werden wir einfach
noch einmal eine Summenmethode erstellen und diesen Fall zurückgeben, nicht wiederholen, wir
geben x plus y zurück. Also nochmal, das
ist nur ein Beispiel. Schreiben Sie eine Summenmethode. Sie würden wirklich kein
benutzerdefiniertes Modulskript dafür erstellen, sondern nur damit Sie sehen, okay, so würden Sie eine Methode in
einem Modulskript
erstellen und später darauf
verweisen. Also wenn wir das haben, können
wir jetzt im Server-Skript, Server wieder ein
normales Skript erstellen und wir nennen das 03 Dash-Testmodule. Warum nicht? Das ist okay. Da hast du es. Und was wir tun
werden, ist, dass wir dieses Modulskript
jetzt
irgendwie mit diesem bestimmten Skript verbinden müssen. Der Weg dazu ist, dass wir hier die
Require-Methode
verwenden müssen , aber eigentlich wollen
wir eine lokale Variable erstellen. Nennen wir
das einfach die Summe. Sicher, und das
entspricht der erforderlichen Methode. Und dann müssen wir auf das Modulskript
verweisen. Das ist also der Game Dot
Server-Skriptdienst und das.o3-Testmodul
genau so. Und dann
wird es tatsächlich so dargestellt , weil wir eine Referenz eines Punktes mit
einer Zahl
beginnen können eine Referenz eines Punktes mit
einer Zahl
beginnen ,
aber das ist in Ordnung. Wir können es so benutzen,
das ist okay. Und dann können wir sagen,
lasst uns das ausdrucken. Lassen Sie uns also den
Summenpunkt drucken und Sie können sehen, dass er uns jetzt sogar
sagt, hey, wir können diese Tabulatortaste verwenden,
um die automatische Vervollständigung vorzunehmen, und wir können 50,23 Shirt sagen. Warum nicht? Das wären also 73, die wir hier ausdrucken. Also lass uns spielen. Und wir werden
sehen, dass der Server hier 73
ausdruckt. In der Tat ziemlich großartig. Und das ist natürlich
wieder nur ein Beispiel. Die Idee hier ist,
dass Sie wissen , ob Sie bestimmte
Zahlen haben, oder? Sie könnten also Dinge hinzufügen wie, Sie wissen schon, Sie könnten verschiedene Tabellen
hinzufügen. Du könntest vielleicht hinzufügen, dass es
so etwas wie ein
Erlebnis, einen Erfahrungsmultiplikator oder so
etwas gibt, oder? Und dann könntest du einfach
eine neue Tabelle hinzufügen und du würdest sagen
, du weißt schon, vielleicht einfach, du sammelst
mehr Erfahrung, oder? Dann bekommst du etwa 25 Punkte. Erfahrener,
mittlerer,
du bekommst eine ganz normale Erfahrung. Und dann auf hart
hast du vielleicht weniger Erfahrung. Dies ist nur noch einmal, wie nur ein Beispiel dafür, was
Sie hier verwenden könnten. Nun, diese wäre nicht nur
im Modul verfügbar,
das ist extrem
wichtig, da es sich
jetzt um eine lokale
Variable handelt, oder? Schauen wir uns das mal an. Wenn wir
die Summe R ausdrucken würden und versuchen
würden, diese zu verwenden. Das könnten wir nicht tun. Wir verwenden hier nur einige,
was interessant ist. Nun, wenn wir nicht
lokal handeln würden, was würde jetzt passieren? Denken Sie, dass wir das
jetzt nutzen können? Nun, schauen wir uns das an, richtig,
Zusammenfassung, dass wir das
immer noch nicht verwenden können, denn um das zu verwenden, müssen
wir das Modul Punkt ausführen. Und jetzt wird es
plötzlich zu dieser
speziellen Tabelle
hinzugefügt. Und wenn wir jetzt hier rein gehen,
haben wir plötzlich den
Erfahrungsmultiplikator zur Verfügung, der wirklich großartig ist
und es kann im Grunde, ich meine, es macht einfach
so viel Sinn, oder? Sie könnten viele
Dinge anstelle von Modulen speichern,
Skripten, die Sie
in,
naja, in allen verschiedenen Skripten verwenden werden. Vielleicht benennt ein spezieller
Spieler das, vielleicht bestimmte Dinge , um später eine
Verbindung zu bestimmten
Diensten herzustellen. Also ein Modulskript, das für
viele Dinge
äußerst, äußerst nützlich ist. Und nur um es
dir zu zeigen, du kannst
Summationserfahrung sehen ,
Multiplikator Medium. Wenn du das ausdrucken würdest, dann würden wir uns eine Eins
oder hier holen, weil das
genau das Medium ist , das
wir hier definiert haben. Das ist in der Tat ziemlich
großartig. Zusammenfassend lässt sich sagen, dass es
drei Arten verschiedener Skripts gibt, drei Arten verschiedener Skripts denen es sich um lokale Skripts handelt, die nur auf dem Client
ausgeführt werden. Dann gibt es
normale Skripte, die sowohl auf dem
Server als auch auf dem Client ausgeführt werden
können und die quasi automatisch
synchron sind. Und dann gibt es auch Module,
Skripte, die
zum Speichern von Variablen
oder Funktionen verwendet werden, die Sie überall
in Ihrem Code verwenden
können. Und das hilft
dir im Grunde, dich nicht zu wiederholen. Wie dem auch sei, ich hoffe, Sie fanden das nützlich und Sie werden etwas
Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
18. (Roblox) Eigenschaften Übersicht: Lassen Sie uns mit dem
Roadblocks-Anfängerteil
des Roadblocks-Kurses fortfahren . Und in dieser Vorlesung werden
wir
uns die Eigenschaften ansehen. Also werden wir uns eingehend mit den Immobilien
befassen. Also lasst uns einfach dieses
Fenster erweitern und lasst uns einfach unseren coolen Teil übernehmen und uns
all die verrückten
verschiedenen Immobilien ansehen all die verrückten
verschiedenen Immobilien , die wir zur Verfügung haben. Die erste ist also die
Ziegelfarbe im Allgemeinen, die Ziegelfarbe und die Farbe oder fast dasselbe. Wenn wir hier also eine andere
Ziegelfarbe wählen, sagen
wir ein dunkles Blau, können
Sie sehen, dass sich die
Farbe hier ändert. Und die allgemeine Idee von
Bricolage ist,
dass es sich um
vordefinierte Farben handelt , die einfach zu verwenden sind. Die Farbe kann zwar
buchstäblich wie jede Farbe sein, oder? Wenn ich
hier einfach eine
zufällige Farbe auswähle , wird
sie keinen Namen haben. Sie können also sehen, es sagt, dass es braun, gelblichgrün ist. Es wird also
ungefähr dieser Farbe entsprechen, aber es ist nicht genau
diese Farbe, oder? Du kannst also sehen, dass das alles Liebe ist. Und dann weiß ich nicht, ob es sich um Olivin
handelt ,
aber wenn ich die
Zahlen hier ein bisschen ändern würde , oder? Vielleicht wird das hier wie eine Zwei
sein. Und dann wird es ein Sandviolett
sein. Aber du kannst sehen, dass es, es ist nicht genau hier drin. Es ist einfach ähnlich wie
Wo ist der Sand, Violett. Ich habe keine Ahnung. Ich kann es nicht finden. Wie dem auch sei, das ist die
allgemeine Idee, oder? Sie können hier also eine Nummer eingeben. Das wäre also ein Hex, oder? So etwas.
Jetzt ist es Black Metallic, aber das ist nicht wirklich
schwarze Mentalität. Du kannst diese
Farbe und diese Farbe sehen, sie sind nicht dasselbe. Es ist also die allgemeine
Idee der Ziegelfarbe
und der Farbe , wenn es
darum geht, Schatten zu werfen, die ziemlich
selbsterklärend sein sollte. Im Moment wirft er einen Schatten
und jetzt nicht mehr. Das ist, das ist
so ziemlich alles dazu
gehört, das Material. Sie können also verschiedene
Materialarten wählen. Bestimmte Materialien haben also
bestimmte Eigenschaften. Sie können also z. B. Metall wählen , das ein
wenig reflektierendes Licht sein wird. Sie können also sehen, dass das
jetzt wirklich sehr nach Metall aussieht. Plastik
würde einfach nichts sein. Wenn wir uns also für Glas entscheiden, ist
es nicht zu 100% durchscheinend , weil die
Transparenz natürlich nicht da ist. Aber wenn wir
das transparent machen würden, wäre es
jetzt wie ein Glas Shine n wäre auch
transparent. Ziemlich cool. Es gibt also eine Reihe verschiedener Materialien
, aus denen Sie wählen können. Plastik ist einfach der normale ohne echte Textur
, oder? Also die
Materialvariante in diesem Fall, wir haben keine
Materialvarianz und ich bin mir nicht einmal sicher, welches
der Materialien eine hat. Wir können zum
Materialmanager hier oben gehen und uns tatsächlich
alle Materialien ansehen ,
die es hier gibt. Kraftfeld, z. B. könnten wir das Kraftfeld
wählen. So würde das
Kraftfeld also aussehen. Und dann können wir
hier reingehen und
das Kraftfeld wählen ,
z.B. Kraftfeld. Und jetzt ist das ein Kraftfeld. Sie können also sehen, dass es von allen Seiten sehr
durchsichtig ist. Das ist also in der Tat interessant. Und es gibt noch eine
Menge anderer Dinge. Wir haben Metall hier, verschiedene Metallarten,
Diamantfolie, korrodiert. Metal ist echt geil, dass
man das mit so
manchem Zeug kann, oder? Wenn wir korrodiertes Metall wählen, z. B. wenn sie sehen können, dass sich die
Farbe hier ändert was ändert sich an der
Textur selbst, oder? Jetzt können Sie also sehen
, dass die Farbe hier der Grundfarbe entspricht. Wenn wir dieses Rot wählen würden, dann wird es
plötzlich Rot, Grün, solche Sachen. Es ist also wirklich cool, was
du hier gerne ändern kannst, und es ist wirklich geil. also nur empfehlen, ein bisschen damit
herumzuspielen und ein Gefühl
für diesen Brick zu ist auch ziemlich cool und man bekommt eine Brick-Textur
obendrauf. In der Tat ziemlich beeindruckend, rote
Reflexion und Transparenz. Wir haben schon einmal
darüber gesprochen, oder? Durch Reflexion wird
das eigentliche Ding einfach stärker reflektiert. Jetzt siehst du, dass
das vom Material abhängig
ist , denn
jetzt das Ziegelmaterial, sie können eigentlich nicht reflektiert
werden. Wenn wir
wieder auf Plastik umsteigen würden, was im Grunde
alles sein kann, was Sie wollen, können
wir das so
reflektieren, wie Sie möchten. 100% wären wortwörtlich, es reflektiert alles Licht. Also jetzt hat es einen, jetzt ist es ein Spiegel, oder? Und das
spiegelt das perfekt wider. Aber weil unser Skript
die Transparenz auf 0,5 erhöht, wollen wir das
eigentlich nicht. Und jetzt haben wir wieder einen Spiegel. Jetzt können Sie sehen, dass es den Spieler
nicht widerspiegelt. Das wird
für einen Großteil der Verarbeitung viel zu intensiv sein. Aber das ist die allgemeine Idee für die Reflexion und
dann für die Transparenz. Wir haben das
schon gesehen, im Grunde genommen, wie transparent dieser
spezielle Teil ist. Also Archivierung, eine sehr wichtige Sache bei all
den verschiedenen Immobilien. Und das ist eigentlich
sehr wichtig. Sie können den Mauszeiger darüber
bewegen und es wird Ihnen
eine kurze Beschreibung dessen geben , was
dieses spezielle Ding bewirkt. Sie können also sehen, dass das Archiv
im Grunde genommen nur so ist: Wird das hier gespeichert? Dann haben wir einen
Klassennamen, der normalerweise
gesperrt ist , weil
dies in diesem Fall ein Port ist. Wir können das auch sperren. Wenn wir dann dieses Schloss machen, können wir es tatsächlich
weiter bewegen. Also wenn wir das sperren
und jetzt kann ich nicht einmal ich kann nicht einmal mehr
versuchen, das auszuwählen. Und jetzt kann ich wieder
reingehen und es entsperren, und jetzt kann ich es
wieder auswählen, ich kann es wieder bewegen. Sehr interessant.
In der Tat sollten der Name hier
und der Elternteil
ziemlich selbsterklärend sein. Und dann sind diese
normalerweise auch unveränderlich. Die Größe ist jedoch veränderbar, also wollen wir sie vielleicht vergrößern, vielleicht 758 machen, vielleicht
etwas, das nicht so ist. Da hast du es. Das ist also ziemlich cool. Sie können also sehen, dass es jetzt
größer ist und wir können auch die Position
ändern. Wenn wir also die Position ändern, können
Sie sehen, dass sich die Position
sowohl am Ursprung
als auch am C-Frame ändert. Sie können dies also auch
manuell tun. Also ich könnte wieder -25,20 machen, und du kannst sehen, jetzt hat es sich bewegt
und das ist ziemlich cool. Nun, der
Ausgangspunkt ist im Grunde genommen, du kannst den Mauszeiger darüber bewegen, oder? Diese enthält die
Information der Position und die Matrix der Drehung. Das kannst du ändern und
du kannst daraus lesen. Der Ursprung, falls Sie
jemals daran gedacht haben, hier dreht sich
das im Grunde. Die allgemeine Idee
ist also, wenn ich es drehe, dreht
es sich um
einen bestimmten Punkt im Raum und Sie
können sehen, dass
es zeigt, es dreht sich genau um
die Mitte dieses bestimmten Teils, oder? Wenn ich jedoch
die Position des Ursprungs ändern würde, übernehmen
wir einfach die Kontrolle Z um die Drehung wieder auf Null zu setzen, wenn ich das hier
auf 000 ändern würde, oder? Nun, das Ding
gehört tatsächlich dazu. Das wollen wir
nicht. Wir wollen den Dreh-
und Angelpunkt ausgleichen, oder? Wenn wir nun den Pivot
um 20 minus fünf und -20 ausgleichen würden , wollen wir ihn damit ausgleichen. Plötzlich steht der
Drehpunkt bei Nullen, Nullen. Sie können also sehen, dass
die Position jetzt 00 ist, weil
wir den Drehpunkt verschoben haben. Und wenn ich rotieren würde, würden
wir uns jetzt um
diese bestimmte Position drehen. Also drehen wir uns jetzt darum. Das ist eigentlich ziemlich cool, denn was Sie tun können,
ist, es auszugleichen. Und wenn du z.B. eine
Spinnplattform haben
möchtest, nun, sie können einfach die
ändern, hier die Drehung ändern und jetzt hast du plötzlich
eine Spinnplattform. Du kannst verrückt werden
wie eine Distanz. Aber ja, das ist
wirklich cool und kann für viele
verschiedene Dinge
verwendet werden . In diesem Fall sollten Can
Collide und Can Touch ziemlich
selbsterklärend sein, oder? Es geht nur darum, ob hier
eine physische Interaktion
stattfinden kann oder nicht , kann berührt werden. Wenn das Touched
Event deswegen aufgerufen wird,
gibt es grundsätzlich auch
verschiedene
Kollisionsgruppen , die Sie definieren können. Verankert bedeutet
, dass dies nicht der Fall ist,
dass es nicht von der Schwerkraft beeinflusst wird. Also, wenn wir das haben würden, lasst uns das in die Luft heben und es ist nicht verankert. Wenn wir spielen,
fällt es auf den Boden. Wir können das also tatsächlich sehen. Sie können also sehen, dass es
jetzt am Boden liegt, obwohl wir
es in die Luft gebracht haben. Und wenn wir das richtig
verankern, wenn wir hier runtergehen und das
hier verankern,
dann bedeutet das, dass
es an
dieser bestimmten Position bleibt und
nicht von der Schwerkraft beeinflusst wird. Sie können also sehen,
dass es jetzt in der Luft ist. Ziemlich cool, oder? Maßgeschneiderte physikalische Eigenschaften,
masselos, solche Dinge. Normalerweise empfehle ich,
sich
von denen ein bisschen fernzuhalten , weil
man dann in verrückte Sachen gerät, oder? Die benutzerdefinierten physikalischen
Eigenschaften, die Sie sehen können, Sie können die Reibung,
die Elastizität und die Dichte ändern . Es gibt also einige coole Dinge
, die du damit machen kannst. Aber das ist definitiv
ein bisschen mehr für fortgeschrittene und
fortgeschrittene Benutzer, oder? Und mit dem Rest würde ich mich vorerst nicht anlegen. Sie könnten jedoch jederzeit
den Mauszeiger über die Dinge bewegen und sich
ansehen , was die verschiedenen
Eigenschaften im Grunde bedeuten. Und jetzt sind das natürlich
Eigenschaften, die für
ein Teil spezifisch sind , je nachdem, was
Sie hier erstellen. Wenn wir auf Textur
oder D-Kuh oder auf eine Dialograte
oder
eine Annäherungsaufforderung klicken . All diese verrückten
Dinge, die werden alle
unterschiedliche Eigenschaften haben. Sie müssen jedoch denken, einfach darüber im Klaren sein, dass eine
Eigenschaft nichts anderes ist als eine Variable oder ein Attribut, das
an ein bestimmtes Objekt angehängt ist. In diesem Fall sollte es
eigentlich nichts Verrücktes sein. Aber wenn du eine
Eigenschaft hast, ist das
so etwas wie die Spawnrate, es könnte z.B. auch eine benutzerdefinierte
Eigenschaft sein. Und dann würdest du sagen, oh, das ist wahrscheinlich eine Zahl, die eine bestimmte Beziehung
zu A's zur Spawnrate
eines bestimmten Dings
hat , oder? Das ist also die
Eigenschaftenübersicht, die
wirklich nützlich und
cool sein kann wirklich nützlich und , um ein bisschen
damit herumzuspielen. Und dann werden Sie sehen, dass es eine Menge Dinge gibt, die Sie mit Eigenschaften und
sogar benutzerdefinierten Eigenschaften machen
können Wir werden uns später
zusammenfassen lassen, dass
jedes Ihrer vorhandenen Objekte Eigenschaften hat. Einige von ihnen sind Eigenschaften , die all die
verschiedenen Dinge gemeinsam haben. Wenn das zum Beispiel ein Ding
statt eines 3D-Raums ist, hat
es immer einen
C-Rahmen und einen Ursprung, Bedeutung und eine Größe. Das ist also im Grunde die
Transformation, die die tatsächliche Position
des Objekts im 3D-Raum bezeichnet. Und es gibt noch andere
Dinge wie Kollisionen,
Dinge, die von einem Teil
absteigen, können auch masselos verankert sein,
alles Mögliche. Es gibt also eine Reihe von
Eigenschaften. Ich empfehle dringend, ein bisschen damit
herumzuspielen, einfach einen neuen Port hinzuzufügen mit einigen der hier vorhandenen
Eigenschaften
herumzuspielen . Und Sie können vorerst sogar Ihre eigenen
Attribute hinzufügen . Darauf werden wir uns jetzt nicht
einlassen. Aber es genügt zu sagen, dass
Sie
mit Immobilien viele
coole Dinge tun könnten. Okay, das war's
für diese Vorlesung hier, oder wir fanden das nützlich
und haben etwas Neues gelernt. Wir sehen uns alle in der
nächsten Vorlesung. Also, ja.
19. (Roblox) Vector3 und Position: Ordnung, Willkommen zu den
Roblox-Grundlagen für den Roblox-Kurs. Und in dieser Vorlesung werden
wir über Vektoren
und das Ändern der
Position eines Teils sprechen . Wir haben also schon einmal darüber gesprochen, Teile zu
referenzieren. Wir haben über Module und
Skripte gesprochen und wir haben
über die Eigenschaften gesprochen. Und jetzt lassen Sie uns
diese Eigenschaften
innerhalb eines Skripts richtig ändern . Also lasst uns hier ein neues
Drehbuch machen. Es benötigt einen Server-Skriptdienst. Nennen wir es 05 Dash Positions. Und dann schauen wir mal. Also nennen wir das den
Vektor Drei und die Positionen. Kommentieren Sie hier und dann werden wir
darüber sprechen, was das ist. Lassen Sie uns also
zunächst unseren Teil übernehmen. Das wird also sein, mein Teil hier
wird gleich
dem Game-Workspace sein , mein cooler Teil. Das haben wir also schon einmal
in der Referenzvorlesung gesehen. Das sollte also nichts Verrücktes
sein. Und jetzt können wir
meinen Teil dazu beitragen und jetzt können wir
ändern, was ich meine so
ziemlich all die verschiedenen Eigenschaften,
die da drin sind, einschließlich einiger Dinge, die hier wie ein Blitz
sind. Und wir haben sogar diese seltsamen Dinge vom Typ Aktenschrank. Vorerst werden
wir nur die blauen Würfel
verwenden und z. B. die Position,
die Sie sehen können,
ist vom Typ Vektor drei, und dies beschreibt die Position dieses
Teils innerhalb
der Welt. Derzeit, wenn wir das
einfach tun und das
nur der Argumentation halber ausdrucken. Lass uns das einfach ausdrucken. Wir sollten einen Vektor bekommen
und der ist -21,8 und so weiter und so weiter bis
0,4, 99,1, 17,93. Das ist also im Grunde
diese Position. Und wenn ich es ändern würde, würde sich an
der Ausgabe
nichts ändern , weil wir
nur gleichzeitig ausgeben. Also, wenn ich in die Position
hier gehe und 50, 50,
50 mache , dann wird sich die tatsächliche
Position ändern. Also jetzt ist es da drüben. Aber es würde
die Ausgabe nicht aktualisieren , denn
obwohl diese bereits
ausgegeben wurde und wir
sie nur einmal ausgeben, ist das fair genug. Was wäre, wenn wir
diese Position ändern würden, oder? Was ist, wenn wir
die Position ausgeben und dann Y Teil
dieser Position sagen, und dann wollen wir das ändern. Wie ändern wir das? Nun, wir ändern
das, indem wir ihm einen neuen Vektor drei geben, oder? Also wollen wir
Vektor-Menü mit drei Punkten sagen. Und dann
geben wir hier eine X-Nummer, eine Zahl und eine Z-Nummer ein. Das
Wichtigste hier ist nun, dass ein Vektor drei, einen Vektor schreibt. Vielleicht hattest du
das in Mathematik. Vielleicht hattest du das
in Mathematik insgesamt. Es ist sehr einfach zu verstehen. Was Sie wahrscheinlich schon einmal gesehen
haben, ist, lassen Sie uns so etwas machen. Sie haben also wahrscheinlich schon einmal
ein zweidimensionales Gitter
mit einer Y-Achse
und einer X-Achse gesehen , oder? Und darauf kannst du
jeden einzelnen Punkt
mit zwei Zahlen beschreiben . Jetzt ist es dasselbe
in drei Richtungen, nur in eine andere
Richtung, oder? Also diese Position, wie
wir sie schon einmal gesehen haben,
ist, lass uns das einfach
ein bisschen netter machen. 2015 und -17 der Argumentation
halber, oder? Also jetzt ist es hier drüben
und wir können
diese Position jetzt ändern , indem wir ihr
einfach andere Koordinaten geben. Also sagen wir, statt -21 nehmen
wir, lass uns nochmal 50, 50, 50
machen. Und das sind jetzt die Teile
verankert, also wird es in der Luft
bleiben. Was wir erwarten würden,
ist, dass dies -20, 15, -17 ausgibt, dann ändern wir
die Position auf 50, 50, 50. Wenn wir also das
Spiel tatsächlich starten, obwohl es
die alten Zahlen ausgibt, wird
das jetzt
auf 50, 50, 50 geändert. Und wir können das bestätigen, wir gehen einfach
runter und wir können sehen Position 50, 50, 50 ist. In der Tat sehr interessant, aber das können
wir nur ändern. Wir können natürlich,
ich meine, so ziemlich alles ändern . Wir können sogar die Drehung ändern, die ebenfalls ein Vektor drei ist. Nun gibt es einige
interessante Dinge über die Rotation im
dreidimensionalen Raum. Vorerst machen
wir nur den
Vektor hier drüben. Also könnten wir zum Beispiel 4500
machen, sagen wir, und jetzt sollte es
in X-Richtung gehen, wir drehen um 45 Grad. Schauen wir uns das einfach an
und wir können sehen, wenn wir uns das ansehen, können
Sie sehen, dass es jetzt um 45 Grad
gedreht ist . Und wenn wir uns das tatsächlich
ansehen, können
Sie auch sehen, dass
die Orientierung jetzt nicht ganz 45,
sondern ziemlich 45
ist. Manchmal gibt es
Rundungsprobleme. Denken Sie also daran , dass die Rundung manchmal etwas
seltsam sein
kann , insbesondere bei
diesen Vektoren da viele ,
da viele
Berechnungen durchgeführt werden
müssen. Also runden sie manchmal auf eine
etwas seltsame Weise ab oder runden sich auf. Wir können auch etwas tun
, das sehr interessant ist
, und das ist vielleicht, dass wir den Teil
verschieben wollen, oder? Also vielleicht wollen wir wirklich
sagen, weißt du was? Ich möchte eigentlich, dass sich die
Position ändert. Ich möchte also
die aktuelle Position
meinerseits einnehmen und ich
wollte nur vielleicht
ein paar Studien nach unten machen. Nehmen wir an, erstellen Sie hier einen
neuen Vektor. Wir wollen die X-Achse nicht bewegen. Wir wollen es auf der Z-Achse vielleicht um
25 Grad nach unten bewegen. Und vielleicht wollen wir ein Plus fünf auf der Z-Achse
machen, eigentlich kein Plus Fünf,
sondern nur ein 5-Jahr auf der Z-Achse. Sie können sehen, dass das alles funktioniert,
denn wenn Sie einen Vektor, Vektor minus einen Vektor, funktioniert
das alles völlig gut. Wenn wir das also einfach spielen, werden
wir jetzt sehen, dass sich der Würfel
dorthin bewegt hat, wo er sich bewegt hat. Nun, es lohnt sich,
es ist genau da. Und wenn wir uns dieses
Mikro-Apart ansehen, ist
es jetzt in 50, 75, 45. Jetzt denkst du,
das ist irgendwie komisch. Ja, das ist irgendwie komisch.
Wie ist das passiert? Nun, wir haben
diesen Vektor subtrahiert, oder? Also nehmen wir 50 minus
Null, das ist 50. Fair genug. Wir haben 50 minus -25 gemacht. Oh, nun minus, minus, das ist ein Plus, das
heißt, es gibt eine 75. Und dann haben wir hier fünf
subtrahiert. Das ist also interessant
. Wenn wir
etwas subtrahieren ,
wollen wir hier eigentlich keine negativen
Zahlen haben. Und wenn wir das dann noch einmal machen würden
, können Sie
jetzt sehen, dass sich jeder weiter
unten befindet und da ist es. Also ist es jetzt viel weiter unten. Und jetzt funktionieren
unsere Berechnungen völlig einwandfrei. Das ist also die allgemeine Idee
der Vektorberechnung, oder? Es ist also grundsätzlich
immer das erste Element minus oder plus Rate, das funktioniert
z.B.. Wir würden es also tun, wenn
wir das Minus behalten, das wäre das erste Element. Die neuen Elemente
werden 50 minus Null sein. Und dann wäre der
zweite 50 -25, und dann
wäre der letzte 50 minus fünf. Das ist die allgemeine
Idee dahinter. Was passiert, wenn wir sagen würden, weißt
du was, lass uns das mal durchgehen. Wird das funktionieren?
Nun, lass uns hier einfach 22.2
machen. Und lass uns einfach sehen, was passiert. Es gibt also keine Fehler. Und wenn wir einen Blick darauf werfen,
ist es jetzt sehr, sehr weit weg. Und wenn Sie sich das ansehen, können
Sie 150, 90 sehen. Also genau das, was wir hier
erwarten würden. Dieselbe Idee, oder? Anstatt ein Minus zu machen, machen
wir jetzt mal zwei. Und dann machen wir das im Grunde
für alle, oder? Also machen wir das und
dann machen wir das. Nun, das sind tatsächlich
45 und das waren 25. Und deshalb bekommen wir hier 150,90
als Teile. In der Tat sehr interessant. Nun gibt es noch ein
paar andere interessante Dinge und das ist z.B. wenn wir
etwas vergrößern wollen, oder? Also haben wir die Größe hier drüben. Wir können z. B. ein
Mal gleich machen und dann können wir die Größe
um 50 Prozent erhöhen. Das wird in diesem Fall einfach Zahlen mit 1,5
multiplizieren oder verkleinern. Wenn wir uns das noch einmal ansehen, können
Sie sehen, dass es
jetzt größer ist , jetzt
sieht es
nicht mehr so aus. Aber wenn wir hier hingehen und sehen, dass die Größe jetzt
10,57 Punkt 5.12 ist. Und wenn wir nicht rennen, beträgt
die Größe nur 75,8. Dies sind jedoch einige
der Beispiele für das Ändern der Position, der Drehung und der Größe. Das ist
schon richtig cool, oder? Zusammengefasst wird Position oder Drehung
durch einen Vektor dargestellt. Und ein Vektor besteht hier einfach
aus drei Zahlen mit einem X- und einem Y-Wert
und dem Z-Wert. Und Sie können sie mit
den normalen Vorgängen ändern , oder? Multiplizieren, subtrahieren,
all diese Arbeit. Das ist also ziemlich cool
und du machst es so. Nun, das war's für diese
Vorlesung hier. Ich hoffe, Sie fanden das nützlich und
Sie werden etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
20. (Roblox) Die Wait-Function: Ordnung, lassen Sie uns hier die Grundlagen der
Robotik
für den robusten Kurs fortsetzen . In dieser Vorlesung werden
wir
über die Gewichtsfunktion sprechen . Die Gewichtsfunktion ist also eine unglaublich wichtige
Sache, der
Sie beim Scripting und
bei Roblox oft begegnen werden . Und lass uns hier einfach ein
neues Skript erstellen, es 06 Dash Waiting
nennen. Und wir nennen das einfach die Gewichtsfunktion, weil es um die Gewichtsfunktion geht. Nehmen wir an, ich habe einen For-Loop. Ich habe bei Null angefangen und gehe zu
zehn und erhöhe um eins. Lass uns das machen. Und
sagen wir, ich drucke die Nummer aus. Also, wenn wir das machen würden, würde es
die Zahlen ausdrucken, oder? Unverzüglich. Man kann in einer Frage von,
ich meine, buchstäblich
fast allen von Null bis Zehn sehen ,
sogar im selben Tick, also denselben Millisekunden. So schnell war es. Aber sagen wir Nein,
nein, nein, nein, nein. Ich möchte, dass das jede Sekunde
ausgedruckt wird. Nun, wir verwenden einfach die
Gewichtsfunktion hier drüben. Ich gebe einen weiter. Was es also tatsächlich tut ist, dass es den
aktuellen Thread ausgibt, bis die angegebene
Zeit in Sekunden abgelaufen ist. Nun
ist es sehr wichtig, dass dies, sagen
wir,
negative Folgen haben kann sagen
wir,
negative Folgen wenn viele
Drehbücher laufen. Die Gewichtsfunktion
ist also nicht das
A und O, dass Sie sie überall
verwenden sollten. Es gibt auch andere Möglichkeiten,
darauf
zu warten, dass etwas passiert. Das ist also nicht
das A und O. Aber in diesem Fall, wenn
wir dieses
012 ausführen würden und Sie sehen, dass
es weitergeht. So kann ich
herumlaufen, es ist alles in Ordnung. Und es geht
genau 1 Sekunde nach der anderen weiter und wir nehmen teil und jetzt ist
das Gewicht fertig. Das ist also ziemlich cool. Das ist cool für bestimmte Dinge wie zum Beispiel zum Zählen von
Dingen, solche Sachen. Das ist echt geil. Dies ist ein Beispiel dafür, wo die Gewichtsfunktion wirklich nützlich sein
könnte. Manchmal
kann es auch wichtig sein, wenn du bestimmte Dinge importierst und manchmal denkst du einfach, ich warte einfach
ein bisschen und dann kannst du etwas weiter
ausführen. Aber wie gesagt,
das eigentliche, was es tut,
ist, dass es im Grunde
den aktuellen Thread liefert. Nun, das ist
Computersprache
auf hohem Niveau , was im Grunde genommen dass
alles, was es bei dieser bestimmten Art
von Arbeitslast
tut, irgendwie gestoppt bei dieser bestimmten Art
von Arbeitslast
tut, irgendwie wird und es dann nach Ablauf der
Sekunden
fortgesetzt wird. Es gibt also Dinge
, die, wenn du das verwendest, möglicherweise
bestimmte Dinge in deinem Spiel kaputt machen könnten. Seien Sie also vorsichtig und
verwenden Sie Ihre Gewichte nicht überall. Wir sagen einfach, oh,
das funktioniert nicht. Lass uns hier einfach warten , dass das normalerweise nicht das ist,
was du tun willst. Ich möchte das nur noch einmal betonen
. Was ich im Druck kommentieren werde und das ist
so ziemlich alles, was Druck kommentieren werde und das ist
so ziemlich es
zur Gewichtsfunktion gibt. Es gibt wirklich
nichts zusammenzufassen. Es wartet nur ein
paar Sekunden und Sie sollten es nicht
überall in Ihren Skripten verwenden. Es wird einige
Beispiele geben, wo wir es verwenden werden, die interessant
sein werden. Und dann gibt es einige
Beispiele, wo wir es verwenden könnten, aber wir möchten vielleicht etwas anderes
verwenden. Nun, das war's für
diese Vorlesung hier, oder wir fanden das nützlich und
ihr werdet etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung.
21. (Roblox) Basic: Ordnung, willkommen zurück
zu den Grundlagen der Robotik hier für den Roblox-Kurs. Und in dieser Vorlesung werden
wir uns dem Verschieben eines Teils befassen. Das wird also in der Tat sehr
interessant sein. Also dafür im
Serverskriptdienst, noch einmal, indem
wir ein neues Skript erstellen und das nennen wir 07 und wir nennen diese Bewegung. Das wird also im Grunde einige der Dinge beinhalten
, die wir bisher gelernt haben. Um sich zu trennen,
gibt es
natürlich viele Möglichkeiten, dies zu tun. Dies ist übrigens nur
ein Beispiel, das wir mit einem aktuellen
Verständnis, das wir haben, verwenden
können. Es gibt also verschiedene Möglichkeiten, wie wir Teile
besser bewegen könnten, aber es ist möglich, dies auf diese Weise
zu tun. Deshalb möchte ich nur betonen, dass dies nicht der einzige Weg ist und dass es möglicherweise nicht der richtige Weg für jede bestimmte Sache ist
, die Sie tun möchten. Aber wir schauen uns das
einfach an. Also lass uns im Grunde einfach unseren coolen Teil hier
machen. Orgel, sagen wir mal lokal, meinen Teil. Und wir sagen, das ist Game
Workspace, mein cooler Teil. Da hast du es. Dann machen wir einen For-Loop. Wir werden das noch einmal
um eins beginnen. Wir gehen dann zu, sagen
wir, 15 und wir
werden um eins erhöhen. Und was wir dann tun, ist innerhalb dieser Forenschleife
meinen Teil zu
sagen, diese Position
wird jetzt meinem Teil dieser Position entsprechen . Also die tatsächliche Position, an der
sich befindet, plus ein neuer Vektor. Sie werden also Vector 3 neu
sein. Und dann sagen wir einfach,
lass uns hier IO machen, 0.0. Also setzen wir die aktuelle
Position auf sich selbst plus I. Also beginnen wir mit eins. Und wenn wir
das machen und anfangen würden,
bekommen wir im Grunde nur Position
plus 15, weil das war's. Aber was wäre, wenn wir jetzt
eine Sekunde dazwischen warten würden,
was würde dann passieren? Nun, schauen wir uns das mal an. Lass uns damit aufhören. Und wenn wir dann unseren
Teil finden und darauf zulaufen, siehst
du, oh, sieh dir das an. Es bewegt sich Schritt für Schritt , weil es 1 s
wartet und dann zunimmt und dann 1 s
wartet zunimmt und 1 s
wartet und bis es endgültiges Ziel erreicht
hat, was plus 15 in
X-Richtung wäre . Und das können
wir sehen. Jetzt ist es also 220, also hätte es
vorher 205 sein sollen, wegen der ganzen Rekruten, die
Dinge, die wir
zuvor mit den Drehbüchern gemacht haben . Das ist also die allgemeine Idee. Du kannst also in diesem Fall die
Warte-Funktion verwenden, um die Einstellung
der Position zu verzögern
und so
sieht es so aus, und so
sieht es so als würde es tatsächlich etwas
tun. Also könntest du z.B. auch machen, du könntest
das auch machen, vielleicht 50 und dann vielleicht setzt du es ein bisschen weniger
hinzu. Also vielleicht eine
Viertelsekunde. Und wenn Sie sich das jetzt
ansehen würden, würde es viel glatter aussehen. Wenn wir uns das ansehen, können
Sie jetzt sehen, dass es
nicht glatt ist, aber es ist fast eine sanfte
Bewegung, oder? Und wir könnten
das noch reibungsloser machen. Jetzt muss ich das erhöhen weil
es natürlich
schneller geht, wenn ich das erhöhe oder
wenn ich die Wartezeit verringere. Und wenn ich es mir
jetzt so
ansehen würde, können Sie sehen, dass es
fast glatt ist. Zusammenfassend lässt sich sagen, dass dies zwar
ein möglicher Weg ist , aber
wir werden in
zukünftigen Vorlesungen auch
einige andere Möglichkeiten sehen . Dies liegt daran
, dass
wir einige Dinge behandeln müssen,
bevor wir dies tatsächlich tun. Weil es nur
noch ein paar interessante
Dinge gibt,
naja, die sozusagen
zu Ihrem Toolkit hinzugefügt werden müssen. Aber das war vorerst
alles für diesen Vortrag hier. Ich hoffe, Sie fanden das nützlich und haben
etwas Neues gelernt. Wir sehen uns alle in der
nächsten Vorlesung. Also, ja.
22. (Roblox) Das berührte Ereignis: Ordnung, willkommen
zurück zu den
Roblox-Grundlagen für
den robusten Kurs. Und in diesem Vortrag werden
wir
über das Touched Event sprechen . Jetzt haben wir viele
Dinge gesehen, die wir im Code
und in den Skripten
ändern können . Wir sind jedoch noch
nicht wirklich
an einem Punkt angelangt , an dem wir
tatsächlich etwas eingeben
oder
etwas passieren lassen können , während
sich das bald ändert Lassen Sie uns hier im
Server-Skriptdienst ein neues Skript erstellen . Das nennen wir 08 Touched Event. Und das wird in der Tat
sehr interessant sein. Das Touched
Event ist also ein Event, wie der Name schon sagt. Und Ereignisse sind im Grunde genommen
Dinge, die passieren. Dies
sind Ereignisse, die bestimmte Funktionen
auslösen können, um dann ausgeführt zu werden. Ereignis In the Touched
wird im Grunde
jedes Mal aufgerufen , wenn ein Teil einen anderen Teil
berührt. Lassen Sie uns also nur der Argumentation
halber alle meine
Positionierungsänderungen hier loswerden. Weil wir die beiden eigentlich
nicht wollen. Nun, wir
wollen nicht mehr, dass dies
den R-Kernteil hier beeinträchtigt . Also lass uns das einfach spielen und dann sollte
unser cooler Part
einfach da bleiben, wo er ist. Nun, es wird wegzoomen, aber das ist eigentlich lustig. Also das wegen
der Bewegung hier. Also lasst uns auch
unsere Bewegung loswerden. Und jetzt sollten wir eine saubere Weste
haben. Für das Touched Event werden
wir also zunächst wieder unseren Teil bekommen. Mein Teil ist also
wieder der Game-Workspace. Und dann mein cooler Teil in
diesem Fall, da hast du es. Und dann werden wir ein paar berührte Ereignisse
haben. Also sagen wir meinen Part Punkt und dann können wir sagen Berührt. Und du kannst sehen,
dass das ein Blitz ist. Also ein Blitz, das ist ein Ereignis. Sie können also sehen, dass
es ausgelöst wird, wenn ein Teil mit einem
anderen Teil in Kontakt kommt. Sehr cool. Sie können sich auch alle anderen
Blitze ansehen. Es gibt auch eine
Änderung, ein Recht, sofort
ausgelöst wird, nachdem sich eine
Eigenschaft eines Objekts geändert hat. Könnte interessant sein
, dass wir wollen, dass dies
Feuer zerstört, unmittelbar bevor eine Instanz zerstört wird. Okay, Berührung ist beendet, wenn Sie aufhören, einen anderen Teil zu berühren,
und so weiter und so fort. Jetzt wollen wir das
Touched Event hier verwenden. Und dann wollen
wir
einen Doppelpunkt machen und dann eine Verbindung herstellen. Das ist sehr interessant. Sie können also auch
einige andere Dinge tun. Du kannst das auch einmal machen würde
dann einmal etwas aufrufen. Dieser verbindet eine Funktion einem Ereignis und sagt im Grunde, Hey, wird dieses bestimmte
Ereignis aufgerufen, dann wollen wir eigentlich diese Funktion
aufrufen, bei der es auch ein Gewicht
gibt
, das auf etwas wartet. Und dann
ist hier parallel verbinden noch komplizierter, im Grunde einmal und verbinden
sind die interessanten Dinge. Nehmen wir an, wir sagen,
einer ist hier, innerhalb dieser
speziellen Funktion, der Eins-Funktion, können
wir eine weitere Funktion einfügen, oder? Und dann sagen wir den anderen Teil und wir werden einfach diese Funktion
anstelle dieser
erstellen. Sie können also sehen, dass dies
die Funktion hier ist, und dies sind die schließenden
Klammern von einmal. Und dann können wir einfach drucken sagen, und dann können wir
z.B. einen anderen Teil sagen, oder? Was hier also passiert, ist, dass dieser andere Teil der Teil ist
, an dem er meinen Teil berührt hat. Also, wenn wir einfach
dieses spezielle Ding spielen würden ,
was würde passieren? Grundplatte, du
könntest so sein wie? Nun, sieh dir das an. Das Mikroteil berührt
die Grundplatte, oder? Und wenn ich
hier aufspringen würde, würde nichts passieren. Warum ist das so? Nun,
denn einmal heißt einmal, es passiert einmal. Und dann sagte ich, wenn wir das
verbinden würden, richtig, wenn wir verbinden würden,
was würde jetzt passieren? Nun, lassen Sie uns das einfach spielen und
Sie werden sehen, es wird Grundplatte hier drüben
spammen bis sie die Grundplatte nicht mehr
überspannt. Okay, interessant,
was passiert, wenn ich jetzt darauf einspringe? Nun, lass es uns einfach machen. Und Sie können den
humanoiden Wurzelteil sehen, linker Fuß, rechter Fuß. Und auch die Fragen,
warum hört es auf? Nun, beim Touched
Event musst
du im Grunde anfangen zu berühren und nicht dauernd zu berühren. Das ist
etwas anderes. Aber du kannst sehen, dass es jetzt,
je nachdem wie eine Bewegung
es ist, wie verschiedene
Teile meines Körpers werden. Denn wenn wir in den
Workspace Count und Joe gehen, werde
ich tatsächlich durch
eine ganze Reihe verschiedener
, winziger Teile repräsentiert . Der linke Fuß, die linke Hand
und so weiter und so fort. Und sozusagen nicht wie mein ganzer
Körper. Okay, das ist also
sehr interessant. Aber jetzt können wir tatsächlich Dinge geschehen
lassen indem wir ein bestimmtes Objekt berühren. So könnten wir z.B.
im Mikroteil, lassen Sie uns das tatsächlich verankern, damit es in der Luft
bleibt. Jetzt schwimmt es also. Es wird also niemals den Boden berühren. Und dann können wir tun, wir
können tun, was wir wollen. Wir können etwas ausdrucken. Wir können es in Bewegung setzen lassen. Wir können den Spieler
in den Himmel schießen. Ich meine, es gibt alle möglichen Dinge wegen diesem
anderen Teil, oder? Wir haben immer
Zugriff auf das
, was uns berührt hat. Deshalb sollten wir in gewisser Weise
Zugriff auf den Spieler
oder den Charakter haben , oder? Also können wir auch etwas
damit anfangen. Für unsere Zwecke werden
wir nur die werden
wir Transparenz des
Objekts verringern. Also werden wir einfach sagen, wir werden die
Transparenz gleich eins machen. Also im Grunde wird
es sowieso 2,5 ändern, und dann ändern wir es auf eins sobald das tatsächlich etwas
berührt. Sobald ich also auf
dieses Objekt gesprungen bin oder es einfach bürste, wird
es im Grunde verschwinden, weil die
Transparenz eins sein wird. Da, da hast du es. Es ist weg. Jetzt ist es natürlich
nicht weg, oder? Es ist immer noch da,
aber es ist unsichtbar. Es ist also ziemlich
cool, dass du bestimmte
Eigenschaften jetzt
ändern kannst bestimmte
Eigenschaften jetzt
ändern , weißt
du, da im Spiel etwas
passiert. Jetzt ändern wir also nicht mehr
nur die Eigenschaften, reagieren tatsächlich auf Dinge, die
innerhalb eines Spiels passieren. Und jetzt, nur weil es
eine sehr unterhaltsame Sache
ist, werden wir jetzt das verwenden
, was
wir bisher haben. Ich werde eine boolesche
Eigenschaft erstellen, die hierher verschoben wird. Und ich werde fragen, nun,
wenn Verschieben gleich falsch ist, dann
möchte ich eigentlich Folgendes tun. Ich wollte dann erst
einmal den Umzug zur Realität machen. Und dann will ich hier
einen For-Loop machen. Ich ist gleich eins und dann machen
wir zehn und wir machen eins, und dann machen wir es. Und was wir hier machen,
ist, dass wir 1 s warten. Und dann möchte ich eigentlich meinen Teil zu dieser Position
sagen. Und dann möchte ich seine Position
ändern. Also gehen wir einfach
von Plus-Gleichem aus. Sagen wir Plus ist gleich
und dann sagen wir einfach Vektor-Menü mit drei Punkten und
dann nur eine Nulle, Nullen. Also noch einmal, wir
werden es am Ende einfach um
ein n in
die X-Richtung bewegen . Nachdem dieser
For-Loop abgeschlossen ist
, wollen wir sagen, dass
Verschieben gleich falsch ist weil wir es sonst im Grunde
nie
zurücksetzen können. Und dann wird
es, es wird im Grunde nicht funktionieren,
aber das, okay,
wenn wir das tun,
jetzt, wenn wir das Teil
berühren, beginnt
es sich
in die X-Richtung zu bewegen, zehn Blöcke für 10 s, und dann wird
es aufhören und dann
können wir es tatsächlich wieder bewegen. Also lass uns das der Argumentation
halber hier sehen, oder? Also sollte nichts
passieren, alles in Ordnung. Ich habe das nach 1
s angefasst . Sie können jetzt sehen,
dass es sich bewegt. Jetzt weiß ich nicht, was
passieren wird, wenn es hier auf diesem Spawnpad
ankommt. Ich bin eigentlich ganz ruhig, Oh,
was wird passieren? Und es wird aufhören. Es ist jetzt gestoppt. Und
ich kann es wieder anfassen und es wird
sich weiter bewegen. Wie du siehst. Das ist klar, nicht wahr? Weil es schon wieder erledigt ist. Und wenn ich es nach einer Sekunde
erneut berühre, kann
man es kontinuierlich sehen. Das ist also wirklich,
wirklich verdammt cool. Das ist eine großartige Sache, die hier
im Grunde funktioniert.
In diesem Fall ist es ein Beispiel dafür, wie Sie
darauf reagieren können , dass etwas passiert,
anstatt auf die Welt. Zusammenfassend lässt sich sagen, dass ein Ereignis an ein bestimmtes Objekt
angehängt ist. Und wenn dieses Objekt ausgelöst wird, je nachdem, was passiert, dann können Sie tatsächlich eine Funktion damit
verbinden, und Sie können diese Funktion
jedes Mal aufrufen, wenn dieses bestimmte
Ereignis abgefangen wird. Im Fall des
Touched Events kannst du jetzt zum Beispiel kannst du jetzt zum Dinge
reagieren, die
der Spieler tun könnte, die Welt
einfügen und dann bestimmte Dinge damit
machen. Nun, das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das
nützlich und Sie werden etwas Neues
lernen
und wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
23. (Roblox) Instanzen aus Skripts erstellen: Ordnung, lassen Sie uns
hier mit
den Grundlagen der Straßensperren für den Roblox-Kurs fortfahren . Und in dieser Vorlesung werden
wir
einen Blick darauf werfen, wie neue Teile herausgebracht werden. Was bedeutet es also,
neue Teile zu spawnen? Nun, wir werden Herzen mithilfe von Skripten
hervorbringen. Also werden
wir zunächst auf den
Server-Skriptservern ein neues Skript erstellen
und
es 09 Dash Spawning nennen . Wie wär's damit? Und das
nennen wir Spawn-Objekte. Da hast du es. Und was wir tun werden, ist
einfach ein neues Objekt zu erzeugen. Also werden wir einfach neue Teile spawnen. Und lassen Sie uns das zunächst im Drehbuch selbst machen
. Und dann machen wir es gleich
auf Knopfdruck. Wie würden wir also einen neuen Port
spawnen? Nun, lass uns einfach ein
Lokal machen und es einen neuen Teil nennen. Und das wird ein neuer
Teil sein ,
wie spawnen wir ihn? Wir sagen Beispiel,
und Sie können sehen, dass es uns das bereits
nahelegt. Wir können dies automatisch vervollständigen, indem wir die Tabulatortaste neu
drücken. Und dann
müssen wir hier drinnen den Klassennamen herausfinden. Also müssen wir den
Klassennamen als Zeichenfolge eingeben,
sobald ich anfange, die Anführungszeichen einzugeben
.
Sie können sehen, dass wir
tatsächlich, naja,
eine ganze Menge verschiedener
Klassen auswählen können , die es hier gibt. Wir können also einen neuen
Luftregler,
einen neuen Vektor mit drei Werten und ein
neues Modulskript hinzufügen , wenn wir dies wünschen. Aber in unserem Fall
wollen wir ein neues Herz. In diesem Fall wählen
wir einfach ein neues Teil aus. Und was passiert, wenn
ich das tun würde? Lass uns einfach spielen und
sehen, was passiert. Und was Sie feststellen werden, ist, dass, naja, nichts wirklich passiert. Lass uns sehen. Es gibt keine, es gibt
keine neuen Teile. also nichts wirklich passiert,
weil dieser Teil, in diesem Fall,
irgendwie nirgends entstanden ist. Wir können also die
Eigenschaften dieses Teils ändern. Wir können also sagen, dass z. B. der Name einem neuen Teil hier entspricht , oder? Jetzt haben wir ihm
einen neuen Namen gegeben und wir können sogar die Position
ändern, oder? Wir können sagen, während die Position jetzt Vektor drei
ist neu und sagen
wir 0150 oder
so. Und wir wollen
es auch verankern, oder? Also
machen wir einfach diesen Anker. Und wenn das
alles in Ordnung ist,
sollten wir es theoretisch ungefähr über dem Spawn
schweben sehen. Und du kannst nichts sehen. Und wenn wir in den Arbeitsbereich schauen, sieht
man auch, dass mein
neuer Teil nicht, nicht dazu gehört, weil wir eigentlich auch
die Eltern einstellen müssen. Das ist extrem wichtig. Elternschaft ist also wortwörtlich nur die Idee, wenn du dir den Explorer hier
ansiehst, aber das referenzierende Skript oder Referenzieren und
all meine anderen Skripte. Das übergeordnete Element sind die
Server-Skriptserver. Du siehst also einfach, dass das die Beziehung
ist. Sie können den
Elternteil auch hier sehen. Und wenn wir in den Arbeitsbereich gehen, können
Sie das Mikroteil sehen, dieses Elternteil ist der Arbeitsbereich. Und wenn Sie in
die Grundplatte gehen, wenn Sie eine weiter nach unten gehen, die Textur hier, diese
Elternplatte ist die Grundplatte. Welche Grundplatten? Elternteil ist der Arbeitsbereich. Das ist die allgemeine
Idee. Das sollte wirklich nicht
verwirrend sein. Es zeigt Ihnen im Grunde nur die hierarchische Struktur
des Explorers, und das
ist so ziemlich alles. Und wenn wir jetzt sagen, dass neues Teil, Elternteil gleich
Game Dot Workspace ist, setzen wir es plötzlich auf den Workspace. Und jetzt schauen wir mal, ob wir unseren neuen Teil
tatsächlich sehen können. Und was du plötzlich finden
wirst, da ist es, da ist
unser neuer Teil. Wenn wir in den Workspace gehen, sehen
wir einen neuen Port, genau den gleichen Namen, den
wir ihm hier gegeben haben. Und wir haben es
komplett durch ein Drehbuch hervorgebracht. Und normalerweise ist das immer die Bestellung, die Sie annehmen möchten. Also im Grunde willst du das neue Objekt
erstellen, dann willst du einige
der Variablen hier setzen , oder? Also werden wir die Eigenschaften
ändern. Und dann ist das
immer wichtig. Wir wollen das
Elternteil einstellen, oder? Und das ist eine sehr, sehr wichtige Sache, die wir den Eltern hier vorstellen
wollen. Andernfalls wird es überhaupt nicht
angezeigt. Was wäre, wenn wir
etwas Interessantes machen würden, oder? Was wäre, wenn wir einfach
das Touched Event bekommen würden, oder? Also machen wir hier
dasselbe, aber anstatt uns zu bewegen,
wird es tatsächlich
etwas anderes machen. Also was wir tun werden, ist, dass
wir das einfach
rüberkopieren und ich werde es einfach kommentieren
, denn nun ,
in diesem Fall möchte ich
eigentlich nicht, dass das Ding mit etwas anderem
verbunden ist. Wir machen das
beim Laichen. Also werden wir einfach ein Objekt
spawnen. Und dann
werden wir sagen, nun, weißt
du, was wir
tun sollten, anstatt bewegen, wird tatsächlich etwas
hervorgebracht. Also beim Touched Event, als wir
meinen coolen Teil angefasst haben, möchte
ich jetzt, dass neue
Ports erstellt werden. Also machen wir einfach
einen lokalen Newport und wir können fast
das Gleiche machen wie diesen, oder? Wir können einfach sagen,
Hey, in Newport, und nennen wir das einfach, nennen wir es einen anderen Newport. Und setzen wir eine 015. Lass uns telefonieren und eigentlich hätte
ich gerne so etwa 20 und werde es in diesem Fall
nicht verankern. Und dann lass uns das
tatsächlich aufstellen, das ein bisschen nach hinten
schieben. 525, okay? Und dann müssen
wir es immer noch dem Workspace zuordnen. Und wir fügen hier auch eine kleine Gewichtsfunktion hinzu, sagen
wir eine halbe Sekunde, weil wir sonst einfach
mit
neuen, verdammten Teilen überschwemmt werden, was eine
kleine Verzögerung hier drüben bedeutet. Aber jetzt sollte das so sein, solange ich auf dem,
was meinen coolen Teil angeht, richtig, es werden neue Teile
rein geschleudert. Also schauen wir einfach, dass das
etwas bewirkt, aber ich bin mir ziemlich
sicher, dass es das tun wird. Wir haben wieder unseren
Teil, den wir zuvor hatten. Und wenn wir darauf aufspringen würden, könntest
du sehen,
plötzlich können sie es sehen. Und jetzt fragst du dich vielleicht:
Moment, warum bringt es
so viele hervor? Wir haben es speziell so gemacht, dass die Gewichtsfunktion da ist. Also, wenn ich
nur so dastehen würde, aber damit du siehst, es würde
nichts verderben. Und wenn ich mich
bewegen würde und Sie sehen, dass es funktioniert. Und der Grund
ist natürlich, dass das Touched Event, in diesem Fall, eigentlich für jeden Teil
aufgerufen wird, oder? Im Grunde sagen wir also, dass
es nicht einmal wichtig ist, welches Teil hier
unser Mikroteil berührt. Für jeden von ihnen bringen wir einen neuen Teil hervor. Und wir haben bereits gesehen
, dass der Spieler aus winzigen, winzigen
verschiedenen Teilen besteht. Daher wird das
als wahnsinnig lange Zeit bezeichnet werden . Um es kurz zusammenzufassen, wenn wir in diesem Fall einen neuen Teil , können wir
in diesem Fall z. B. Punkt neu und wichtig
ausführen. Oder wir können auch
fast alles andere spawnen. Wir können eine ganze Reihe
verschiedener Klassen spawnen ,
so werden sie genannt. Sie
sagen im Grunde nur, okay, was für ein Teil oder welche
Art von Objekt ist das? In unserem Fall wollen wir nur portieren und es gibt noch
andere, oder? Der Spawnort als
eigene Klasse, solche Dinge. Wir könnten
diese Dinge also auch spawnen. In unserem Fall
halten wir uns an dieser Stelle nur an die
Teile. Wir können dann
die Eigenschaften ändern. Und dann ist es sehr wichtig
, dass wir das übergeordnete Element
des neuen Teils, den wir gerade
erzeugt haben, in den Game-Dot-Workspace setzen , da er sonst nicht angezeigt wird. Und am Ende hier haben
wir gesehen, dass wir das
auch mit
dem Touched Event verbinden können , was wirklich großartig ist. Jetzt bringen wir also Dinge hervor , während wir tatsächlich mit der Welt
interagieren. Ziemlich cool, aber das
war's für diese
Vorlesung hier. Ich hoffe, Sie fanden dieses und das
neue
Deo nützlich . Wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
24. (Roblox) Click: Ordnung, lassen Sie uns hier
mit dem Robo Space X fortfahren, dem Regelbuch-Kurs folgen
und in dieser Vorlesung werden
wir
über die Klickerkennung sprechen. Was könnte das sein? Nun, nun, lassen Sie uns ein neues Skript
im Server-Skriptdienst erstellen . Und wir nennen das zehn
und Dash Click Detection. Und das wird sehr interessant
sein. Also Klickerkennung,
was bedeutet das? Nun, Sie haben wahrscheinlich
ein oder zwei Spiele gespielt , bei denen Sie auf etwas klicken
konnten . Und genau das werden
wir auch tun. Also erstellen wir einfach ein
neues Teil im Workspace. Lassen Sie uns zunächst
ein neues Teil hier erstellen und nehmen wir das und lassen Sie uns das etwas vergrößern
,
nur damit wir wissen, dass es sich um ein anderes Teil
handelt. Lass uns das tatsächlich 55,5 machen. Da hast du es. Und dann färben wir auch
ein bisschen anders. Lass uns das machen. Blau
ist irgendwie nett, aber lass es uns ein
bisschen blauer machen. Ja, da hast du's. Wir
machen das auch verankert, damit es so in der Luft schwebt und
damit bin ich eigentlich
einverstanden. Wir haben jetzt also einen Floating-Port und werden ihn in Clicker umbenennen
. Und was dieser Teil braucht ist, dass er tatsächlich ein Unterobjekt
benötigt. Also werden wir hier
auf dieses Plus klicken. Und Sie können sogar sehen,
ob der häufig verwendete Klickdetektor genau das ist,
was wir hinzufügen müssen. Und Ihr Klickdetektor
hat nur ein paar Dinge, nämlich die maximale
Aktivierungsdistanz. Darüber werden wir gleich sprechen. Aber jetzt haben wir dafür einen
Klickdetektor. Was wir tun wollen, ist, dass wir das
tatsächlich als Variable bekommen wollen. Also holen wir uns den Klickdetektor,
und das ist eine Variable. Und jetzt gehen wir
zu Game Dot, Workspace Dot. Und dann müssen wir versuchen, den Clicker
zu finden. Also werden wir
den Clicker-Teil verwenden. Und weil
der Klickdetektor hier ein untergeordnetes Objekt
des Clickers ist, können
wir den
Klickdetektor tatsächlich besorgen, wie Sie sehen können. Fantastisch. Jetzt haben wir den
Klickdetektor hier, und das bezieht sich auf diesen
speziellen Clip-Detektor. Und jetzt können wir einfach eine neue Funktion
erstellen. Lassen Sie uns also einfach per Klick eine
neue Funktion erstellen. Und wir werden auch
den Player einbauen , denn
das ist eigentlich das, was wir für
die Funktion bekommen werden, oder? Wenn du auf etwas klickst,
bekommen
wir tatsächlich den Spieler
, der darauf klickt. Lassen Sie uns also zunächst diesen Player
ausdrucken. Klicken Sie auf Ich und drucken Sie dann
einfach den Player aus , das ist alles, was
wir tun werden. Und wie verbinden wir das? Nun, noch einmal, der
Klickdetektor hat in diesem Fall bestimmte
Ereignisse hier drüben, oder? Also haben wir, und wir haben
sogar ziemlich viele. Also zerstörend, das
sind normale Ereignisse, aber dann gibt es auch das Mausklick-Ereignis
und den Mauszeiger,
die Maus über der linken Seite und
das Rechtsklick-Ereignis. Und dann, ich glaube, das
sind die wichtigsten. Und das ist ziemlich großartig. Eigentlich. Wir werden das
MouseClicked-Ereignis
erneut verwenden , indem wir hier connect verwenden. Und dann können wir einfach
die onClick-Methode ohne
die Klammern einfügen. Also wollen wir
das einfach so weitergeben. Und wenn wir dann darauf klicken, werden
wir diese Funktion tatsächlich
ausführen. Das ist dieselbe Idee, die wir schon
beim Touched
Event gesehen haben , wo wir hier eine
Inline-Funktion angeschlossen haben. Wir haben die
Funktion gerade hier erstellt. Aber in diesem Fall haben wir
die Funktion schon einmal gemacht und dann fügen
wir sie dort ein. Es ist dieselbe Idee. Nun, wenn das alles der Fall ist, dann lass uns einfach spielen und wenn
wir tatsächlich da rübergehen. Das Erste, was
Sie sehen können, ist , dass, wenn ich mit der Maus
darüber fahre,
Sie sehen können, wie es sich
in eine Hand verwandelt, denn
nun, das ist jetzt anklickbar. Wenn ich mit der linken Maustaste klicke, kannst
du sehen, wie dieser
Spieler auf die Kamera geklickt hat. Jetzt sagt der Server plötzlich,
ja,
der Spieler klickt auf diesen
speziellen Clip-Detektor. Das ist wirklich großartig
, denn jetzt können wir
plötzlich auf einer ganz
anderen Ebene mit
dem Spiel interagieren . In diesem Fall gibt es
tatsächlich eine zweite Möglichkeit , dies zu tun. Und das heißt, Sie können dem Clicker selbst ein
Skript hinzufügen. Sie können das also
das Clickers-Skript nennen, sagen
wir, richtig. Und dann nehmen wir einfach dasselbe, was
wir hier haben. Und lassen Sie uns das einfach
dem Skript hier hinzufügen. Das ist jetzt also der
Klickdetektor, aber wir können tatsächlich etwas
anderes machen . Wir können Drehbuch sagen. Dadurch wird unser Drehbuch
in unsere Hierarchie aufgenommen. Und ich sage Elternteil. Und dann sagen wir Klickdetektor weil dieses Skript, richtig, wir gehen zum übergeordneten Element,
das ist der Clicker, und dann klicken wir
auf die Textur. Das wird auch funktionieren. Also, wenn ich das einfach, sagen wir
mal, kommentieren würde
, weil das ein
bisschen besser ist, wenn wir das tun. Da haben wir es. Das wird also
auskommentiert und dann haben wir das Clicker-Skript als
Kind des Clickers. Und das können wir auch tun. Und schauen wir mal, theoretisch sollte
das immer noch funktionieren. Und wenn wir hierher gehen, können
Sie sehen, dass wir immer noch dieses Ergebnis erhalten und das kann
manchmal besser sein. Vorher haben wir natürlich
alles in den
Server-Skriptdienst gestellt . Es könnte also
Sinn machen,
das Skript tatsächlich unter
unserem Clicker-Teil zu haben . Denn vielleicht, wenn wir das duplizieren
würden, und dann haben wir hier ein
zweites. Jetzt funktioniert dieser auch, ohne dass ich etwas tun
muss. Jetzt gibt es zwei verschiedene
Skripte, und
jetzt kommt natürlich das Problem hinzu
, dass Sie den Überblick
behalten müssen , welches Skript welches
ist und all das. Aber unabhängig davon
ist es irgendwie cool. Sie können dieses Skript auch
unter dem eigentlichen Teil haben .
Das ist nicht die Hauptsache. Die Hauptsache ist natürlich
die Erkennung von Klicks selbst, was eine weitere Möglichkeit ist,
mit
der Welt zu interagieren , und jetzt können wir verwenden, was Sie bisher
gelernt haben, oder? Dinge bewegen,
die Position schicken und schon kann man etwas
anklickbar
machen und man kann Positionen
ändern, z.B. rechts. Also nur der Argumentation
halber habe ich
hier etwas geschaffen , das vielleicht
interessant sein könnte. Also, wenn ich das einfach spiele und
lass es uns, und ich zeige es dir. Also, wenn ich hier rübergehe, haben
wir diesen roten
Würfel oben. Und wenn ich diesen anklicke, wechselt
der rote Würfel nach oben. Und wenn ich auf die
linke klicke, wechselt sie zurück. Also im Grunde nur eine Möglichkeit diese spezielle
Würfelposition zu
ändern. Das ist eine ziemlich coole Sache. Jetzt werde ich den Code eigentlich nicht
zeigen. Der Code wird
verfügbar sein, sodass Sie ihn herunterladen
können, und
Sie können
die Excel-Datei mit
dieser speziellen Anzeige beweglicher
Teile herunterladen die Excel-Datei mit . Was ich sagen würde ist,
dass Sie zunächst
versuchen, dies selbst zu erstellen. Und wenn du das schaffen könntest,
wäre das absolut fantastisch. Wenn Sie nicht weiterkommen, können
Sie es sich jederzeit
ansehen. Es sind im Grunde zwei
Clicker hier auf dem linken
und dem rechten Klicker. Und es sind zwei Drehbücher. Die Skripte sind jedoch
buchstäblich genau dieselben. Es könnte also eine
Möglichkeit geben, dies vorerst in einem Skript zusammenzufassen
, indem Sie
nur versuchen, zu sehen,
ob Sie
herausfinden können , wie Sie das erstellen können. Denn das
wäre schon eine wirklich coole
Art , einige der Dinge,
die wir bisher
gelernt haben, zu festigen . Zusammenfassend
ist der
Klickdetektor ein wirklich nützliches Tool, das Sie für die weitere
Interaktion mit der
Welt und Roblox verwenden können . Und es kann wirklich
für alles verwendet werden. Sie können einfach eine
neue Funktion erstellen, die
dann aufgerufen wird, wenn der Spieler auf einen Klickdetektor
klickt. Und das kann alles machen, was
du willst, oder? Aber das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
25. (Roblox) Kräfte anwenden: Ordnung, lassen Sie uns hier mit
den Roblox-Grundlagen
für den Robotik-Kurs fortfahren . Und in dieser Vorlesung werden wir uns
im Grunde genommen mit Gewalt und allem, was damit zu
tun hat, befassen. Was also
Kraft zwingt, ist im Grunde genommen einem bestimmten Teil
eine Kraft
hinzuzufügen. Und wir schauen
uns nur ein Beispiel dafür an. Also fügen wir hier einfach einen
neuen Teil und nennen ihn der Argumentation halber
den kraftvollen Teil. Und was wir für diesen Teil
tun wollen, nun, wir wollen das verschieben. Zuallererst
wollen wir das jedoch einschätzen. Lassen Sie uns das wieder auf 444 skalieren. Und dann können wir, naja, wir können viele
Dinge hinzufügen, wie wir gesehen haben, aber wenn wir nach Kraft suchen, können wir ein Kraftfeld sehen. Jetzt
wollen wir eigentlich kein Kraftfeld hinzufügen. Wir wollen entweder eine
Linienkraft oder eine Vektorkraft hinzufügen. Das ist jetzt fast
dasselbe. Es gibt einen kleinen Unterschied, aber zuerst schauen wir uns
die Vektorkraft an und dann
schauen wir uns gleich die
Linienkraft an. Die Vektorkraft zeigt
theoretisch einfach auf einen Vektor und schießt diesen Teil
dann im Grunde auf einen bestimmten Vektor. Wir benötigen jedoch einen Anhang. Sie können also sehen, dass dies ein
Anhang ist, der benötigt wird. Und die Kraft, die
ausgeübt wird, wird in diesem Fall
auf 1.000 in X-Richtung ausgeübt. Es würde also plötzlich in diese Richtung
schießen. Also lass es uns einfach hier ablegen. Und wenn wir das
einfach spielen würden, könntest du sehen,
dass, naja, nichts passiert. Sie können den Teil also
hier sehen, nichts passiert. Ändern wir in diesem Fall
die Farbe auf Gelb. Und wir werden
sehen können, dass
es theoretisch in diese Richtung gehen sollte. Dies ist jedoch nicht der Fall, weil
wir keinen Anhang haben. Also müssen
wir
diesem Truppenbericht eigentlich einen Anhang hinzufügen. Sie können sehen, wir können einfach danach
suchen und einen Anhang
hinzufügen. Und jetzt ist der Anhang ein
Teil dieses speziellen Teils. Wenn wir nun den
Anhang verschieben würden, können Sie ihn sehen. Okay, jetzt ist diese Bindung direkt mittendrin, das ist normalerweise das, was
wir eigentlich wollen. Wir können also einfach Anhaftung sagen. Wir können darauf klicken, auf
den Anhang klicken und Sie können
sehen, wie dieser angehängt ist. Wenn wir nun sichergehen wollen
, dass dies der richtige ist, können
wir diesen
kraftvollen Teileanhang auch umbenennen. Und wenn wir uns die Vektorkraft ansehen
, können
Sie eine kraftvolle
Teilebefestigung erkennen. Okay, lass uns das spielen und
mal sehen, was jetzt passiert. Was Sie sehen werden, ist, dass sich
das immer noch nicht bewegt. Also denkst du vielleicht,
das ist irgendwie komisch, oder? Weil wir es bewegen können,
aber es bewegt sich nicht. Nun, das Problem ist, dass zwischen
diesem Teil und der Grundplatte Reibung
besteht diesem Teil und der Grundplatte da
es natürlich zu Berührungen kommt. Und das kannst du dir vorstellen,
wenn du einen Würfel hast, der wie auf
einem Tisch liegt, um ihn zu bewegen. Das wird nicht so schlimm sein. Aber wenn es wie eine
gummiartige Oberfläche ist, wird
das
etwas schwieriger,
weil die Reibung
unterschiedlich stark ist. Also, wenn wir diese Truppe auf, sagen
wir in diesem Fall etwa
3.500,
erhöhen würden . Ich bin mir ziemlich sicher, dass das ausreichen
sollte
, damit es sich in X-Richtung bewegt. Und du wirst sehen, da ist es. Und es zoomt
häufig in den Himmel, bis,
naja , bis es im Grunde weg ist. Das ist also schon ziemlich cool. Lass uns versuchen, 2.500 zu machen. Vielleicht wird
es dadurch ein bisschen langsamer. Und vielleicht können wir dann auch noch jemand anderen
sehen. 2.500 sind
hier offenbar nicht ganz genug, wie Sie sehen können. Wir müssen also ein
bisschen mehr tun, aber das ist in Ordnung. Lass uns 3.000 machen und dann wird das hoffentlich nicht zu schnell gehen. Und dann können wir
das tatsächlich erweitern. Wir können den kraftvollen Teil sehen. Sie können sehen, dass die
Geschwindigkeit tatsächlich
etwas ist , weil sie sich
in diese Richtung bewegt, oder? Es hat tatsächlich eine
Geschwindigkeit, weil eine Kraft ausgeübt
wird , wenn ich
sie erhöhen würde. Also sagen wir einfach, es waren 50. Jetzt ist das Teil weg
, weil es
vom Boden des Himmels geflogen ist. Und wenn wir
das einfach neu starten und schnell in
den Workspace gehen und die Truppe hier
ändern, sagen
wir 5.000, oder? Plötzlich haben
wir jetzt eine
wahnsinnige Geschwindigkeit und
sie ist viel schneller. Nun, das ist eine Art, ein Teil zu
bewegen, oder? Mit einer Macht. Das ist schon sehr
interessant. Um das zu haben, gibt es eine
andere Art von Kraft. Das können wir auch haben, das haben wir gesehen. Es gibt eine Löwenstreitmacht. Der Unterschied
hier ist also subtil. Vektorkraft übt im Grunde eine Kraft in eine bestimmte Richtung aus. In diesem Fall macht die X-Richtung dies
nun relativ
zum Anhang. Das kannst du auch
relativ zur Welt verwenden. Der Unterschied besteht darin, dass,
wenn wir das drehen würden, richtig, wir jetzt also die X-Richtung
verwenden, was diese
Struktur genau hier ist. Was in Ordnung ist. Weil die
Extraktion der Welt auf
diese Weise erfolgt und die X-Richtung der Bindung auch so
ist. Wenn wir die Anhänge
rotieren würden. Also ich habe jetzt
den Aufsatz ausgewählt und drehe ihn
um 90 Grad, oder? Also lass uns einfach
hier nochmal nachschauen. Modale Drehung um 90 Grad. Ich habe das gerade überprüft. Und wenn ich
es um 90 Grad drehen würde, das X
des Aufsatzes plötzlich ist das X
des Aufsatzes plötzlich
in diese Richtung. Jetzt sind wir alle
irgendwie verwirrt, weil, naja, die Macht, okay, lass uns einfach
zuerst für einen Moment die Leitung loswerden. Die Vektorkraft wird
relativ zur Befestigung verwendet. Also
zoomen wir jetzt in diese Richtung. Wenn du sagst, warte, was
zur Hölle passiert? Nun, schauen wir uns das mal an und Sie werden sehen, dass es jetzt nicht
in diese Richtung zoomt, sondern in diese Richtung. Weil die Kraft lokal angewendet
wird, weil wir
Weltkoordinaten haben. Die Welt in dieser Richtung
ist also x, diese Richtung ist z
und die Aufwärtsrichtung ist der Grund, warum das alles
mehr oder weniger in Ordnung sein sollte. Aber dann hast du auch Anweisungen für deine
eigenen Teile, oder? Denn wenn du dich auseinanderdrehst, wird es plötzlich gedreht. Siehst du, das ist jetzt x, das ist x, das ist z, das ist y.
Das ist alles in Ordnung. Aber wenn wir es
um 90 Grad um
die X-Richtung drehen würden , oder? Plötzlich ist y jetzt
anders, weil wir die Rotation
geändert haben. Wenn man also die
Drehung von etwas ändert, ändert
man sein lokales
3D-Koordinatensystem lief eine ziemlich verrückte
Sache, aber insgesamt
hoffentlich einigermaßen
verständlich, hoffentlich einigermaßen
verständlich dass es einen Unterschied zwischen einem lokalen
Koordinatensystem und dem globalen
Koordinatensystem gibt. Und das war die Vektorkraft. Lassen Sie uns auch über
die andere Kraft sprechen. Das ist die Linienstärke. Lassen Sie uns hier einfach die
Vektorkraft deaktivieren. Und die Linienstärke muss, wie Sie sehen, an
Anhängen hängen. Was wir also tun können, ist einfach einen neuen Port zu erstellen. Das wird der,
dieser hier, und
wir werden das gelb machen, aber wie orange,
das wird okay sein. Lassen Sie uns das ein wenig vergrößern. So etwas. Mir geht es eigentlich gut mit. Und wenn wir, sagen
wir, das ein bisschen drehen
und das
um zwei verschieben würden sagen
wir, das ein bisschen drehen
und das
um ,
ungefähr so. Was wir tun könnten, ist hinzuzufügen, dass dies der Teil der Kraftlinie
sein wird . Nur um das zu demonstrieren, wollen
wir dem einen, einen weiteren
Anhang hinzufügen. Jetzt
ist dieser Anhang wieder mittendrin. Wir können den Anhang verschieben und Sie sollten
sehen können, ob wir das tun. Lassen Sie uns das auch umbenennen. Befestigung mit Linienkraft. Das können wir jetzt auch verschieben. Und du kannst sehen, dass es ein kleiner
Punkt hier ist , dass
du C sein
wirst. Du kannst das auch sichtbar machen Du kannst das auch sichtbar machen
und dann wird es immer sichtbar sein auch wenn wir
es nicht ausgewählt haben, kann das manchmal nützlich sein. Wenn wir das also einfach wie oben hier drüben bewegen würden , können
wir jetzt
den kraftvollen Teil der Bindung nehmen und ihn an die andere Bindung anhängen,
die Arbeitskräftebindung eine Linie
bilden und dann wird
sich
dieses spezielle Objekt über diese Linie bewegen. Also wird hier im Grunde der erste Anhang
gezogen. Wenn wir also zur
Linienkraft gehen, richtig, dann zieht sie die kraftvolle Bindung
in Richtung der Linienbefestigung. Wenn wir eine
Reaktionstruppe aktivieren, ist
das wichtig. Und dann
ist Größe wieder nur die Vorstellung davon, wie schnell es geht. Also, wenn wir das einfach ausführen würden, lassen Sie uns sehen, ob das
etwas bewirkt, das jeder sehen wird, nichts passiert, aber 1.000 waren
wahrscheinlich nicht hoch genug. Lass uns einfach 4.500 machen, so
etwas. Vielleicht
reicht das in diesem Fall. Und das ist in der Tat genug. Und du kannst sehen, dass es
versucht, das zu erreichen. kann es jedoch aufgrund der Schwerkraft
nicht diesem Fall kann es jedoch aufgrund der Schwerkraft
nicht
aufstehen. Was wir also tun könnten,
ist,
diesen Wert zu erhöhen, um
die Linienstärke noch stärker zu machen. Wir könnten also
etwa 7.500 machen, vielleicht nicht 75 K, das sind ein bisschen viel 7.500,
vielleicht so etwas. Und wir können sehen
, ob das etwas bewirkt. Und jetzt ist es so, als hätte es tatsächlich die Ohrmuschel
umgeworfen, was auch irgendwie lustig ist. Aber du kannst sehen, dass es
im Grunde
eine Linie von der Mitte
dieses Würfels bis zu diesem zieht eine Linie von der Mitte . Also von der gewaltsamen
Bindung an den anderen. Das sind also die beiden
Arten von Kräften, in diesem Fall die
Vektorkraft und die Ausrichtungskraft, die
beide bei Anhängen verwendet werden. Sie sind auch sehr interessant ,
weil man mit
Bindungskraft tatsächlich viele
Dinge machen kann , und wir werden in zukünftigen
Vorlesungen auch einiges damit machen. Zusammenfassend lässt sich sagen, dass es insgesamt zwei Arten von Kräften
gibt, die Vektorkraft
und die Linienkraft. Die Vektorkraft
übt einfach eine Kraft in einer bestimmten Vektorrichtung
für eine bestimmte Befestigung Die Vektorrichtung kann relativ zur
Befestigung selbst sein. Es wird also die Richtung
ändern abhängig von der Drehung
des Aufsatzes selbst. Oder es kann relativ
zur Welt sein,
was bedeutet, dass die Objekte, die Ausrichtung
oder Drehung des Objekts
keinen Einfluss darauf haben, in welche Richtung die Kraft ausgeübt wird. Es gibt auch eine Linienkraft , bei der eigentlich
zwei Aufsätze verwendet werden. Es übt also im Grunde
eine Kraft von einer Bindung
auf die andere aus. Zeichnet also eine Linie von
einer Anlage zur anderen und übt dann
eine Kraft auf diese Linie aus. Und das war's
für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich
und Sie lernen etwas Neues und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
26. (Roblox) Einschränkungen: Ordnung, lassen Sie uns
hier mit
dem Roblox-Anfängerbereich für den Roblox-Kurs fortfahren . Und in dieser Vorlesung werden
wir
uns mit Einschränkungen befassen. Einschränkungen sind eine sehr, sehr interessante
Sache, die Sie Ihrem Arbeitsbereich wieder
hinzufügen können , wodurch
die Bewegung Ihrer Teile eingeschränkt wird. Nun, das wird
ein oberflächlicher Überblick
als Einführung hier sein ,
das ist, kann sein, ich meine,
das könnte eine eigene
zweistündige theoretische Vorlesung haben. Also fügen wir
einfach einen neuen Teil hinzu
und machen das, sagen wir mal, ein
bisschen dunkleres Orange, vielleicht ein bisschen
dunkleres Orange. Da hast du es. Und wir werden das
einfach ein wenig vergrößern und dem
einen Anhang hinzufügen. Das wird also der betrügerische,
ausgelaugte Teil sein und das
wird eine Einschränkung haben. Zuallererst wird
es einen Anhang haben. Eigentlich. Das wird der betrügerische,
gestreamte Anhang sein , nur
damit wir wissen, was das ist. Und dann können wir
suchen, damit wir etwas
hinzufügen können und wir können einfach nach Einschränkungen suchen. Und Sie können sehen, dass es
eine Reihe von Einschränkungen gibt. Wie Sie deutlich sehen können, kann
Balsa einschränken. Es gibt ein zylindrisches
Zustimmungsscharnier, kein Kollisionsspiel in
prismatisch, starr, als gäbe es hier alle möglichen
Dinge, die man haben kann, und die machen unterschiedliche Dinge. Beispielsweise bildet die Seilbeschränkung ein Seil zwischen
zwei Befestigungen. In unserem Fall werden
wir also
den ersten Anhang
B haben , unseren eigenen Anhang. Und dann schauen wir mal. Der zweite Eigensinn
ist der Eigensinn für unseren kraftvollen Teil. Und dann sieht
man plötzlich, dass es
ein Seil zwischen ihnen bildet. Wenn ich also tatsächlich die Sichtbarkeit
aktiviere, kannst
du sehen, dass das
jetzt ein Seil ist, das zwischen dieser Befestigung
und dieser Befestigung
gesponnen wird. Und das Seil ist echt cool. Sie können also
unterschiedliche Dicken haben. Das wäre also ein wirklich
dickes, dickes Seil. Also setzen wir es wieder auf 0,1. Du kannst natürlich auch die Farbe ändern, oder? Wenn Sie also eine
andere
Seilfarbe haben , die Sie möchten, funktioniert
das auch. Und dann gibt es noch ein paar
interessante Dinge ,
und das ist die
Länge hier drüben, die Restitution
sowie die aktivierte Winde. Wenn wir die
Winde aktivieren, können wir noch ein paar weitere Attribute
verwenden. Aber lass uns einfach sehen, lass uns die Länge so machen, dass du sehen kannst, ob ich die Länge
erhöhe, zehn ist nichts, aber wenn
ich zwei mache, Wendy, z. B. wenn ich 50 mache, Lass uns gehen. Okay, also 20 sind
nicht ganz genug, aber 30, nicht ganz 40. Und dann wird es hier
irgendwie nachgelassen weil es länger ist, als es
eigentlich sein muss, oder? Also, wenn ich 32 oder
so machen würde, wird das immer noch gelehrt. 35 geht schon
irgendwie unter. Das sieht man also
daran, dass das Seil
eine bestimmte Länge hat. Wenn ich es dann bewege, kannst
du es sehen. ist es tatsächlich. Es
berücksichtigt die Länge des Seils,
wenn es angezeigt wird. Das ist also wirklich,
wirklich cool, oder? Und was wird jetzt passieren? Nehmen wir an, ich mache diesen speziellen
Teil hier vor Anker. Das heißt, dieser Typ
bewegt sich nicht wie das, was
du verdammt noch mal tust. Aber was
passieren wird, ist, dass ich meine
Vektorkraft hier
wieder aktiviere. Der Würfel möchte also in
diese Richtung verkleinern. Was denkst du?
Was wird passieren? Lass uns einfach einen Blick darauf werfen und
sehen, was passieren wird. Also werden wir den Würfel finden, während er versucht, sich
in diese Richtung zu bewegen. Aber natürlich
kann es das, weil es durch die
Seilbeschränkung eingeschränkt ist. Das ist wirklich großartig. Und damit kannst du einige
interessante Dinge machen. Das ist also ein Beispiel für
die Seilbeschränkung. ob es so viele Einschränkungen gibt wie Sie deutlich gesehen haben, oder? Eine weitere interessante Einschränkung ist die Federbeschränkung. Das ist das hier, und es ist ein bisschen
knifflig zu benutzen, aber wenn du es einmal verstanden hast, ist
es wirklich cool. Zuallererst werde
ich dafür den
Beschränkungsanhang
etwas nach unten verschieben den
Beschränkungsanhang
etwas nach unten , nur weil er
einfach so ist, dass er sich
auf der gleichen Ebene
wie der andere befindet. Das wäre also, wo ist es? Das ist minus vier. Die Wortposition
ist also tatsächlich 1,5
im Y und die
Weltposition hier ist zwei. Also lass uns einfach hinzufügen, mach das 12. Da hast du es. Und jetzt sollte es
auf dem gleichen Niveau sein. Und dann können wir
diesen Anhang tatsächlich anhängen .
Null ist wieder der
Beschränkungsteil und Anhang Eins ist der kraftvolle Port. Sie können sehen, dass es
jetzt eine Feder gibt und wir können
das Aussehen hier ändern ,
indem wir weitere Spulen hinzufügen. Wir können den
Radius hier auf
Verrücktheit und die Dicke
auf etwas richtig Dickes ändern . Nochmals, lassen Sie uns das einfach immer
sichtbar
machen , damit wir es vorerst haben
. Und das ist nur der Schein. Das ändert also nichts
an der Funktionalität. Die Funktionalität ist dann hier mit der Feder
erledigt. Die aktuelle Länge ist also 16. Also sagen wir einfach, dass
die drei Längen, das ist im Grunde die
Länge, die Sie wollen. Sie können sehen, dass es
tatsächlich die Länge ist ,
bei der die Feder
keine Steifigkeitskraft ausübt. Das bedeutet,
dass
dieses bestimmte Objekt nicht
mehr verschoben wird . Und das ist in Ordnung. Wenn du 16 sagst, dann würde nichts passieren, wenn wir
das einfach ausführen würden. Und es ist auch keine Steifigkeit, sodass sowieso nichts passieren wird. Aber wenn wir
die Steifigkeit auf 1.000 setzen würden, sagen
wir, lassen Sie uns Dämpfung auf etwa fünf erhöhen,
ungefähr so. Und lass uns das einfach spielen. Oh, aber bevor wir anfangen, lassen Sie uns die Vektorkraft
deaktivieren, nur damit wir sie deaktiviert haben. Und dann lass uns wirklich hier
rein gehen und du wirst das sehen
können,
wenn ich drin bin, richtig. Moment
passiert also nichts, wenn ich versuche, das hier reinzustellen
und mir das anzusehen, richtig. Plötzlich
prallt es zurück, oder? Also kann ich das bewegen. Dem Frühling entgegen. Und es
wird immer versuchen,
die Entfernung zu ermitteln, die
in der Einschränkung hier definiert ist. Sie können also sehen, dass die aktuelle
Entfernung 17 beträgt. Ich kann das verkleinern, indem ich
es im Grunde nach rechts schiebe. Und dann wird es
wieder verlängert. Jetzt ändert sich die aktuelle Länge
hier nicht. Es
ändert sich wahrscheinlich nur auf dem Server, was eigentlich
eine interessante Sache ist. Lassen Sie uns also tatsächlich sehen, ob
dies tatsächlich der Fall ist. Und du kannst sehen, dass du hier ziemlich
verrückte Dinge tun kannst. Aber ja, es
ändert sich auf dem Server. Das ist also gut zu wissen. Aber ja, das ist eines
dieser Dinge, die du tun kannst, einige wirklich interessante
Dinge, damit das funktioniert. Natürlich braucht die
Federzwang eine ausreichend hohe Steifigkeit und im Grunde genommen drei
Längen, oder? Also, wenn wir
diese freie Länge plötzlich verringern würden, würde
es das rückgängig machen, weil, nun
ja, jetzt ist die freie Länge
12 und es wird versuchen die aktuelle Länge
ungefähr auf die freie Länge zu
bringen. Nicht genau, aber so viel
wie es im Grunde genommen werden kann. Und weil die
Feder in diesem Fall, einmal um tatsächlich ein Gleichgewicht zu
halten, beide mögen, sie will nicht zu lang sein und sie
will auch nicht zu kurz sein. Sie können auch Grenzwerte aktivieren. Das wäre also die
maximale Länge, oder? Sie können also, die maximale Länge
ist kleiner als die freie Länge, macht
keinen Sinn. Du kannst also so etwas
wie 20 und minlength sagen, du kannst
so etwas wie fünf sagen und dann
kannst du es nicht einmal
näher an das herankommen lassen. Also, wenn wir das jetzt
nur noch ein bisschen mehr hierher
verlegen würden . Schauen wir uns so etwas an,
das
einfacher sein wird , als wenn Sie versuchen würden, weniger als fünf zu versuchen,
lassen Sie uns tatsächlich zehn machen. Vielleicht wird das
ein bisschen einfacher und das
wird nicht einmal funktionieren. Also du kannst da sehen,
ich verstehe tatsächlich, ich kann das nicht mal
mehr drücken, weil das die tatsächliche Mindestlänge ist. Wenn es Null ist, kann es so kurz
sein, wie Sie möchten. Was ich also
mit den Einschränkungen,
insbesondere der
Federbeschränkung, sehr empfehle , denn das kann manchmal sein, es gibt viele Dinge, die
Sie hier ändern können. Ich empfehle dringend, ein wenig damit
herumzuspielen, einschließlich einiger
anderer Einschränkungen. Die Zeilenbeschränkung ist also wahrscheinlich eine der
am einfachsten zu handhabenden. Die Federbeschränkung ist
etwas komplizierter, und einige der anderen
sind noch komplizierter. Sie ermöglichen jedoch fast alle möglichen
physikalischen Dinge. Theoretisch also mit der Federbeschränkung und
einigen anderen, den Scharnieren und den
zylindrischen Beschränkungen. Man kann tatsächlich Physik
bauen, Autos
simulieren und
solche Sachen. Das ist eigentlich so, wie wir es mit echter Physik
simuliert haben. Es ist verrückt, dass
das funktioniert, aber es funktioniert. Aber das ist etwas für fortgeschrittene, fortgeschrittene
Leute, oder? Als ob das im Moment nichts
für uns wäre, aber es ist ziemlich cool. Ich kann also nur wärmstens empfehlen, ein bisschen mit einigen
Einschränkungen
herumzuspielen ein bisschen mit einigen
Einschränkungen und einfach zu schauen, was
man sich einfallen lässt, das ist im Grunde immer eine
der besten Ideen, um zu lernen,
wie das alles funktioniert. Zusammenfassend lässt sich sagen, dass es mehrere
Einschränkungen gibt , die Sie Ihren Teilen
hinzufügen und dann zwei Anlagen
hinzufügen können . Und es kann die Teile
in ihrer Bewegungsfähigkeit einschränken . Es gibt viele verschiedene
Arten von Einschränkungen. Wir haben hier das Seil und
die Federbeschränkung
als zwei Beispiele gesehen . Und noch einmal, wir werden erwähnen, ich
nur empfehlen kann, einfach
mit einigen von ihnen herumzuspielen , und dann können wir
hoffentlich auch
einige coole Anwendungen für sie finden . Aber das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich
und Sie lernen etwas Neues und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
27. (Roblox) Spawn-Punkte: Ordnung, lassen Sie uns hier mit
den Grundlagen der Straßensperren fortfahren Folgen Sie dem Robotik-Kurs und
in dieser kurzen Vorlesung werden
wir über das Hinzufügen
neuer Spawnorte sprechen. Also natürlich das Hinzufügen
eines neuen Spawn-Standorts. Das ist überhaupt
nicht verrückt, oder? Du kannst es buchstäblich einfach
tun, indem du zum
Modell-Spawn gehst und dann
gibt es einen weiteren Spawn, oder du könntest den
bereits vorhandenen Spawn duplizieren. Was passiert, wenn Sie zwei davon
am selben Ort
haben ? Nun,
lass uns einfach spielen. Und wir werden natürlich sehen
, dass ich genau hier spawne. Also spawne ich die nächsten beiden und
klicke hier auf Game. Lass uns einfach aufhören und
lass uns wieder spielen. Und lass uns einfach sehen
, wo es jetzt geboren ist. Jetzt spawne ich auch
neben dem Klickspiel. Das ist also ziemlich cool. Und lass uns wiedergeboren werden. Und hoffen wir, dass die
Kräfte des Zufalls auf
meiner Seite sind , denn jetzt habe ich nicht neben
dem Klickspiel gespawnt, sondern tatsächlich neben der Quelle hier drüben,
was ziemlich cool ist. Die Idee ist also, dass, wenn du
mehrere Spawns hast ,
die dasselbe Team
sind , dir einfach
nach dem Zufallsprinzip einer
von ihnen zugewiesen wird . Wenn du einen
der Spawnorte
auswählst und den ganzen Weg nach unten gehst, kannst
du sehen,
dass es eine erlaubte
Änderung bei Berührung gibt und
auch die Teamfarbe. Dafür braucht man also
tatsächlich Teams. Wir werden
uns das nur ansehen. In unserem Explorer können
wir also tatsächlich einige Teams hinzufügen. Also können wir ein Team hinzufügen.
Wir werden dieses Team einfach Rot
nennen. Und dann fügen wir auch
ein weiteres Team hinzu und das wird Team Blue
sein. Team blau. Wir werden
das einfach bläulich färben. Und die andere, wir werden eine rötliche Farbe
daraus machen. Wirklich bereit,
das gefällt mir, das ist ziemlich cool. Und das ist so ziemlich
alles, was Sie tun müssen. Wir können die automatische
Zuweisung ein- oder ausschalten. Lassen wir sie
einfach für beide an. Und wenn wir jetzt zu dem
kleinen Ort gehen, oder? Und wir gehen runter, wir können die Teamfarbe ändern,
wirklich rot, und wir können sagen:
Erlaube dem Team, sich zu ändern. Und dann können wir hierher gehen
und das auch sagen, und das wird
das blaue sein. Ich glaube, es war
so, Electric Blue. Ich bin mir ziemlich sicher, dass wir unsere beiden Teams
haben. Im Moment sind
die Löffel jedoch neutral,
wir wollen, dass sie nicht neutral sind. Wenn du spawnst,
hast du also bestimmte Teams, die damit verbunden
sind. Also lass uns einfach hier reingehen. Im Moment bin ich also im Team Rot
, weil ich genau hier spawne. Wenn ich zum anderen Spawn gehe und den
anderen Span
berühre, bin ich plötzlich Tim Blue. Lass uns gehen und ich kann zurück gehen
und wieder zu Team Rot gehen. Und du kannst sogar sehen, dass
du die Teams wechselst. Das ist nicht immer das,
was du willst, oder? Könnte sein, vielleicht
willst
du eigentlich nicht , dass die Leute ihr Team
wechseln. Dann sagst du einfach: Hey, du kannst nicht zulassen, dass der
Teamwechsel bei uns erscheint. Das funktioniert also. Also kannst du das einfach ausschalten. Und was auch wichtig
ist , ist, wenn wir das jetzt auf, sagen
wir, wirklich blau
statt auf elektrisches Blau ändern würden jetzt auf, sagen
wir, wirklich blau , oder? Aber wenn ich das aktiviert habe, wird
die Teamfarbe Elektroblau sein, aber bei Teamblau wird die
Teamfarbe
tatsächlich blau sein. Was wird
jetzt passieren? Mal sehen, ich gehe ins kleine Team Rot. Und wenn ich hierher gehe, verändert
das jetzt das Team. Du kannst sehen, dass es mich auf neutral umstellt, weil es die Teamfarbe nicht
findet. Das ist sehr wichtig. Das ist also ein wichtiger
Teil davon. Also im Grunde, wenn wir hier rein gehen, die Teamfarbe direkt
an der Spawn-Position, das müssen eigentlich
genau die gleichen Teamfarben sein. Das wäre also Electric Blue. Und dann
muss das auch elektrisch blau sein. Diese Teamfarben sind
im Grunde identisch. diesem Grund können Sie auch
zwei Teams mit derselben Farbe haben . Das ist eigentlich ein sehr
wichtiger Teil davon, aber das ist die
allgemeine Idee,
Teams und neue Spawnorte hinzuzufügen . Nun, was Sie in der guten Sache
tun sollten, ist all
diese Teams und all
diese vier Standorte
mithilfe eines Skripts zu erstellen . Das ist auch eine kluge Idee. Wir werden das
vorerst nicht tun. Ich wollte dir nur im Grunde zeigen, wie
du
einen weiteren Standort hinzufügst und
wie du dir das Team ansiehst. Das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas
Neues lernen und wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
28. (Roblox) Spieler vs Charakter: Lassen Sie uns
hier mit
den Roblox-Grundlagen für den Roadblocks-Kurs fortfahren . Und in diesem Vortrag werden
wir
über Charakter gegen Spieler sprechen . Was ist also ein Spieler und
was ist ein Charakter? Wir haben die Spieler
hier im Explorer gesehen. Und wenn wir mitmachen, dann können wir tatsächlich sehen , dass etwas
dazukommt und das ist zählbar. Da bin ich also, ich werde als Spieler
hinzugefügt, aber wenn wir in den Workspace gehen, werde
ich auch
im Workspace hinzugefügt , was ziemlich interessant
ist. Schauen wir uns das aus
der Sicht des Servers an. Auf dem Server können wir also sehen
, dass der Spieler auch
durchkommt und wir haben auch
den modalen Kilometer. Sie können also sehen, dass dies ein Modell ist, während dies
hier ein Spieler ist. Also, was ist jetzt der Unterschied
zwischen dem
Spieler hier und dem Model
oder dem Charakter
, also was die
einzelnen Dinge macht. Der Player enthält also eigentlich
welche Spielerdaten, oder? Das wird also etwas
sein, das für mich in meiner Benutzer-ID
einzigartig ist , ich habe ein Team, oder? Das ist also spezifisch
für meinen Spieler. Während der Charakter
oder das Modell hier
nur die physische Repräsentation
ist , oder? Das wird also sein, das ist
das Modell oder der Charakter, und das hat verschiedene Farben. Es hat, es hat ein Gesundheitsset, es hat eine humanoide Komponente. Und die humanoiden
Komponenten sind,
wie Sie sehen können, für einen
Teil der Skalierung verantwortlich , für einen Teil der Breite,
diese gleichmäßige Beschreibung. Sie können also sehen, dass es
verschiedene Accessoires gibt. Das sind also all
die visuellen Dinge. Dazu gehören auch Skripte, wie Sie sehen können, lokale
Skripte wie Animate. Das sind also im Grunde alle
Animationen, die Sie sehen, wenn ich mich hier
bewege. Diese Animationen, oder?
Die Laufanimation, die Sprunganimation,
all das, das alles wird über die
Animation hier drüben gemacht, dieser Typ, auf den ich
wirklich eingehen kann. Sie können also tatsächlich sehen, dass dies
das Animationsskript ist , das bereits hier ist. Und du kannst sehen, dass hier
eine Menge Sachen drin sind. Wie Sie also deutlich sehen können, können
einige dieser Peelings ziemlich verrückt werden. Wenn man also
wirklich darüber nachdenkt,
ist es wichtig,
dass der Spieler, wenn wir
irgendwelche Werte hinzufügen wollen, diese mit dem Spieler hinzugefügt werden während dem Charakter alles andere
hinzugefügt wird. Du kannst also sehen,
ob, du kannst sehen, ob ich den Player hier drüben ausbaue, da drüben ist ein Rucksack, da ist etwas Starterausrüstung. Wenn du also Ausrüstung hast, richtig, würdest
du sie
im Player speichern und sie
würde im
Charakter oder im Modell angezeigt. Wenn
du also aus irgendeinem Grund
das Aussehen unseres
Charakters ändern möchtest ,
müsstest du dich auf
den Charakter beziehen und
nicht auf den Spieler. Jetzt kannst du den Charakter
über den Player bekommen, oder? Denn wenn ich hier
auf Kontrolle klicke, kannst
du tatsächlich sehen, dass wir hier eine
Charakterreferenz
haben, und die ist kollegial, was
genau dieser Typ
hier ist , oder? Sie sind also miteinander verbunden. Du kannst den Charakter
vom Spieler bekommen. Aber das ist die allgemeine Idee. Zusammenfassend lässt sich sagen, dass der Charakter alles
ist, was visuell ist. Es hat im Grunde einen Verweis auf alle Modelle und
all das humanoide Zeug und ist
innerhalb des Arbeitsbereichs verfügbar. Theoretisch würde man aber
immer über den Player gehen. Man wartete immer,
bis der Spieler geladen
hat oder
so, und ging dann tatsächlich über den
Spieler zum Charakter,
weil der Spieler einen Bezug
zu dem Charakter
hat und der Spieler selbst im Grunde
der eigentliche Kunde
ist und alle möglichen Entzündungen hat,
einschließlich
eines gewissen
Wertespeichers, was
in der nächsten Vorlesung tatsächlich zu sehen sein wird. Nun, das wird für
diese Vorlesung hier sein. Ich hoffe, Sie fanden das nützlich und Sie werden etwas
Neues lernen und wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
29. (Roblox) Variablen auf dem Player speichern: Lassen Sie uns
hier mit
den Roboter-Grundlagen für den Robotik-Kurs fortfahren . Und in dieser Vorlesung werden
wir uns
ansehen, wie Sie bestimmte Variablen
auf Ihrem Player
speichern können . Nun, das mag auf den ersten Blick ein bisschen
erscheinen, und das ist
nicht wirklich nützlich,
aber es ist in der Tat
sehr, sehr interessant. Wo können wir diese Werte also
hinzufügen? Wir möchten diese Werte
dem Starterpaket hinzufügen. Sie können also Werte
hinzufügen, wie Sie sehen können Wenn ich nach Werten suche, fügen
Sie
Farbwerte zu Wertzahlen hinzu. Es gibt also eine Reihe von Dingen
, die wir hier hinzufügen können. Sagen wir einfach, wir
fügen einen Endwert und nennen wir das einfach. Ich habe es nur zur
Diskussion hier erlebt, nur damit wir
etwas haben, mit dem wir arbeiten können. Wenn wir jetzt
anfangen würden zu spielen, oder? Und wenn wir in
den Spieler schauen und Joel beruhigen und dann in den Rucksack, siehst
du, dass ich etwas
Erfahrung in meinem Rucksack habe. Nun, in diesem Fall macht es natürlich nicht
viel Sinn, den Rucksack zu
erleben konzeptionell
nicht
viel Sinn, den Rucksack zu
erleben, aber denk einfach
darüber nach, okay, du wirst deinem Spieler jetzt etwas
Erfahrung hinzufügen. Wir werden das
in der nächsten Vorlesung
auf eine etwas nettere Art sehen . Aber nur der Argumentation
halber werden
wir es vorerst
so belassen. Jetzt, im Moment,
können wir mit der Erfahrung wirklich alles machen, als ob es deine Meinung nicht
ändert. Ich schätze, wir können es hier
ändern, aber das bringt nichts, oder? Aber was wir tun wollen, sagen wir einfach, dass wir
die Erfahrung jedes Mal ändern wollen , wenn ich die Position hier ändere. Sagen wir, als ich auf den anderen
Block hier drüben
gesprungen bin , oder? Das wäre also der
Berührungsblock, oder? Wenn ich mich darauf
einlasse, anstatt
1 Milliarde Dinge zu erkunden, würde ich
eigentlich einfach
die tatsächliche Erfahrung
dieses bestimmten Spielers ausdrucken wollen . Okay, das klingt, das
klingt sehr interessant. Theoretisch sollten Sie dies
bereits selbst
tun können. Aber lassen Sie uns das einfach durchgehen. Jetzt werde ich hier zuerst ein neues Objekt
erstellen und wir werden das
ein bisschen anders behandeln. Also lasst uns das in einer
etwas anderen Farbe einfärben, vielleicht ein
bisschen dunkelrot. Ja, das ist gut. Burgund. Absolut. Das ist Burgunderrot.
Wir behalten das als Clicker mit einem
anderen Skript. Dies wird tatsächlich der Erlebnisklicker
sein. Und das wird das
Erlebnis, das Clicker-Skript
sein ,
weil
es tatsächlich das tatsächliche Erlebnis
der Spieler ausgibt. Jetzt haben wir den
Spieler hier, oder? Wenn es darauf klickt,
können wir tatsächlich Player Dot machen und dann Backpack
und dann Dot Experience. Wird das funktionieren? Nun,
es wird danach suchen. Und solange wir hier
alles richtig geschrieben haben, sollte das funktionieren, oder? Also sollten wir in der Lage sein, diesen Spieler zu
sagen, oder? Und dann können wir tatsächlich einen Spieler
machen, der den Namen
des Spielers ausgibt, hat XB, oder? Das sollte also die Ausgabe sein, die
dieser Spielerrat hat, und dann die Erfahrung, die wir tatsächlich
im Rucksack
haben. Mal sehen, ob das
tatsächlich etwas bringt, oder? Also lass uns hier reingehen
und mal sehen, wo es genau hier ist. Wenn ich also darauf
klicke, sollten wir diese Anzahl sehen
können, diese Spielerzählung
hat XP erlebt. Okay, nun, das ist
nicht ganz das Training, wie wir es uns vorgestellt haben, weil
unsere Erfahrung hier, richtig, das ist ein Ganzzahlwert. Wir müssen tatsächlich den Punktwert machen und dann bekommen wir den
Wert, denn
wenn wir einfach Erfahrung haben, bekommen
wir natürlich wenn wir einfach Erfahrung haben, bekommen einfach den Namen, richtig. Es ist also standardmäßig der Name und wir
wollen den Wert tatsächlich erhalten. Also theoretisch,
wenn ich das nochmal mache, wenn wir hier reingehen
und darauf klicken,
dann können wir sehen, dass dieser Spieler durchkommt und
keine Erfahrung hat. Das ist ein sehr, sehr guter erster Schritt. Lassen Sie uns nun sehen, wie wir das Erlebnis
verbessern können. Dafür. Wir wollen sowohl den Clicker links als auch
den Clicker rechts ändern. Da hast du es. Und dafür bekommen
wir wieder den Spieler. Also können wir einfach
die Erfahrung ändern, oder? Wir können also im Grunde einfach den
Erfahrungswert
dieses Spielerrucksacks nehmen . Das ist also die Erfahrung. Und wenn das, wenn
der Spieler klickt, wollten
wir
den Wert nur um eins erhöhen. Das ist buchstäblich
alles, was wir tun wollen. Okay, lass es uns hier machen, und lass uns
das Gleiche hier machen. Und das sollte
so ziemlich das sein, was wir brauchen. Jetzt
erhöht sich der Wert
des Erlebnisses jedes Mal, wenn wir auf die linke
und die rechte
klicken. Also schauen wir einfach, ob das
tatsächlich etwas bewirkt. Zuallererst, um jemanden zu
überprüfen, überprüfen Sie HasZero-Erfahrung, die absolut korrekt
ist. Wenn wir zum
Spieler hier gehen, schauen wir uns das Rucksack-Erlebnis an. Jetzt klicke ich auf diesen. Sie können sehen, plötzlich
habe ich eine Erfahrung gemacht. Jetzt muss ich 3456 und ich kann tatsächlich
auf dasselbe klicken und natürlich mehrere
Erfahrungen sammeln, aber das ist in diesem Fall nur ein
Beispiel. Wenn ich jetzt darauf klicke, siehst
du, dass ich
16 Erfahrung habe. Ja, das ist wirklich cool, oder? Also wenn der Wert auf
dem Player gespeichert wurde und er
jetzt gespeichert wird. Wenn ich jetzt
aufhören und noch einmal sortieren ,
würden
wir es natürlich zurücksetzen, oder? Wenn ich wieder
hierher gehe, willkommen zurück. Das ist
wieder Null , weil wir es nirgends
speichern. Das ist etwas, das
wir uns als
Zwischenschritt ansehen werden als
Zwischenschritt ansehen weil wir
das in der Roadblocks-Cloud speichern müssen ,
was etwas
komplizierter ist und auch einige andere Dinge beinhaltet
, auf ,
was etwas
komplizierter ist und auch einige andere Dinge beinhaltet einige andere Dinge die Sie
wirklich achten müssen. Aber im Moment haben Sie hier
einen bestimmten Wert für
den Player mit einem
Int-Wert gespeichert einen bestimmten Wert für
den . Und noch einmal kann ich
Ihnen zeigen, dass es verschiedene
Werte gibt, die Sie haben können. Boolesche Werte,
Farbwerte und Wertezahlen. Sie können sogar
Objektwerte haben, Vektor drei Werte. Es ist also ziemlich cool, welche Art von Werten Sie auf dem Player
speichern können. Und damit kannst du dein Spiel im Grunde
an Statistiken oder
Attributen für den Spieler
verbessern . Das ist jetzt schon ziemlich cool, aber in der nächsten
Lektion werden wir
sehen, wie Sie
die Leader-Sets hinzufügen können. Das würde also bedeuten, die Statistiken in
der Rangliste oben rechts
hinzuzufügen , rechts. Wenn ich hier mitmache, haben
wir die
Bestenliste gesehen, weil wir verschiedene
Teams
haben und ich kann
dieser Bestenliste
bestimmte Werte als
Statistik hinzufügen dieser Bestenliste
bestimmte Werte als und diese dann auch
ändern. Und dann können wir sie
tatsächlich
mehr oder weniger im Spiel sehen . Wir müssen
also nicht einfach einen zufälligen Stein anklicken und ihn anklicken , um zu sehen, wie viel
Erfahrung wir haben. Wir werden das tatsächlich im Spiel sehen
können. Also noch einmal, das ist
verdammt geil. Unser, das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich
und Sie lernen etwas Neues und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
30. (Roblox) Leaderboard mit Leaderstats: Ordnung, lassen Sie uns hier mit
den Roblox-Grundlagen für
den World-Works-Kurs fortfahren . Und in dieser Vorlesung werfen
wir einen Blick auf Bestenlisten, auch Leader-Statistiken genannt.
Das ist sehr interessant. Dafür wird also
die Erfahrung gelöscht , die wir in das Starterpaket aufgenommen haben
, da dieses Mal
tatsächlich all
unsere verschiedenen
Werte über ein Skript generiert werden . Also auf den Server-Skriptservern werden
wir ein neues Skript erstellen
und das werden 16 Dashliter-Statistiken sein. Und lassen Sie uns einfach hinzufügen, dass dies entweder eine Rangliste
oder eine Leader-Statistik ist. Das ist die allgemeine Idee
und es ist eigentlich sehr wichtig, dass wir das
alles richtig machen. Zuallererst werden wir einen lokalen Spieler
haben und dieser
entspricht den Spielern. Das wird sich also genau hier
ansehen. Also die Spieler hier drüben,
und es wird das schaffen. Und was wir tun können, ist,
dass wir hier eine lokale Funktion einrichten können . Und diese Funktion wird das Leaderboard-Setup
sein. Und das wird
für jeden Spieler passieren und es wird so
aussehen. Also werden wir einen neuen Ordner erstellen. Zuallererst
wird es
Leader Stats heißen und dann
der Ordner selbst. Das ist also ein neuer Ordner und
das ist eine Instanz Punkt nu, und das ist ein neuer
Ordner. Wie du siehst. Dies ist nur ein neuer Ordner, für jeden
unserer Spieler erstellt wird .
In nur einem Moment sehen Sie,
wie sie für jeden Spieler
hinzugefügt werden . Aber zuallererst, und das
ist extrem wichtig. Der Name hier
muss exakt Literstatistik lauten. Bitte achten Sie darauf. Muss
genau so geschrieben werden. Kleinbuchstabe L, Liter-Statistik. Es gibt kein Leerzeichen dazwischen, es gibt keinen Bindestrich,
genau so. Ich habe das so
oft gesehen, dass die Leute sagten, Oh, ich weiß nicht, wo
es nicht funktioniert. Das liegt daran, dass es genau so
geschrieben werden muss. Sobald das der Fall ist, kannst
du den Punkt für
die Leader-Statistik als übergeordneten Punkt dem Spieler selbst
gleichsetzen . Dadurch werden die
Ordner dem Player übergeordnet, was genau
das ist, was wir wollen. Und jetzt können wir
verschiedene Werte hinzufügen. So können wir z.B.
den erlebten Wert zurückstellen. Wir können also eine erfahrene
Gleichinstanz Punkt nu ausführen, und das wird
jetzt ein Ganzzahlwert sein. Und dann können wir sehen, dass
erfahrener Punktname dann natürlich Erfahrung
ist. Da hast du es. Dann wird der gemessene
Punktwert Nullen sein. Also beginnen wir bei
Null, was Sinn macht. Dann ganz wichtig
hier am Ende. Erfahrung, dass Elternteil
dann gleich Liter-Statistik ist. Also wollen wir dann jede
unserer Variablen
den Leader-Statistiken zuordnen. Und theoretisch können wir das
einfach duplizieren oder, oder das kopieren und das dann zum Beispiel auch in
Gold
ändern , oder? Also dann ändere das alles
einfach in Gold. Und sagen wir, wir beginnen
mit etwa zehn Gold. Und jetzt haben wir das. Jetzt ist es noch nirgends
kalt, denn wo nennen wir das? Nun, wir werden sagen, dass
Spieler Punkt Spieler hinzugefügt haben. Dies ist ein Ereignis
hier, wie Sie sehen können, und es wird jedes Mal aufgerufen, wenn ein Spieler zum Spiel hinzugefügt wird. Und wir werden das mit dem Leaderboard-Setup verbinden
. Und jedes Mal, wenn ein neuer
Spieler unserem Spiel beitritt, erhält er
den Leader-Statistik-Ordner mit dem Ganzzahlwert Erfahrung
und dem Wert von Gold mit Null
Erfahrung und zehn Volt. Das ist also wirklich cool. Lass uns einfach spielen und
sehen, ob das funktioniert. Und ich versichere Ihnen
, dass es funktionieren wird. Du kannst sehen, dass Joel beim Zählen keine Erfahrung
und zehn Gold
hat. Und wenn wir den
Player hier öffnen, können
wir tatsächlich sehen, dass es
einen Ordner mit Anführersätzen gibt. Und stattdessen hast du
die Erfahrung und das Gold. Und im Grunde sucht die
Rangliste hier
immer nach einem
Leader-Statistik-Ordner und zeigt diesen dann an. Was wir jetzt natürlich nicht
mehr tun können , ist, dass wir darauf
klicken können weil im Moment nichts in unserem Rucksack ist, also können wir das
tatsächlich anzeigen. Gehen wir also zurück zu hier und holen wir uns den
Erlebnisklicker. Und dann holen wir
uns hier auch
die beiden Clicker. Also der linke
und der rechte, und wir werden
das hier ändern. Wir haben den Wert
der Erfahrung
im Rucksack geändert und jetzt
ändern wir ihn tatsächlich in den Leader-Sets. Also, wie funktioniert das? Nun, es gibt ein paar
Möglichkeiten, wie wir das machen können. Wenn wir nichts überprüfen
wollen, können
wir wortwörtlich
einfach Liter-Statistiken sagen dass der Goldpunktwert gleich
plus gleich eins ist, z. B. oder erfahren, ich meine,
was auch immer wir wollen. Lass uns einfach hier
Erfahrung machen, und lass uns auch
hier Erfahrung machen. Also können wir das machen. Jetzt machen wir das nur der Argumentation zuliebe, oder? Gehen wir also einfach
hier rein und wir sollten herausfinden
können, dass, wenn ich das mache, Sie sehen können, dass unsere
Erfahrung hier zunimmt.
Das ist ziemlich cool. Aber was ist, sagen wir, das anfällig für sehr einfache Pfeile
ist? Weil
ich in diesem Fall hier einen Tippfehler mache. Und plötzlich sagen wir,
ich tippe hier drüben
und plötzlich klicke
ich darauf und erhalte
eine Fehlermeldung, weil hey, die Erfahrung ist
kein gültiges Mitglied. Ich denke, was zum
Teufel ist hier los. Ich vermisse es, das zu tippen. gibt es also eine kleine Hier gibt es also eine kleine
Validierung
, die Sie durchführen können. Und das wird
ungefähr so sein. So können wir z.B. sagen, Hey, gib mir die Leader-Statistiken
für den Spieler hier drüben. Also werden wir die
Leader Stands als Variable verwenden. Dadurch werden keine Fehler ausgelöst, auch
wenn keine Liter vorhanden sind. Das liegt daran, naja,
es spielt keine Rolle. Und dann können wir ein Lokal machen und das ist in der Tat sehr
interessant. Was wir also tun können, ist
Erfahrungsstatistik zu sagen ,
und das ist verrückt. Wir können Literstatistiken sagen. Und dann setzen Sie den Doppelpunkt in
Liter, finden Sie das erste Kind, das ist eine Funktion und diese
sucht nach Erfahrung. Das könnte
absolut verrückt aussehen. Was wir dann tun, ist, dass wir
sagen, wenn wir das erlebt Dann, und dann können wir das
tatsächlich erhöhen. Und das können wir nutzen, indem wir die Erfahrung
nutzen. Das können wir
sagen, nachdem wir das erlebt haben, dass dieser Wert plus gleich eins ist. Warum ist das besser als das? Nun, das stellt zunächst
sicher, dass beide Gruppen von Führungspersönlichkeiten existieren, und
auch die tatsächliche Erfahrung
hier mit dem guten ersten Kind
wird bestätigt, indem hier die
If-Anweisung verwendet wird. Und die allgemeine Idee dieser
Zeilenrate ist, dass dies
wahr ist und dann wird zurückgegeben,
was auch immer hier drin ist, oder? Also sagen wir im Grunde:
Hey, ist das nicht Null? Das ist im Allgemeinen
die Idee, oder? Also sagt der Anführer, es ist nicht Null. Und dann finden wir
dieses Kind, das dann in der
Erfahrung gerettet wird, dass diese Erfahrung, dass Wert plus
eins gleich eins ist, dasselbe ist wie diese. Wenn wir das also, nur
um der Argumentation willen, auch in den roten Klicker
kopieren und wir ändern das. Du, wir werden
dafür sorgen, dass das alles funktioniert. Also gehen wir hier rein und wir
werden hier klicken und Sie können sehen, dass die Erfahrung
immer noch zunimmt. Das ist in diesem Fall viel besseres
Scripting und es stellt nur sicher
, dass alles existiert. Was ist nun mit der Ausgabe?
Das funktioniert immer noch nicht gut, gehen
wir zum
Erlebnisklicker hier. Und dann gilt hier
dasselbe, oder? Wir können das im Grunde einfach bekommen. Und dann können
wir, anstatt das Plus gleich zu
machen, einfach sagen, dass
wir in diesem Fall
den erfahrenen
Datenwert hier ausdrucken werden. Und dann können
wir das auch tun. Wir können eine andere Aussage machen. Also wenn die Erfahrung aus welchem Grund auch immer
nicht besteht, können
wir einfach sagen, dass dieser Spieler,
Spieler, keine Erfahrung hat, um
der Argumentation willen, oder? Und wenn wir das spielen
und hier rein gehen, haben wir
hier jetzt keine
Erfahrung, oder? Und dann können wir
diese Erfahrung machen. Jetzt haben wir sechs, also haben
wir jetzt sechs Erfahrung. Das funktioniert alles, richtig, das ist
also schon ziemlich cool. Jetzt können wir
noch verrückter werden, nur um
der Argumente willen. Also was wir zum Beispiel tun könnten
ist, dass wir sagen könnten, nun, wenn du darauf klickst, wollen
wir eigentlich wissen, ob du nicht genug Gold
hattest oder nicht, oder? Vielleicht kostet es Gold
, das Ding zu bewegen. Was wir dann sagen können,
ist, dass wir das dann tun können. Und dann können wir auch sagen, such mir auch das Gold, oder? Und dann können wir Folgendes
sagen. Wenn es noch keine Erfahrung gibt wird
das jetzt Gold Star
sein, oder? Also das ist Gold Stat. Dann können wir sagen, ob Gold Stat ist, dann werden wir
überprüfen, was der Wert ist. Wenn der Goldwert und Goldstandard-Datenwert mehr als eins sind, weil wir
ihn verringern werden. Dann können wir
damit weitermachen und den
Erfahrungswert erhöhen. Und wir werden
den Goldstandardwert senken. Jetzt werden wir hier absolut
verrückt. Lassen Sie uns das einfach auch
auf das andere übertragen, wie ich bereits
erwähnt habe. Jetzt gibt es einen besseren
Weg, dies zu tun. Anstatt zwei solcher
Skripts zu haben, können
Sie nur
ein Skript verwenden und für beide
dieselbe onClick-Funktion ausführen. Vorerst werden
wir es einfach so
belassen,
das wird in Ordnung sein. Aber die allgemeine Idee ist
, dass wir überprüfen, okay,
haben wir auch einen Goldwert? Und wenn wir das tun, ist der Wert größer als eins oder
größer oder gleich? Eigentlich ist es das, was wir wollen. Ja. Und wenn das der Fall ist, schauen wir nach
der Erfahrung, dass wir die Erfahrung
erhöhen
, indem wir das Gold verringern. Und wir können auch hier
nachverfolgen, anstatt, ob, wir können hier etwas Anderes machen. Und wir können dann tatsächlich etwas
ausdrucken, wie der Spieler hat nicht genug Gold
, um der Argumentation willen. Wenn der Spieler also Null Gold oder
weniger als Null
hat , hätte er wahrscheinlich. Dann wird es
ausgedruckt, der Spieler
hat nicht genug Gold.
Schauen wir uns das an. Also lasst uns spielen und wir werden
sehen, dass ich bei zehn Gold keine
Erfahrung habe,
wenn ich so weitermache . Ich klicke darauf. Jetzt habe ich ein Erlebnis
und neun Gold und ich kann, ich kann dasselbe klicken. Ich bin bei Null Gold, alles
funktioniert immer noch gut. Wenn ich das jetzt mache, dann hat der Computer plötzlich
nicht genug Gold. Jetzt wird das Ding
immer noch bewegt. Was wir tun können, ist,
das zu ändern und zu sagen, nun, weißt
du was, es wird sich nur bewegen wenn das Ziel tatsächlich
abgezogen wird, oder? Also werden wir die
Bewegung verschieben, nur um zu erscheinen. Und dann können wir das Teil
plötzlich nur
bewegen, wenn wir
tatsächlich Gold haben. Nun, das ist sehr
interessant, oder? Also können wir das voranbringen. Das ist alles in Ordnung, oder? Da hast du es. Und wir verschieben das noch einmal, und jetzt klicke ich hier
und plötzlich, nein, funktioniert nicht, oder? Als ob du auf mich geklickt hast, aber
du hast nicht genug Gold. Das ist in der Tat sehr interessant, dass das schon eine ziemlich
coole Funktionalität ist. Zusammenfassend lässt sich sagen, dass wir
das
Ereignis „Spieler hinzugefügt“ für die Spieler verwenden das
Ereignis „Spieler hinzugefügt“ für die Spieler , um
für jeden Spieler, der unserem Spiel
beitritt, einen Ranglistenordner zu erstellen . Und dieser Ordner
wird die
gewünschte Anzahl verschiedener
Variablen enthalten . Und sie können jede Art von
Zahl oder jede Art von Wert
darstellen . In unserem Fall haben wir Erfahrung und Gold hinzugefügt, und wir verwenden dies zur Validierung. Wir brauchen es in einer bestimmten
Menge Gold hier
drüben, um einen Teil zu bewegen. Und dann würden wir auch
Erfahrung sammeln. Das ist wirklich großartig
und es ermöglicht dir, ermöglicht dir, so viele Dinge zu tun. Jetzt
öffnen sich die Dinge wirklich und wir werden sehen, wie viel mehr
Dinge wir tun können. Aber das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
31. (Roblox) Sammlerstücke: Ordnung, lassen Sie uns
hier mit
den Roblox-Grundlagen fortfahren und dem Roadblocks-Kurs folgen. Und in dieser Vorlesung werden
wir Teile
herstellen, die Sie in die Hand nehmen können. Also, wie wird das aussehen? Nun,
lass uns zuerst hier einen neuen Teil
machen und dann schauen wir mal. Also machen
wir das zuerst zu unserem 333. Das ist, glaube ich, ungefähr die richtige Größe, die ich will. Ich möchte sie
verankern und sie nur ein
kleines Stück über dem Boden
hochbewegen. Also werden wir so
etwas haben. Jetzt werden wir
sie tatsächlich ein helleres Gelb färben. Also vielleicht dieses Gelb, ich denke, das ist ein
anderes als er, oder? Nein, das ist neues Gelb und
das ist auch neues Gelb. Lass uns dann das tiefe
Orange machen ist auch in Ordnung. Jetzt haben wir diesen
Port und wir werden das die Goldwarteschlange
nennen, weil das,
naja, ein Goldwürfel sein wird . Dem wird ein
neues Skript beigefügt sein, und das wird
das Gold-Pickup-Skript sein. Jetzt werden wir das vorerst
überall hier machen. Und dann zeige ich
dir, wie du das viel besser
machen kannst . Vorerst ein Gold-Pickup-Skript
, nur um das zu überprüfen
und was brauchen wir? Nun, wir müssen eigentlich wissen was diese speziellen
Goldkubisten sind, also brauchen wir einen lokalen Goldwürfel und der entspricht dem
Script Dot Parent. Und dann brauchen wir auch lokale Spieler, und das
entspricht Game-Dot-Spielern. Noch einmal, das ist die gleiche Idee, mit der wir diese Spieler
bekommen. Und jetzt haben wir eine lokale Funktion auf Teil berührt
heißt,
weil wir
das Touched Event
hier in nur einem Moment verwenden , um diesen bestimmten
Gold-Gegenstand oder dieses Gold
abzuholen. Im Grunde gibt es mehrere
Schritte, natürlich, der erste wäre, lass uns einfach
diesen goldenen Würfel mit Punkt berührten Doppelpunkt verbinden. Und dann fügen wir den
hier
angesprochenen Teil ohne Klammern ein. Also einfach so, und jetzt wird
diese Funktion oder diese lokale
Funktion jedes Mal
aufgerufen , wenn das
Touched Event ausgelöst wird. Wir wollen aber nur
sicherstellen, dass es
ausgelöst wird, wenn der
Spieler es berührt. Also für diesen Teil
nehmen wir einen, den Elternteil des anderen Teils. Das wird also der
andere Teil dieses Elternteils sein. Und dann bekommen wir den Humanoiden
dieses Humanoiden, oder? Das wird
also der Elternteil sein. Also
findet der Elternteil des
anderen Teils, Dickdarm, das erste Kind, das ein und dann ein Humanoid
ist. Humanoid. Da hast du es. Es gibt einen langen Funktionsaufruf. Achte darauf, dass du
das richtig schreibst. Suchen Sie also
das erste Kind, das genau so
geschrieben ist , auch in
derselben Groß-/Kleinschreibung. Und wenn das existiert, dann können wir es tun, wenn
damals und heute alles, was hier drin ist, immer nur hingerichtet
wird. Wenn der andere Teil, der diesen Goldwürfel
berührt , ein Spieler
ist , an dem ein Humanoid
befestigt ist. Das erste, was
wir tun werden, ist
Gold Queue Colon Destroy zu machen ,
was bedeutet, dass dieser Goldwürfel
zerstört wird. In nur einem Moment. Wir werden tatsächlich sehen, dass
wir das auf eine etwas
andere Art machen können . Aber
vorerst machen
wir das einfach und dann können wir dasselbe
tun
, was wir hier im
Clicker schon gemacht haben, oder? Also machen wir im Grunde
genau das alles mit Leary , oder? Also holen wir uns die Spielerstatistiken, also sagen wir lokale Ebene. Zuallererst
müssen wir den Spieler tatsächlich kriegen. Dafür
müssen wir also einen Doppelpunkt für Spieler machen, Spieler von Charakter
abrufen, Spieler von Charakter
abrufen weil wir
darüber vom Charakter gesprochen haben. Und wir haben die
Haare reingesteckt und hier drüben, wir haben die Eltern hier drüben reingebracht, denn lasst uns darüber nachdenken. Wir brauchen den Spieler
jetzt von den Spielern, aber wir haben nur über
das
Elternteil hier Zugriff auf den Charakter. Weil der Charakter
das ist , was tatsächlich
berührt wurde, oder? Dies ist die 3D-Darstellung
des Modells und
berühren Sie tatsächlich den anderen Teil. Und wir müssen
den Spieler davon abbringen. Das ist die Art und Weise, wie man es macht. Dann holen wir uns die Leader-Statistiken. Liter, die dem
Punktliter des Spielers entsprechen, legen also die
Leader-Statistiken fest. Da hast du es. Und dann erhalten
wir noch einmal die Goldstatistiken, in diesem Fall den Goldstern, die den Liter-Statistiken
entsprechen. Und das ist genau das Gleiche
, was wir hier bisher gesehen haben. Wir
holen uns einfach die Anführerstatistiken, Doppelpunkt, finden das erste Kind. Und der erste Versuch
, den wir finden wollen ,
ist in diesem Fall Gold Wenn die Goldstatistiken wahr sind, ist der
Goldwert wahr. Dieser. Da hast du es. Dann wollen
wir,
naja, nicht den Namen,
aber dann haben wir es. Wir möchten sagen, dass der
Goldsternpunktwert plus gleich eins ist. Damit haben wir jetzt
einen Gold-Pickup-Port, also haben wir einen von
denen hier. Das ist also ziemlich cool. Lass uns das einfach spielen und sehen ob ich das wirklich verstehen kann. Aber ich bin mir ziemlich sicher, dass ich das schaffen
sollte. Wenn ich also
darauf zugehe und ihn berühre, verschwindet
der Würfel und ich
erhalte ein Gold. Und los geht's, der Würfel
ist verschwunden und ich habe 1 V
gewonnen. Jetzt ist der
Würfel für immer weg. Und theoretisch könnten wir es
einfach duplizieren, Control D, und wir können
es duplizieren und weitere Würfel hinzufügen. Aber irgendwann bekommt man
ein Problem, sagen wir zum Beispiel , wissen
Sie, all diese Würfel werden Sie tatsächlich
zu Gold bringen. Okay, nun, lass es uns ändern. Nun, warte eine Sekunde. Das hat es in
einem von denen geändert, oder? Das hat
dieses spezielle Skript geändert, aber dieses wurde nicht geändert und dieses Skript wurde nicht geändert, und die anderen wurden
ebenfalls nicht geändert. Das ist irgendwie ein bisschen richtig, das ist nicht so gut. Was könnten wir also tun
, um dem entgegenzuwirken? Es gibt eine Reihe
von Optionen, die uns zur Verfügung stehen
, um dies zu mildern. Eine davon wäre die
Verwendung eines Modulskripts. Sagen wir
der Argumentation halber, erstellen Sie hier ein
Modulskript, und wir nennen es,
das ist 17 Striche. Und das wäre
die Goldabholung. Nennen wir es einfach
so. Da hast du es. Und dann könnten wir
einfach sagen, nun, lassen Sie uns einfach so ziemlich
fast das Ganze nehmen und schauen wir einfach, was wir
als Funktion bekommen werden, oder? Also werden wir hier
eine Veranstaltung veranstalten. Und wir werden dieses
Modul Dot Goal Pickup nennen. Und wir werden sehen, welche Parameter
wir benötigen. Also brauchen wir den anderen Teil. Das wird also
der erste Parameter sein. Und dann
brauchen wir auch den Goldwürfel, das wird der
zweite Parameter sein. Und die letzten werden
die Spieler sein. Das wird
der dritte Parameter sein. Und jetzt sollte das
theoretisch funktionieren Fragezeichen. Nun, ich meine, lass uns
einfach sehen, okay, also werden wir in der Lage sein, eine Zwei hier drüben
zu machen, und dann müssen
wir das nur verlangen, damit wir Abholung vor Ort sagen
können, sagen
wir, Gleichberechtigte erfordern. Und dann
wollen wir Game Dots sagen, eine
Art
Skriptdienst und dann eine Klammer in
Anführungszeichen 17 und Gold Pickup. Sie können die automatische Vervollständigung
mit der Tabulatortaste durchführen. Und jetzt sollten wir in der Lage
sein,
Pickup Dunkelgold Pickup zu nennen , indem wir den anderen Teil
als ersten Parameter
übergeben, den Goldwürfel als zweiten und dann die
Spieler als dritten Parameter übergeben. Und jetzt ist das nicht nur ein
bisschen einfacher zu lesen und zu
schreiben, sondern wir können uns
jederzeit damit befassen. Du kannst, du kannst die
Strg-Taste gedrückt halten und darauf klicken und dann wirst du
tatsächlich zu dieser Funktion hier
gebracht . Das ist also ziemlich cool. Und jetzt haben wir das in
diesem speziellen Teil. Das ist also ziemlich großartig. Jetzt müssten wir sie immer noch einmal
alle ändern. Aber wenn wir diesen hätten, wäre es
der, den wir geändert haben. Ja. Lassen Sie uns also nur
der Argumentation halber den Rest
löschen und wenn wir das
jetzt duplizieren, oder? Jetzt haben wir
wieder ein paar davon, also haben wir vier davon, aber jetzt nennen sie alle
den Gold-Pickup eins. Nun, wenn ich den Wert ändern
will, wechseln
sie das
Stockwerk oder die Nacht. Wenn ich jetzt den Wert
in diesem Modulskript ändere, werden
sie sich
für alle ändern. Also, wenn ich das richtig spielen würde und wir hier reingehen würden, würden
wir das hier abholen. Plötzlich erhalte ich
sechs Gold und
sechs Gold für diesen und diesen und diesen
und diesen auch. Was nun passiert ist
, ist, dass das Gold tatsächlich, weil sie hier alle die
gleiche Funktion
haben, sie alle diese verwenden können. Das ist ziemlich cool, denn
sonst würden
wir sowieso
dieselbe Funktion verwenden. Es gibt keinen wirklichen Grund, es
nicht zu ändern. Das ist jetzt schon sehr cool und
unkompliziert. Aber lassen Sie uns einfach
der Argumentation wegen
der Torabnahme sagen , ich sage jetzt, weißt du was? Anstatt den Goldwert
so zu haben, wie die Erhöhung, möchte
ich hier eigentlich einfach eine
Erhöhungsvariable machen. Und ich werde das hier
reinstellen ,
damit ich es im Grunde
ändern kann, okay? Eine Torabnahme kann tatsächlich unterschiedliche Werte
haben. Jetzt werden wir auf das Problem
stoßen dass das gleich Null ist, oder? Und wenn ich
das dann vorerst spiele ,
wird nichts passieren. Sobald ich jedoch eines davon in die
Hand nehme, wird
es
so sein, als würde es gleich
Null sein , weil es nicht definiert ist. Und jetzt sind wir
wieder beim gleichen Problem. Wenn ich es hier auf eine
Zwei ändere, ist das in Ordnung. Aber jetzt habe ich ein paar andere, bei denen das nicht der Fall
ist. Also was
du am
Ende hier haben willst , ist, dass irgendwie all deine Goldwürfel ein Drehbuch
haben anstatt dass jeder von ihnen sein eigenes Drehbuch
hat, oder? Das
können wir nun erreichen, indem wir einfach alle
auswählen,
mit der rechten Maustaste klicken und wir werden
als Ordner gruppieren. Das wird sich hier
nach oben bewegen. Ich nenne das die
Gold-Pickups. Da hast du es. Und dann werde ich
das Skript auch hier in den
Ordner legen . Das ist nicht unbedingt notwendig, aber es ist nur ein
bisschen netter. Jetzt werden wir diese
Gold-Pickups ein wenig ändern. Im Moment haben wir also
keinen Würfel. Schreiben Sie das Drehbuch hier ist
eigentlich jetzt das Elternteil. Das wird also der Abholordner
sein. Sagen wir, richtig, los geht's. Und was wir jetzt
tun werden, ist, dass wir alle untergeordneten
Elemente dieses bestimmten Ordners
durchgehen wollen . Das ist jetzt also ein For-Loop, also werden es vier sein. Und dann
können wir hier drüben
ein I und einen Pickup machen , und das wird ein
I-Paar sein. Was das macht, können
Sie tatsächlich sehen, es sagt tatsächlich, dass
es
eine Iteratorfunktion
und die Tabelle zur Verwendung für die Schleife zurückgibt . Jetzt denkst du vielleicht, was
zum Teufel hier vor sich geht. Keine Sorge,
gib es einfach einen Moment. Also werden wir das nur für
Folgendes verwenden, und wir werden es
für den Abholordner verwenden, Doppelpunkt bekommen Kinder. Das wird also alle
Kinder kriegen, oder? Das ist in Ordnung. Und dann
werden wir etwas tun. Was werden wir hier machen? Zuallererst
werden wir sagen,
wenn ich gleich eins bin, dann möchte ich, dass du weitermachst ,
denn das wird
das Gold-Pickup-Skript sein. Okay, das ist fair. Dann möchte
ich, dass du den berührten Doppelpunkt
aufhebst. Und dann möchte ich On-Board Touched
verwenden. Okay, ich möchte das in
erster Linie machen. Nun, es ist sinnvoller, anstatt es so
zu tun, diese Funktion buchstäblich hier zu
übernehmen
und sie hier zu platzieren. Denn jetzt ist das
Problem, dass Sie es tun werden, wir
werden das jetzt nicht benennen. Also wir werden
hier einfach eine Funktion
haben , die das nennt, weil der Zugriff auf den Goldwürfel und die Spieler etwas schwieriger
ist. Also werden wir
die Spieler hierher bringen, und wir
müssen trotzdem hier weitermachen. Und wir brauchen auch den Goldwürfel. Wir haben jedoch den Goldwürfel
, der gerade abgeholt wurde. Das ist also eine bedauerliche
Verdoppelung hier. Das ist also das Pickup-Skript.
Nennen wir es so. Da hast du es. Und
dann ist der Pickup eigentlich der Goldwürfel. Und dann
brauchen wir beides nicht. Und ich habe das
vielleicht ein bisschen schnell durchgemacht. Gehen wir also einfach noch einmal von
oben nach unten durch. Ich habe also einen
Abholordner, oder? Das wird
dieses Foto sein, nach dem ich jetzt
gefragt habe. Ich
nenne das versehentlich weiterleiten. Das nennt man Pickups. Nimm uns mit. Da hast du es, richtig? Weil
wir Script Dot Parent verwenden werden, was das
übergeordnete Skript ist, okay? Und dann haben wir
die Spieler,
das müssen immer noch diese Spieler
sein. Und dann haben wir hier das
Pickup-Skript, das dafür erforderlich ist. Wenn wir uns das ansehen, können
wir
die Komplexität
sogar noch weiter reduzieren , indem wir einfach sagen, indem wir das einfach weglassen. Weil, warum geben
wir die Spieler hier drüben weiter? Wir könnten einfach sagen,
Hey, du musst
die Spieler holen . Und
dann hast du es. Wir haben die Spieler. Wir können das tun und es hat Zugriff
auf die Spieler. Sie können also sehen, dass
wir auf diese Weise
bestimmte Dinge von
bestimmten Skripten trennen , um
sie vor allem ein bisschen
leichter lesbar zu machen . Und zweitens, um
die Dinge zu reduzieren, die wir
tun müssen , um weiter an diesem
speziellen Spiel zu arbeiten, oder? Denn stellen wir uns vor,
wir haben. Wenn wir ein
riesiges Feld von,
ich weiß nicht, wie viele
Goldwürfel hier drüben sind, oder? Jeder von ihnen hat sein eigenes Skript und wir müssen
es für alle ändern. Das ist alles lächerlich. Das ist verrückt. wäre
ein goldenes Drehbuch
großartig, wenn das alles funktionieren würde. In diesem Fall werden sie hier
alle
dieselbe Nummer haben. Und selbst das könnten wir ändern, belassen wir es jetzt bei zwei. Und lassen Sie uns einfach sehen, was passiert,
wenn wir das ausführen würden. Das Erste, was
wir sehen werden,
ist , dass wir nicht
abholen, sondern abholen müssen. Das liegt wahrscheinlich
daran, dass wir uns das hier tatsächlich um 11 Uhr ansehen. Das Problem ist also, dass
es gerade versucht, es für das
Gold-Pickup-Skript hier zu verwenden , was eigentlich interessant ist. Ich hätte erwartet, dass
das Auge sagt: Hey, das ist das Gold
abholen, dann tu es nicht. Dieser Moment, in dem es tatsächlich eine Null ist. Das wird interessant sein. Aber ich glaube nicht, dass
es so ist. Nein, es ist immer noch, es
wird immer noch da sein. Okay? In Ordnung, also das
Ich-Gleichheits-Eins hat nicht funktioniert. Also lass uns einfach
die folgenden machen. Sag einfach, wenn der Name des
Pickup-Punkts dem Namen Gold Pick Up entspricht, dann wollen wir weitermachen. Nun, das sollte theoretisch tatsächlich darüber hinweggehen,
und das tut es auch. Es gibt hier also keine
Fehler mehr. Und wenn wir auf diesen 2222
stoßen, gehen wir. Jetzt seht ihr also,
obwohl die eigentlichen
Pickups, richtig, die Goldwürfel selbst
keine eigenen Skripte haben. Sie werden ordnungsgemäß
zerstört. Und das alles wird
über ein Skript erledigt. Das ist also
absolut unglaublich. Im Moment könnten wir noch
einen Schritt weiter gehen, oder? Dies ist jetzt der letzte Schritt
, den wir unternehmen werden. Und das heißt, das sind
zwei hier drüben, ist immer noch ein
bisschen komisch, oder? Sie könnten also diesem
speziellen Goldwürfel
einen weiteren, einen Wert hinzufügen . Theoretisch könnten wir
das den Goldwert nennen, oder? Wir könnten das also der Argumentation
halber den
Goldwert nennen . Und wir könnten
das nennen, sagen wir mal. Und dann könnten wir sagen, hey, wenn die Abholung abgeschlossen ist, möchte
ich eigentlich den
Goldwert haben, den Punktwert. Jetzt sucht es hier drüben nach
diesem Wert
und
liest den Wert
aus, der den Goldwürfel
geschrieben ist Du bekommst fast das
gleiche Problem wie bei den anderen, wo du ihn erneut ändern musst. Du könntest also auch
etwas Interessantes machen. Dies ist noch einmal, dies
ist nur ein Beispiel. Das ist nur, um dich
dazu zu bringen, darüber nachzudenken. So würdest
du es nicht unbedingt machen,
aber was er tun könnte, ist auch
in mir zu sagen, weißt du was? Lassen Sie uns einfach die X-Größe ermitteln und sie
dann abhängig machen, z. B. wie viel Gold
Sie erhalten, abhängig der Größe des tatsächlichen Blocks. Nehmen wir an, dieser Block
ist jetzt zwei zu zwei. Und dann können wir einfach
ein paar Würfel löschen. Und sagen wir einfach,
wir haben einen
Haufen kleiner Würfel und einen
Haufen großer Würfel, und dann haben wir einen
Haufen noch kleinerer Würfel. Das werden also
Würfel sein, die 111 sind. Also das, um der
Argumentation willen, oder? Wir werden also einen Haufen sehr,
sehr kleiner Würfel und einen Haufen
mittelgroßer Würfel haben . Und vielleicht gibt es einen
riesigen Würfel wie 999, oder? Nur der Argumentation halber. Die Frage
ist nun, funktioniert das? Nun, ich meine, wir
nehmen buchstäblich die X-Größe des
Pickup-Ports als Wert. Warum sollte das nicht funktionieren?
Stimmt es? Also lass uns hier reingehen und wir werden sehen, ob
ich einen dieser kleinen kaufe. Wir bekommen ein Gold. Es gibt zwei, es gibt
drei Gold, oder? 311, das sind zwei. Das ist eine Zwei. Und es sind wieder drei, wieder
drei, und das ist eine
riesige Eins und das sind neun. Also das ist wie noch einmal, nur um dich dazu zu bringen, darüber nachzudenken wie du
all die Dinge , über die wir
bisher gesprochen haben , zu einer riesigen Sache zusammenfügen kannst. Jetzt gebe ich zu, dass hier
eine Menge Dinge drin waren. Ich verstehe also, wenn es immer noch ein bisschen verwirrend ist. Ich empfehle Ihnen, Nummer eins zu
tun, Sie haben die RB-Excel-Datei zum Download
zur Verfügung,
damit Sie sie herunterladen können. Schau dir das Drehbuch an. Nummer eins, das
Gold Pickup-Skript und Nummer zwei,
das Modulskript. Sehen Sie, wie sie zusammenarbeiten. Ich versuche hier nur
ein paar Dinge zu ändern. Und vielleicht kannst du
ein paar deiner eigenen Tonabnehmer hinzufügen. Vielleicht als kleines
Beispiel, das du selbst hinzufügen
kannst, ist
vielleicht, dass du Dinge hinzufügen kannst, vielleicht Dinge beschädigen
oder Dinge heilen, oder? Heilende Pickups und
heilende Heil-Pickups und verletzende Pickups oder
so, nur um ein Gefühl dafür zu bekommen,
was tatsächlich passiert. Aber insgesamt ist das
absolut erstaunlich. Zusammenfassend lässt sich sagen, dass wir
einen Pickup haben , den wir
mit dem Touched Event gemacht haben. Wir
haben damit begonnen, ein Skript für jeden unserer Würfel zu haben
und sind dann so
weit gegangen ,
dass wir hier
ein Skript haben , das die Würfel steuert, das im Grunde das
Touched Event zu diesen Würfeln hinzufügt. Und dann ein Modulskript , in dem die gesamte
Funktionalität enthalten ist. Und das ist eines der
hervorgehobenen Dinge, ein Modulskript dafür absolut
fantastisch ist, oder? Aber das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas
Neues lernen und wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
32. (Roblox) Spuren zum Spieler hinzufügen: Ordnung, lassen Sie uns
hier mit
den Grundlagen der Roboter fortfahren und dem Kurs „Rubriken“ folgen. Und in diesem Vortrag
werden wir uns ansehen wie Sie Ihrem Player eine
Spur hinzufügen können. Bevor wir den Trail hinzufügen, was ist überhaupt ein Trail? Also fügen wir es einfach zu
meinem coolen Teil hier hinzu. Wir können einfach das Plus-N-Zeichen drücken. Wir suchen nach Pfad und wählen diesen aus. Und jetzt hat es eine Spur, oder? Jetzt haben wir den Trail hinzugefügt, jetzt müssen wir zwei
Anhänge hinzufügen. Theoretisch müssen
wir also zu unserem
coolen Teil hier nur
zwei Anhänge hinzufügen. Also lass uns einfach
diesen Anhang machen und dann habe ich das einfach mit Control D dupliziert und wir werden das einfach um zwei
verschieben, sagen
wir, jemand wie
dieser, das wird okay sein. Und dann die
andere, wir
werden auch auf die andere Seite gehen. Da hast du es. Und jetzt kann ich
den ersten Anhang und
den zweiten Anhang verwenden . Und jetzt, da es damit
verbunden ist, können wir jetzt tun,
wenn wir das verschieben,
wir sollten sehen, wo ihr hingeht, eine Spur, die genau von
diesen beiden Anhängen ausgeht. Und du kannst die Wege ändern , um alle möglichen Dinge
zu tun, oder? Du kannst auf dem
Trail hier sehen, wir haben, wir können es
immer in die Kamera richten. Wir haben sogar Lichtemissionen. Wir können ihm eine Textur geben. Es gibt verschiedene
Modi, die Sie verwenden können. Also statische Verpackung, Sie können dem
eine Transparenz hinzufügen und dann können Sie hier
auch einige
Emissionen haben. Also lifetime maxlength,
Sie können die Breite ermitteln. Es gibt also eine Menge Dinge
und du könntest auch richtig
cool machen , indem du der
Farbe hier eine Farbe hinzufügen kannst. Sie können eine Farbsequenz hinzufügen. Also könntest du zum Beispiel einfach
die Farbe Rot am
Anfang ändern , um zu lesen. Und dann in der
Mitte hier ist es vielleicht blau und
dann änderst du es hier in ein anderes
Grün und dann
änderst du es hier in eine andere
Farbe, sodass du
Regenbogenfarben oder alle
möglichen verrückten Dinge bekommen kannst . Sie können jetzt also sehen, dass es
ungefähr so geformt ist. Und wenn wir diesen Kerl jetzt in Bewegung
bringen würden, also wenn wir das
jetzt bewegen, siehst du, jetzt ändert sich das im Laufe der Zeit, was
schon ziemlich cool ist. Sie können sehen, jetzt
ändert es die Spur, es ändert seine
Farbe und bleibt bei einigen Eigenschaften erhalten. Also z. B. oder bei der Emission können
Sie verschiedene Dinge hinzufügen, z. B. eine längere Lebensdauer haben, damit es länger am Leben
bleibt. Sie können eine Mindestlänge und eine maximale Länge angeben und sogar die Breite
anpassen. Also, wenn wir,
ich weiß nicht, fünf
Jahre auf Lebenszeit machen würden , dann würde es einfach viel länger dort
bleiben, wie Sie sehen können. Als ob es einfach
viel länger am Leben bleibt, bis es zerfällt. Das ist also auch ziemlich cool. Es sieht zwar cool aus hier, aber
es tut uns nicht wirklich
etwas. Also fügen wir es dem Player hinzu. Das erste, was wir tun wollen, ist ,
im Speicher dieser
Server ,
im Speicher dieser
Server einen
Trail hinzuzufügen, und das
wird der Player-Trail sein. Das wird also der Trail sein
, der dem Spieler hinzugefügt wird. Und
der Argumentation halber ändern
wir das hier einfach
in eine, noch einmal, verrückte
Farbe. Warum nicht? Also lass uns einfach Rot
nehmen und dann etwas später zu Rosa und
dann zu Blau. Und dann gehen wir
zu Türkis, sagen
wir mal, und dann zu Grün, vielleicht etwas später. Und dann gehen wir zu
hellgrün und dann zu gelb über. Und dann gehen wir hier am
Ende zu einer Orange und dann ganz am Ende
wieder zu einem dunkleren Rot. Jetzt haben wir eine
coole Regenbogenfarbe hier
drüben, was ziemlich toll
ist. Und wir werden das benutzen
und es dem Spieler geben. Das alles ist in Ordnung. Schauen wir uns dann
das hier an, genau hier. Also werden wir daraus
eine maximale Länge machen, weil es sonst,
ich meine, sonst ist die
Länge unendlich und das wollen wir nicht
unbedingt. Und dann
hängen wir das an den Player an. Nun, eigentlich werden wir es
an den Charakter anhängen, aber weil der Charakter natürlich das
ist
, was tatsächlich sichtbar ist, oder? Das ist das, das ist
das Sichtbare, dass wir das schon einmal
durchgemacht haben. Aber lassen Sie uns einfach noch
einmal ein Skript im
Server-Stub-Service hinzufügen . Und wir nennen das 18 Dash und wir nennen es auch den
Player Trail. Da hast du es. Und lassen Sie uns einfach hier
hineinzoomen. Das ist der Spielerpfad und
wir werden einen lokalen Spieler erstellen. Das wird also wieder unser Spiel sein, Game-Dot-Spieler. Und dann wollen wir, dass
die Spieler mitspielen. Wir wollen also überprüfen, wann der
Spieler hinzugefügt wurde und das
mit einer bestimmten Funktion
verbinden, das hier mit einer bestimmten
Funktion verbinden, wo wir
den Spieler bekommen und dann
hier drinnen, oh, das sind Spieler. Natürlich, da hast du es.
Spieler hinzugefügt, los geht's. Dann statt hier
wollen wir den Spielerpunkt, Charakter einen Doppelpunkt hinzufügen
und das mit einer anderen Funktion verbinden, diesmal das Abrufen des Charakters. Wir haben
hier also zwei Ereignisse, die ineinander übergehen. Das ist völlig in Ordnung und
jetzt wollen wir weitermachen. Also wollen wir jetzt den Trail
klonen. Also wollen wir sagen
Gameserver, Speicher, Punkt, Punkt Player Trail,
dieser hier, Doppelpunkt Clone. Jetzt haben wir diese Spur geklont. Wir haben also einen Kredit, ein zweites Objekt
dieses speziellen Objekts. Also wir tun buchstäblich so, als ob wir Kontrolle C und
Kontrolle V machen
würden , und jetzt haben
wir es dupliziert. Das ist also die allgemeine
Vorstellung davon, was Clone macht. Im Grunde. Wir wollen dann sagen, dass
der Trail Don Parent jetzt dem Charakter entspricht. Dann wollen wir etwa eine halbe
Sekunde
warten , weil
das notwendig ist. Was ich von dem was ich sonst
gefunden habe, die Anhänge und
solche Sachen funktionieren nicht so ganz. Und dann werden wir neue Anhänge
erstellen. Also werden wir
einen neuen Anhang erstellen. Es wird mit Null
angefasst und das entspricht einem
Instanzpunkt, natürlich ein neuer Anhang. Und wir können sofort
sagen, dass dies unter
Character Dot Head erscheinen
wird. Das wird also an
den Kopf des Charakters gehen. Und dann können wir sagen, dass der Nullpunktname des Anhangs
nur so sein wird , dass wir diesen
Trail-Anhang Null haben. Es ist nicht notwendig, den Namen
zu ändern, sondern nur, um
alles zu organisieren. Und dann können wir einen zweiten Anhang als Anlage eins erstellen. Und das ist auch Instanz, die noch einmal
neu ist und
dann ein neuer Anhang. Und das sind zwei Charaktere
, dieser humanoide Wurzelteil. Da hast du es. Und
dann ändern wir auch
den Namen. Und dieser Name
wird in diesem Fall
Anhang eins nachgestellt . Und jetzt
müssen wir das noch zuweisen. Wir müssen also immer noch sagen, dass
Trail Dot Attachment Zero gleich einer Tangente
Null ist und Trail Dot Attachment Eins gleich
Attachment Eins ist. Lass uns einfach spielen und schauen,
was
sich das alles einfallen lässt . Da sind wir also. Und
wenn ich anfange, mich zu bewegen, sieht
man
plötzlich, dass wir einen wirklich,
wirklich tollen Trail bekommen dass wir einen wirklich,
wirklich tollen Trail uns mit
einer bestimmten Länge gut
folgt. Und das können wir natürlich
ändern, oder? Wenn wir zu Workspace gehen,
zählen und nachfragen. Und dann hier unten sollten
wir in der Lage sein, den Spielerpfad zu
finden. Und theoretisch könnten wir dieses Gewicht so
ändern, dass wir in die Kamera schauen wollen. Jetzt wird es also immer in die Kamera schauen, wie Sie sehen können, was auch ziemlich cool aussieht. Sie können
dies also ein- oder ausschalten. Es gibt Lichteinflüsse. Also du kannst es hier ändern
und einfach im Grunde schauen, was das,
was sich hier ändert. Also vielleicht wollen wir das ein bisschen
heller
machen oder vielleicht eine Frau, weißt
du was? Nein, es wird
tatsächlich eine Helligkeit von Null sein, dann ist es plötzlich natürlich
völlig dunkel. Es gibt also eine Reihe von
Dingen, die Sie
hier tun und es grundsätzlich an
Ihre Bedürfnisse anpassen können. Und das kann deiner Zeichenliste
einen Umhang hinzufügen. Dies könnte etwas sein, das du für
deine Charaktere hinzufügen möchtest. Vielleicht möchtest du das zu
deinem Spiel hinzufügen , damit die Leute es kaufen
können, z. B. mit Straßensperren als
Beispiel hier. Aber das ist die allgemeine
Idee eines Trails. Also nur der
Argumentation wegen des Additivs für
den linken und den rechten
Fuß des Charakters. Und schauen wir uns an,
wie der aussieht. Es wird ein
bisschen verrückt aussehen, aber warum nicht? Sie können sehen, dass es immer noch funktioniert. Du bekommst also im Grunde eine Spur
, auf die der Charakter tritt. Und das ist eigentlich
auch richtig cool. Ich kann, ich kann mir
das vielleicht für ein Haustier oder
so vorstellen . Wie ein wirklich seltenes
Haustier, das eine dieser Trails
haben könnte eine dieser Trails
haben , die wirklich,
wirklich toll aussehen werden. Aber ja, das ist ein
Trail und so fügt
man ihn
speziell dem Charakter hinzu. Aber ehrlich gesagt kann man hinzufügen, dass
es wirklich alles bedeutet. Zusammenfassend lässt sich sagen, dass ein Trail mit zwei
verschiedenen Anhängen
hinzugefügt werden kann . In unserem Fall klonen wir es nun
tatsächlich aus dem Serverspeicher
und fügen
es dann dem Charakter über
zwei Anhänge hinzu , die wir in diesem Fall ebenfalls in
einem Skript erstellen. Und das ist nicht nur für einen Charakter
machbar, das könnte
man theoretisch auch Kaslow
hinzufügen. Denken Sie, das bewegt
verschiedene Modelle. Du kannst es wirklich
überall machen , wo du zwei Anhänge
hast. Roboter, das war's
für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
33. (Roblox) Drei Arten von GUIs: Ordnung, lassen Sie uns
hier
mit den Roblox-Grundlagen für den Roboterkurs fortfahren . Und in diesem Vortrag werden
wir einen kurzen Überblick über Griechenland
werfen. Griechenland oder GUIs sind im Grunde
grafische Benutzeroberflächen. Und sie ermöglichen es dem Benutzer, mit einer ebenso
grafischen Benutzeroberfläche zu interagieren. Und es gibt grundsätzlich
zwei verschiedene Typen. Wir können entweder hier etwas in
der Standard-GUI
erstellen , oder wir können auch
etwas in der Welt erstellen. Fangen wir mit der Standard-GUI an. Und wenn wir hier die
Plus-Taste drücken, können
Sie sehen, dass
es uns bereits
die Bildschirm-GUI
vorschlägt und genau das
wollten wir erstellen. Also werden wir eine Bildschirm-GUI
erstellen. Und damit
können wir noch ein Plus machen. Und dann könntest du
sehen, dass wir
sicherlich UI-Objekte hinzufügen können , z. B. einen
Frame. Frame. Und das wirst du hier in
der oberen linken Ecke sehen. Jetzt haben wir einen weißen Rahmen
und wir können ihn sogar verschieben, sodass wir ihn verschieben können. Sie können sehen, wir haben
einige Richtlinien. Dies ist die horizontale Mitte, und dann können wir sie sogar genau in
die Mitte des Bildschirms bringen . Wir können die Größe dann so ändern, dass wir die Größe
so ändern können, oder? Das ist also ziemlich cool.
Wir können das also im Grunde wie bei vielen Dingen einfach in der
Größe ändern. Nimm sogar ein paar
Richtlinien, wo es ist, zum Beispiel, wie viele Pixel es groß
ist und wie viele Pixel es von oben sind, z. B. und dann innerhalb davon, lass uns die Größe
hier einfach ein bisschen
erhöhen . Und was wir dann tun können, genau wenn wir es
wieder zentrieren, da hast du es. Wir können diesem Frame auch Dinge
hinzufügen. So können wir z.B. ein Textlabel hinzufügen und jetzt haben wir ein Label hinzugefügt. Das können wir ihr auch schicken. Wir können das vielleicht ein
bisschen vergrößern und zum Beispiel sagen, okay, wir wollen
den Text ändern , der im Etikett
angezeigt wird. Wir können auf dieses
Etikett klicken und dann bis zu
den Texten hier drüben
gehen .
Sie können sehen, dass wir nicht nur den Stil des Textes
ändern können, indem wir ihn fett und
vielleicht sogar kursiv machen, oder? Wir können eine Menge Sachen machen. Wir können ein Rich-Text-Label erstellen
und den Text ändern. Also können wir z.B. sagen, dass dies
ein Beispiel für einen Text ist, oder? Und wenn ich das schicke, los
geht's, bam, fertig. Wir können die
Textgröße ändern. Ich will die größeren. Machen wir das ein
bisschen größer. 32, absolut fantastisch. Wir können sogar die Waage erstellen, sodass sie dann
automatisch skaliert, wie Sie sehen können. Wenn ich also dieses
bestimmte Element skaliere, skaliert es automatisch,
was ziemlich cool ist. Aber lass uns das einfach von
hier rausholen. Und Sie können
die Texte auch ändern. Die Texte sind ebenfalls farbig. Ihr seht also, unter diesem
Text gibt es sehr, es gibt eine Menge
Eigenschaften, die man grundsätzlich ändern
kann,
um das zu ändern, lasst uns
das auch fett machen. Und dann haben wir
hier ein, naja, ein Textelement. Ziemlich cool. Und Sie können sehen, dass es noch einige andere
gibt. Also Text-Button, z.B. Das ist nur ein Button
mit einem Text drauf. Sie können tatsächlich auch eine
Bildschaltfläche haben. Das funktioniert also auch in der Bild-Schaltfläche
, auf der sich dann ein Bild befindet, sodass Sie auf
diese Schaltfläche klicken können und
bestimmte Dinge passieren. Wir werden
hier eigentlich nur ein sehr kleines Beispiel für die Textschaltflächen sehen . Das wird also nur die Schaltfläche
zum Schließen sein. Also ändern
wir das einfach von Button auf Schließen. Und lassen Sie uns
das auch einfach vergrößern. So etwas wie vielleicht, vielleicht
50 wird okay sein. Und dann machen wir
auch diesen Ball. Da hast du es. Und wenn ich jetzt auf
diesen Button klicke, würde
nichts passieren, weil
wir das einfach spielen können, oder? Wenn ich spielen würde,
würde
die GUI
auftauchen, weil das GYE
immer erscheint. Und obwohl ich
auf diese Schaltfläche klicken kann, passiert nichts und
das GY bleibt bestehen. Aber natürlich, richtig,
das ist irgendwie nervig. Was du also tun könntest, ist,
lass uns das einfach beenden. Und wenn wir das
tatsächlich deaktivieren wollten, können wir
einfach ein lokales Skript
zu unserem Text-Button hier drüben hinzufügen zu unserem Text-Button hier drüben und dann können wir etwas hinzufügen. Also das ist zB das
Beispiel-Button-Skript, oder? Dies ist nur ein Button-Skript. Nun, das ist ein lokales
Skript, weil die GUI nur
für unseren Kunden relevant ist, oder? Nur für unseren speziellen Spieler. Wir müssen das nur
auf dem lokalen Client machen. Also holen wir uns den Button. Die Schaltfläche selbst bezieht sich auf
das übergeordnete Skript , da
wir natürlich auf
dieses Skript verweisen und es bezieht sich jetzt auf diese
Schaltfläche als übergeordnetes Element. Und dann können wir auch das
eigentliche Panel bekommen. Es wird also das
Panel geben und das entspricht der Schaltfläche, dieses übergeordnete Element, oder? Das wäre also der Rahmen selbst, genauso wie der
rahmenlose Frame ihn Frame nennen würde. Und wenn wir noch einen Schritt weiter
gehen
und tatsächlich zur Bildschirm-GUI gehen wollten , können
wir dann
Frame Dot Parent sagen. Das sind also alle
drei, die wir haben. Und wenn wir eigentlich etwas machen
wollten, nun
ja, dann bietet uns der Button ein Event an. Das wäre natürlich der Button Punkt
aktivieren, aktiviert. Eigentlich, da hast du es.
Das ist also ein Ereignis hier, lässt das aktivierte
Ereignis genau hier erscheinen. Und wir können den Doppelpunkt
verbinden und dann einfach eine neue
Funktion hier erstellen. Und wir haben wirklich
nichts drin oder wir
müssen nichts bekommen. Und dann können wir einfach sagen, dass z.B. Druckknopf
hier geklickt wurde, nur um das zu haben. Und dann können wir einfach
auch Bildschirm sagen. Es wird also unser
Bildschirmpunkt aktiviert sein, was
gleich falsch ist und dadurch wird der Bildschirm
im Grunde deaktiviert. Das ist ziemlich cool. Mal schauen, ob das schon funktioniert, aber es sollte schon funktionieren. Also lass uns einfach reingehen
und du kannst sehen, wenn ich jetzt auf dieses Schließen klicke, siehst
du ButtonClicked
und auch die GUI wurde jetzt deaktiviert,
weil sie gestartet wurden, wir sind genau hier bei diesem
wurde es im Grunde deaktiviert, jetzt wurde es
nicht
direkt hier in der Historie deaktiviert , weil die GUI
natürlich auch
irgendwo hier im
Workspace oder woanders gespeichert ist , wahrscheinlich woanders,
aber es ist repliziert. Und das ist die allgemeine Idee. Deshalb ist es dann für unseren
Spieler
deaktiviert. Ziemlich cool. Das wird also ein
Beispiel für eine GUI sein. Nun, eine wichtige
Sache, die Sie beachten sollten, wenn Sie z.B. ein Bild
haben möchten , oder? Wenn wir hier also
ein Bildlabel hinzufügen
und es einfach zentrieren möchten , möchten
Sie dieses
Bild in etwas anderes ändern. Das Problem wird sein, dass Sie es eigentlich nicht wirklich in irgendetwas
ändern können. Im Moment ist unser Spiel also
nicht auf Roblox veröffentlicht. Das ist gewollt,
und aus diesem Grund
können wir hier jetzt ein benutzerdefiniertes
Bild hinzufügen. Ab diesem Zeitpunkt,
sobald wir unser Spiel veröffentlichen. Dann können wir tatsächlich auf
die Möglichkeit zugreifen , auch Bilder hinzuzufügen, und dann können wir hier
auch ein Bild hinzufügen. Also behalte das im Hinterkopf.
Wir werden es vorerst so belassen. Und wir
gehen tatsächlich zur
Bildschirm-GUI und aktivieren und deaktivieren sie. Und dann werden wir uns die beiden anderen GUIs
ansehen. Es gibt also eine andere Art von GUI. Sagen wir einfach, wir
wollen das zum Clicker hinzufügen, sagen
wir zu diesem speziellen
Block hier drüben. Und was wir tun können,
ist, wir könnten hier einfach
ein Plus machen und
wir können GUI eingeben,
und Sie können sehen, dass wir sowohl eine
Billboard-GUI als auch eine Oberflächen-GUI hinzufügen
können . Lassen Sie uns zunächst eine Oberflächen-GUI
hinzufügen und schauen
wir uns an, was das ist. Also ich denke, es gibt nur Clicker. Wir können jetzt auch bestimmte
Dinge hinzufügen. Sie können also sehen, dass
es auf dieser Seite ist. Lass uns jetzt das Gesicht ändern. Das wird eine Front sein. Wir wollen wahrscheinlich die
Rechte oder die Linke. In der Tat, da hast du es. Und jetzt haben wir das auf
dieser speziellen Seite. Sie können also sehen, dass
es dort ein Etikett gibt. Wenn ich herauszoome, ist
es kaum lesbar. Wenn ich ein bisschen hineinzoome
und es viel besser lesbar ist, können wir das ändern. Also im Textlabel hier drüben können
wir hier reingehen und
ein paar Dinge
ändern, als erstes die Texte hier ändern. Das ist also nur
ein Beispieltext. Da hast du es. Wenn wir
das verschieben wollten, können wir das tun. Bei der Position
hier zu X und Y muss man sich
nun bewusst sein, dass die Skalierung und der
Offset hier ziemlich groß sind. Wenn wir also z. B.
einen Offset von 50 machen, bewegen
wir uns tatsächlich rüber. Wenn du eine Skala machst, dann solltest du etwa
0,1 und solche Sachen machen. Weil
es sonst so wäre , als würde man es
außer Betrieb nehmen. Also sagen wir zum Beispiel 25,
plötzlich haben wir das hier mittig auf dem
Bildschirm. Lassen Sie uns das auch
ein bisschen größer machen, damit es ein
bisschen einfacher zu lesen ist. 32, vielleicht ein bisschen
zu groß, vielleicht eine 26. Ja, da hast du's. Und
jetzt haben wir das hier. Also, wenn wir jetzt spielen
und es tatsächlich angehen würden, und du kannst sehen, wo es ist? Da ist es. Es ist also schwer zu lesen und
dann
wird es irgendwann ein
bisschen schöner zu lesen. Das ist also möglicherweise nicht immer das Richtige
, was Sie tun möchten. Es handelt sich jedoch um eine Oberflächen-GUI, also um eine GUI, die Sie auf einer Oberfläche platzieren
können. Aber zu guter Letzt haben wir
den dritten. Und wenn wir das hinzufügen, ist
dies die Billboard-GUI. Nun, die Billboard-GUI ist irgendwie interessant, weil sie manchmal
irgendwie komisch ist, aber lassen Sie uns einfach
einen Rahmen hinzufügen. Und Sie können jetzt sehen, dass es sich in der Mitte dieses Objekts befindet. Wir können die Position ändern indem wir diesen
Statistik-Offset hier verwenden. Also sagen wir einfach, ich möchte diese zehn Starts höher
machen, und jetzt ist es da drüben. Wenn ich jetzt ein- und auszoome, sieht
man, dass es
seine Größe ändert, weil es seine
Größe auf diesem Bildschirm im Grunde immer gut beibehalten möchte. Wenn wir also nur sicherstellen
, dass das alles eingerichtet ist, also im Frame, wollen
wir auch hier als Größe eins
Komma Null und dann
10 verwenden . Weil wir uns immer gefragt
haben, da hast du es. Wir wollen immer, dass der Frame die GUI perfekt
ausfüllt. Die allgemeine Idee
ist, dass, wenn Sie
die Größenskala hier verwenden , das zu 100% funktioniert. Wenn ich die Hälfte
davon haben will, könnte ich 0,10 machen, 0,05 wären 5%, 0,5 wären die Hälfte davon. Jetzt nimmt es also die
Hälfte der
Billboard-GUI ein, wie Sie sehen können, oder? Und dann würde eins natürlich bedeuten, dass ich es zu
100 Prozent besetze. Wenn ich dann hier ein
Textlabel hinzufüge, oder? Nun, da wir
das Textlabel haben, ändern
wir das
Textlabel selbst. Also sagen wir einfach,
es wird ein bisschen größer sein. Wir 32, ähm,
vielleicht, vielleicht machen wir 28 und
das wird okay sein. Und dann wird der Text tatsächlich
von mir angeklickt. Da hast du es, richtig? Und
wenn ich jetzt einfach mitmachen würde, schauen wir uns einfach an, wie das aussehen
wird. Also, wenn ich hier meine Kamera wechsle, wird das völlig
in Ordnung sein. Das ist eigentlich eine ziemlich
nette Billboard-GUI. Jetzt wird es durch
das Licht hier beeinflusst. Wir können das auch ändern, aber insgesamt ist das ziemlich cool. Aber jetzt wollen wir sehen, was
passiert, wenn ich weiter wegziehe und weiter wegziehe und
weiter wegziehe. Und du kannst sehen, dass das seltsam ist , was
passiert, oder? An diesem Punkt wird es also
riesig, Idioten, ziemlich groß. Jetzt können wir es immer noch lesen, was eigentlich
ziemlich großartig ist, aber es wird ziemlich groß. Und um ehrlich zu sein, müssen wir
etwa 100 Studien entfernt wirklich wissen, was der Frosch hier drüben
passiert. Nicht wirklich. Vielleicht sollte
es passieren irgendwo hier draußen
auftaucht, das würde wahrscheinlich reichen. Und wir können das ändern, indem erneut
zur Billboard-GUI gehen
und
zur maximalen Entfernung heruntergehen. Moment ist es unendlich,
also
zeigt es im Grunde einfach , wo
Sie sich auf der Welt befinden. Und vielleicht sagen wir hier einfach
50 und lassen Sie uns sehen ob das etwas bewirkt und es wird definitiv etwas
bewirken, aber es ging,
naja, da haben Sie es. Es macht eigentlich genau das
, was wir wollten. Wenn wir also weit davon entfernt
sind, wird es nicht angezeigt. Und dann
haben wir auch nicht dieses seltsame Größenproblem. Und wenn wir in einen
bestimmten Radius gehen, sind
das 50 Staaten davon. Also die Kamera muss
es sein, damit ich das
manchmal
zeigen kann und manchmal nicht, aber das sollte nicht ganz in Ordnung
sein. Und wenn wir dann
hier sind, kannst du es
deutlich sehen und das ist ziemlich cool. Aber die Größe hier ist
eigentlich das Wichtigste. Also die Skala haben und dass die X- und die
Y-Koordinate eins sind. Also im Grunde genommen, um die Billboard-GUI
auszufüllen, und dann wird
die
Skalierung normalerweise genau das tun, was Sie
im Grunde wollen. Und das sind die drei GUIs,
die Bildschirm-GUI, die
Oberflächen-UI und die Billboard-GUI. In der Tat sehr interessant, damit ist
diese Vorlesung genau hier abgeschlossen. Ich hoffe, Sie fanden das nützlich und haben etwas
Neues gelernt. Wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
34. (Roblox) API: Ordnung, lassen Sie uns
hier für den Kurs
mit den Roboter-Grundlagen fortfahren . Und in dieser Vorlesung befinden
wir uns tatsächlich in den Roblox Engine-API-Referenzen statt in Roblox Studio. Denn hier zeige ich dir im Grunde einen allgemeinen Überblick darüber, wie du create robots.com verwenden
kannst. Ich werde das auch in
den Ressourcen verlinken. Und das ist eine sehr gute
Quelle für Sie, nun ja, wie Sie sehen können,
die Logik hinter Ihren Erfahrungen,
Hindernissen. Im Grunde haben Sie also
Zugriff auf all die verschiedenen Klassen
und Datentypen und alles, was
darin enthalten sein könnte und das Sie sich jemals ansehen
möchten. Also z.B. was
wir schon einmal gesehen haben, haben
wir vor dem
Pestdetektor gesehen, also lasst uns das anklicken
und ihr könnt ihn sehen. Ein Klickdetektor ermöglicht ein Skript und ein lokales
Skript empfängt Mausklick-Ereignis eine Zeigereingabe von einem 3D-Objekt durch sein Mausklick-Ereignis eine Zeigereingabe von einem 3D-Objekt. Absolut verrückt. Es zeigt
dir im Grunde eine Menge Sachen. Es zeigt dir ein
Beispiel hier und erklärt viel, wie
dieses Ding funktioniert, oder? gibt es bestimmte
Codebeispiele Hier gibt es bestimmte
Codebeispiele, die Sie
dann verstehen können. Und es gibt sogar eine Zusammenfassung
, in
der Sie die Eigenschaften dieser
bestimmten Klasse finden. Es gibt Ihnen die Methoden und
Ereignisse, die Sie verwenden können. Und das ist absolut unglaublich. Ich möchte also nicht
ins wahnsinnige Detail gehen, aber sie sind auch mit Hyperlinks verlinkt. Also zum Beispiel, wenn ich sage, oh, was ist das Drehbuch?
Klicken Sie darauf. Bam, das ist ein Drehbuch. Das ist absolut fantastisch und ich kann es nicht genug
empfehlen. Wenn Sie sich jemals nicht sicher sind,
was etwas tut oder wie das
funktioniert? Was ist das für ein Dual? Wir haben gerade über
die GUIs gesprochen, z. B. richtig. Gehen wir also hier hoch zur
Billboard-GUI, z. B. BAM. Sie sind jedoch Container
für GUI-Objekte. Sie können sehen, dass ihre Position relativ zu einer Zierde
steht. Wenn es kein Adore
Knee gibt, dann
wird der Elternteil als Unterteil festgelegt, solche
Dinge. Es gibt so viele
interessante Dinge , die Sie
sich hier ansehen können. Es ist eigentlich verrückt. Ich möchte
das im Grunde kurz und bündig machen falls es etwas gibt, das Sie mit einigen
der Grundlagen,
über die wir
bisher gesprochen haben, lernen
möchten der Grundlagen,
über die wir
bisher gesprochen haben , oder? Wenn du
die Klo Einführung durchgemacht hast, verstehst
du Lewis einigermaßen. Wenn Sie jetzt die Grundlagen
der Straßensperren durchlaufen haben und im Standard sind. Die meisten Grundlagen, die
wir durchgemacht haben. Du kannst
hier fast jeden Kurs
durchgehen und ungefähr verstehen,
was vor sich geht. Nun, natürlich gibt es
einige von ihnen, die ein
bisschen höher sind, vielleicht sind einige der
Animationssachen und einige andere Dinge
vielleicht ein bisschen zu weit weg, oder? Mit einer Cloud und dem
Speichern bestimmter Dienste sind Sie vielleicht
immer noch nicht in der Lage, einige Dinge zu erledigen, aber es ist immer noch
wirklich, wirklich großartig,
dass Ihnen das zur Verfügung steht. Und es ist, es ist so cool
, dass du das einfach
durchlesen kannst und
immer mehr Informationen erhältst. Was Sie auch bei
einigen von ihnen finden werden, ist, dass sie es sind, sie könnten veraltet sein. Also ich glaube das okay, die Winkelgeschwindigkeit ist
eigentlich nicht veraltet. Nun, es gibt bestimmte Dinge , die veraltet sind, oder? Wir können hier also tatsächlich Dinge
sehen, z. B. die Körperposition hier ist
die Körperposition hier veraltet und
sollte nicht verwendet werden, aber sie sagt dir immer, was du stattdessen verwenden
solltest, oder? Das ist also ein altes und
das ist wirklich, wirklich cool. Ich kann also nicht genug ausdrücken wie cool die
Engine-API hier ist. Wie gesagt, ich werde das verlinken. Es hat so eine großartige Ressource. Bitte
schauen Sie es sich an, oder? Aber damit sind diese Vorlesung und auch die Grundlagen der Straßensperren abgeschlossen. Im nächsten Schritt werden
wir tatsächlich
unser erstes eigenes Spiel machen und das
wird ein ABI sein. Also hoffe ich, dich dort zu
sehen. Ja.
35. (Roblox) Einführung und wie dieser Abschnitt aufgebaut ist: Ordnung, Willkommen hier zur ersten Vorlesung in
der Armeesektion. Und ich möchte nur
kurz erwähnen welche Art von OB
wir bauen werden. Das ist also das fertige RB , das im Grunde genommen fertig
sein wird. Und wenn ich spawne, spawne
ich hier am Ende, aber das wird völlig in Ordnung
sein. Wir können den
Avi dann quasi gegen Ende sehen. Sie können also sehen, dass wir hier
verschiedene Formen haben. Wir haben bewegliche Dinge, also wir haben bewegliche Kill
Bricks, die du nicht anfassen kannst. Sie bewegen sich alle in
verschiedenen Dingen. Dies geschieht mit dem
Tween-Dienst hier. Wir haben Treppen, die
verschwinden, wenn Sie sie berühren. Und dann haben wir hier
nur ein paar Kill Bricks und noch ein paar andere
Dinge. Das ist also wirklich großartig
und das wird ein wirklich, wirklich cooles RB. Jetzt mache ich es
natürlich falsch, aber
das ist völlig in Ordnung. Und da hast du es. Das ist also die allgemeine Idee des Wohnmobils, das
wir erstellen werden. Wirklich coole Dinge hier,
sehr zu empfehlen, sie sich anzusehen. Und zu jeder Vorlesung gibt es
natürlich eine RB-Excel-Datei zum
Herunterladen. Sie können den RB also grundsätzlich in
jedem Zustand
herunterladen , in dem Sie ihn weiterhin verwenden
möchten. Ich hoffe wirklich, dass du viel
Spaß beim Bauen
des Wohnmobils hast und wir sehen uns
in der nächsten Vorlesung. Also, ja.
36. (Roblox) Modellierung des Obby: In Ordnung, willkommen zurück
zum Roblox-Kurs. Und in dieser Vorlesung werden
wir dafür
tatsächlich
ein ABI erstellen. Wie Sie sehen können, sind
wir tatsächlich in Roblox Studio, wo wir einen neuen Ort schaffen
können. In diesem Fall möchte ich eigentlich, dass
du dafür RB wählst, weil wir damit im Grunde mindestens
drei oder vier verschiedene Dinge
kopieren
können mindestens
drei oder vier verschiedene Dinge
kopieren drei oder vier verschiedene Dinge , die bereits für uns erstellt wurden. Und es wird unserem OB
das Leben einfach viel einfacher machen. Wählen wir also RB
und dann werden Sie sehen , dass das Spiel beginnt und Sie
können sehen, dass dies unser Beispiel ist. Ich bin hier drüben. Die
allgemeine Idee ist also, dass dies die Vorlage
von Roblox selbst ist. Und du kannst sehen, dass es hier einen Stern
hat. Wir haben
schon einige Checkpoints hier diese lila und
dann die rot leuchtenden, die aus zerstörten
Ziegeln bestehen. Und ja, das ist
so ziemlich das, was wir haben. Und das erste, was
wir tun werden, ist das
einfach als Datei zu speichern
. Ich nenne das einfach RB1. Und das wird die
Datei sein, die Sie
nach dieser Vorlesung herunterladen können . Wie dem auch sei, welche
Teile wollen wir retten. Nun, lass uns der Argumentation
halber
einfach spielen und sehen, was dieser RB kann. Wir werden natürlich am Anfang
hier spawnen und dann
können wir hier
für den ersten Teil weitermachen. Und die eine Sache ist , wenn wir den
mittleren Teil hier nicht berühren, bekommen
wir diesen Checkpoint wir werden
ihn sofort reparieren. Und wenn wir dann einfach hier
weitermachen, hast du es. Sie können diese sehen. Sie geben
hier die Geschwindigkeit vor, also musst du
vorsichtig sein, wenn du auf
sie zugehst und von ihnen wegspringst. Da hast du es. Und dann werden die
Kill Bricks dich natürlich töten,
wenn
du sie triffst. Also musst du
damit vorsichtig sein. Und da hast du es. Das
habe ich tatsächlich hier gemacht, aber ich mache mir überhaupt keine Sorgen. Nun, mach dir überhaupt keine Sorgen. Versuchen wir es einfach noch einmal. Also so etwas. Da hast du es. Jetzt haben wir es. Lass uns gehen. Und dann ist das letzte nur
ein Sprungbrett hier drüben. Du kannst also sehen, ob du
darauf springst, dann hast du es. Und jetzt haben wir den RB im Grunde genommen
beendet. Jetzt
passiert nichts, oder? Es gibt keine große Fanfare
oder ähnliches. Aber es ist eine sehr gute Grundvoraussetzung
, auf der man aufbauen kann. Und deshalb wollte ich das. Wenn
du wieder hier bist, solltest
du im Grunde zur Auswahl gehen
und was du tun kannst, ist zu bieten, so
ziemlich einfach
diese Teile hier löschen und
dann können wir das berechnen. Jetzt werden wir also
im Grunde den OB entwerfen. Und wir werden
bestimmte Funktionen haben , die
noch nicht implementiert sind, weil ich im
Moment nur
eine grobe Form für
die ABI entwerfen
wollte , oder? Ich möchte nur
ein paar Checkpoints platzieren. Ich möchte
ein paar Kill Bricks platzieren, ich möchte einige
interessante Hindernisse platzieren, und dann werden wir im Grunde von dort aus
weitermachen. Das Erste, was ich hier
für die Checkpoints
empfehle , ist
, sie einfach zu dimensionieren. Sie können sie also auswählen, zum Skalierungswerkzeug gehen
und dann die Umschalttaste drücken. Und dann wird
es sie
im Grunde in alle
Richtungen gleichzeitig skalieren . Und wir wollen sie vergrößern, schauen wir uns an, wo wir uns gerade befinden. Bei diesem Wert 0,92, 0,5 und wie wäre es mit 99 Komma
drei, Komma Neun. Ich denke, das sollte in Ordnung sein. Und dann haben wir einen großen. Jetzt kannst du auch sagen,
naja, vielleicht ist uns das
tatsächlich
zu groß , dann können wir das auch
ändern. Vielleicht wollen wir, dass das
flacher wird, also ist es eins. Und da hast du es. Ich finde, neun mal neun
ist eigentlich ziemlich gut. Wenn der Spieler nun das Ganze
trifft, wird
dieser Checkpoint tatsächlich registriert, und das ist dieser. Es ist einfach komisch, dass sie das gemacht haben, aber das ist okay. Dann sollten Sie sich auch zwei
dieser Förderbänder besorgen , damit
wir wollen, dass einer variieren kann. Gehen wir nach links und ein Förderband, das nach rechts
geht. Wir können also einfach einen von ihnen
auswählen, Umschalttaste
gedrückt halten und den anderen auswählen. Und dann können wir
sie einfach ausschneiden, indem wir Strg X und Control V drücken , um sie wieder einzufügen. Beachten Sie nun, dass sie
sich
hier unten im Arbeitsbereich befinden,
aber das können wir
in wenigen Augenblicken beheben. Vorerst. Ich möchte
sie nur hier am Anfang irgendwie retten . Das Gleiche werde
ich mit einem Kill Brick machen. Ich
kopiere einfach dieses Control C und dann Control V
, um es wieder einzufügen. Und dann habe ich den Kill
Brick auch hier drüben. Und dann können wir das später
für alle möglichen
Dinge verwenden . Und dann das
Gleiche, was ich für
das Trampolin machen werde . Du kannst tatsächlich sehen, dass
es ein Surface G gibt und diesen Surface
Jude, ich werde innerhalb des Spiels selbst
deaktivieren. Ich glaube,
das ist das Drehbuch. Vier, wie Sie sehen können, entspricht die aktivierte
Oberflächen-GUI falsch. Deshalb hat es ein Drehbuch und das ist der Grund, warum das
eigentlich nicht angezeigt wird. Das ist also nur für das, was Sie
tun, während Sie
das eigentliche Spiel erstellen, was eigentlich ziemlich
großartig ist. Also lasst uns das auch einfach kopieren. Da hast du es. Und lass uns das einfach hierher bringen
. Und dann können wir fast einfach den ganzen Rest
löschen, weil der
ganze Rest für
uns im Moment irgendwie
nicht wirklich notwendig ist , oder? Also lasst uns einfach
alles außer diesem löschen. Da hast du es. Jetzt haben
wir also ein Heereslager und wir haben fast alles
gelöscht. Das ist in Ordnung. Und Sie können
im Arbeitsbereich sehen, jetzt ist alles
wie nach dem Zufallsprinzip eingerichtet. Also die Checkpoints,
das ist Checkpoint eins. Das ist gut. Lassen Sie uns das auch
ändern. Machen wir das ein
bisschen interessanter. Also fangen wir damit an, also vielleicht so etwas. Vielleicht wollen wir
das ein bisschen vergrößern. Und wir werden
das ändern. Und was ich tun will ist, hier eine Rampe
zu bauen. Also werden wir einfach
dieses Control D duplizieren , um es zu duplizieren. Und dann können wir das
umdrehen. Und lassen Sie uns
sichergehen, dass Sie da sind. Ja, das ist etwas, was einer von denen denkt
, dass man so etwas tun kann, ist, dass man
vielleicht so etwas tun kann. Das ist also etwas
kniffliger, oder? Du musst von
der Seite hier drüben springen, das ein
bisschen leiser
drehen, dass es fast
dasselbe ist. Da hast du es. Und dann haben wir das. Also jetzt musst du eigentlich
hier und dann rauf gehen. Noch eins. Ja, da
hast du's. Also gehst du her, spring hier hoch. Und was
mit dem Wohnmobil
hier sehr wichtig ist, sind auch häufige Tests weil man manchmal
denkt, oh, das sollte
wirklich einfach sein. Und dann findest du
heraus, warte eine Sekunde, das ist tatsächlich eine
wirklich schwierige Phase und das ist nicht ganz das,
was du tun willst. Und dann bauen wir einfach eine
Rampe, die hier runter führt. Also lasst uns einfach das und
das und so etwas machen. Und
dann hast du es. In Ordnung? Das ist also eines dieser Dinge, bei denen man einfach ein
paar verschiedene Dinge ausprobieren muss. Und hier ist die, das ist
das, was die Modellierung sehr subjektiv
ist. Du kannst alles
genau so verfolgen, wie es mir geht. Oder du schaust dir einfach
diese Vorlesung an
und kopierst dann die Datei aus der fertigen Vorlesung oder
schaust dir einfach die fertige an. Und die Idee ist dann
auch eine große Sache. Du willst das bunter machen
. Wenn du die Steine hier
steinfarben
lässt, ist das einfach
verdammt langweilig, oder? Du kannst
sie also einfach auswählen und sagen, Hey, das soll vielleicht
wie ein Blau
hier drüben sein , elektrisches Blau. Ja. Und dann
sollte dieser vielleicht wie ein Cyan sein, oder? Und dann sollte dieser
vielleicht ein Pastellblau sein. Und dann hast
du plötzlich einen blauen Staat. Und
dann hast du es. Wir können das spielen. Und du wirst sehen, dass du das sofort spielen
kannst. Da haben wir es. Also können wir einfach hierher gehen
und wir können hier rüber springen, hierher gehen und dann
sind sie mit der ersten Stufe fertig. Jetzt
kommt es natürlich darauf an, welche Art von RB du machen
willst, oder? Wenn du
eine Hardcore-Armee aufbauen willst, ist
das wirklich schwer und das kannst du
natürlich tun. Normalerweise bevorzugen die Leute ein
etwas einfacheres RB
und eine einfachere Zeit damit, aber das ist völlig in Ordnung
, dass es an dir liegt. Sie können es gestalten
, wie Sie möchten. Also lasst uns dann weitermachen und lasst uns hier tatsächlich
etwas erstellen. Also werden wir eine
Art Gehweg erstellen. Also werden
wir das einfach noch einmal vergrößern und nur ein
bisschen länger und vielleicht auch ein
bisschen breiter. Also einer in jede Richtung. Ich finde das ziemlich gut. Und jetzt möchte ich hier den Kill Brick
benutzen. Also, wie würde ich
sie verwenden, während ich sie duplizieren
werde, Control D, ich werde sicherstellen, dass ich auswähle, die
ich gerade erstellt habe. Ich lege es unter die zerstörten
Ziegelsteine hier drüben. Die Art und Weise, wie der
Arbeitsbereich
hier organisiert ist ,
erfolgt im Grunde über die Funktion, oder? Also haben wir alle
Kill Bricks zusammen. Wir haben die gesamte OB-Struktur zusammen, obwohl
die Trampoline, obwohl die Förderbänder,
alle Checkpoints,
du das auch stufenweise machen kannst. Normalerweise denke ich jedoch, dass dies
ein besseres Setup ist ,
da einige Hobbys etwa 500 Seiten lang sind. Und normalerweise ist es
so besser , denn
innerhalb des Spiels, richtig, anstatt in
der Spielansicht hier, kannst
du immer auf
etwas klicken und es wird
das sowieso im Explorer
hervorheben. Sie
müssen es also nicht wirklich so einrichten, dass jeder
Staat einzeln angezeigt wird. Also werden wir das
so
machen, dass du über die
Kill-Bricks hier drüben
springen musst . Lass uns das einfach
noch einmal duplizieren und dann einfach hierher gehen. Nee, nicht da unten,
das wäre irgendwie komisch. Und dann noch
eins, duplizieren Sie es. Und dann vielleicht so
etwas. Da hast du es. Und dann auch noch einer
am Ende hier. Machen wir das einfach
ein bisschen größer damit wir es
noch weiter vergrößern können. Und dann können wir den
Kerl einfach hierher bringen. Ich denke, das
sollte hübsch sein, ja, das sollte ziemlich gut
sein. Und hier natürlich
auch nochmal
die Farbe ändern , denn das wird dir einfach einen schönen Kontrast geben
. Vielleicht beweg
den Kerl ein bisschen. Da hast du es. Also das ist eigentlich, ich mag das gerade
irgendwie. Wenn Sie diese Phase
abgeschlossen haben, möchten
Sie natürlich einen, einen weiteren Checkpoint, damit Sie
den Checkpoint duplizieren können, klicken Sie auf das
Kontrollpunkt-Steuerelement D, und dann werden wir
das einfach hierher verschieben,
um sicherzustellen, dass es, wenn
es, dass es nicht zu hoch ist, oder? Denn wenn du
etwas duplizierst, wird es immer
so sein, als ob es weiter oben steht, was
manchmal komisch ist, aber da hast du es. Und das ist so ziemlich alles. Nun das nächste, was
normalerweise gesehen wird und wirklich gefällt, also werde ich den Teil hier
drüben kopieren, das ist Treppe. Also werden wir
versuchen, Treppen zu bauen. Jetzt. Sie sind tatsächlich ziemlich schwierig, sie zu 100% richtig zu machen. Aber sie sind trotzdem ziemlich
großartig. Also werden wir
einfach Treppen bauen. Und später könnten wir z.B. wenn wir
sie verschwinden lassen wollten, oder? Du kannst es
also so machen, dass, wenn du die Treppe hochgehst wo sie hinter dir verschwinden, das immer
ein cooler Effekt ist und die Leute scheinen das zu mögen. Also, wie würden wir das
eigentlich machen? Es gibt ein paar Möglichkeiten
, wie Sie damit umgehen können. Was ich im Grunde tun
möchte, ist zunächst, einen neuen zu erstellen,
ich werde tatsächlich
mit der rechten Maustaste auf das Teil und ich werde einen neuen Ordner
erstellen. Und ich nenne
das die Treppe. Ich nenne die
Treppe 90, weil wir
eine 90-Grad-Treppe bauen werden. Im Grunde werden wir Treppen
bauen, die von dieser Ausrichtung zu einer perfekten Ausrichtung führen, oder? Das bedeutet also im Grunde
, dass wir aufsteigen und dann in diese Richtung enden
werden. Und ich will das haben,
weil du dann diese Treppe
mit einer anderen
Treppe
kombinieren kannst diese Treppe
mit einer anderen
Treppe
kombinieren und dann kannst du
180 Stufen haben und dann
sogar 270 Stufen. Und selbst wenn 360 Stufen und
theoretisch einfach weiter hochgehen, wenn du willst. Also lassen Sie uns einfach diesen
duplizieren. Und was du tun willst, ist, dass
du das rotieren willst. derzeit Wenn wir dies jedoch standardmäßig drehen würden, drehen wir es standardmäßig um 48, 25 Grad. Ja, 25,5 Grad, was ein
bisschen zu viel ist, richtig. Du kannst also sehen, ob wir
das verschieben würden, als ob das eine viel zu große
Lücke für Treppen wäre, oder? Also willst du
die Rotation hier ausschalten und du willst die freie Rotation machen. Jetzt können Sie es also grundsätzlich um
so wenig oder so viele Grad drehen ,
wie Sie möchten. Und hier kommt
es auf Ihre persönlichen Vorlieben
an,
wohin Sie wollen. Das Gleiche
gilt
jetzt für den Umzug . Wir
werden
den Umzug hier ausschalten , damit wir sie in Lake bewegen
können. Winzige Mengen an Studien. Und das kannst du immer
überprüfen, oder? Du kannst dir das immer
von vorne ansehen und sagen,
okay, sieht das aus
wie eine Treppe, oder? Ich mag es wirklich irgendwie, okay, hier scheint dieser Gipfel richtig zu sein. Okay? Vielleicht wollen wir das noch
ein bisschen
erweitern und dann können
wir das duplizieren. Und weil es
immer die ersten Plätze gibt, wir, das ist
wirklich cool. Also können wir das ein
bisschen mehr drehen und es
erneut bewegen und das noch einmal machen und es ein bisschen mehr
drehen. Und du kannst
die machen , du kannst die Treppe
so groß oder so klein machen , wie du willst. nun in unserem Fall Lassen Sie uns nun in unserem Fall noch einmal einen Blick darauf werfen.
Schauen wir uns das mal an. Zu Debugging-Zwecken.
Was ich dringend empfehle, ist, dass Sie den Start
duplizieren. Das ist irgendwie komisch, aber haben Sie einen Moment
Geduld mit mir. Du nimmst den originalen
Stuart und deaktivierst ihn einfach, sodass du enabled auf false setzt, und dann gehst du zurück zum
anderen und verschiebst
ihn einfach in die Phase, die du hier testen
möchtest. Weil du sonst
immer den gesamten RB spielen musst. Und das ist normalerweise einfach
sehr seltsam, sehr seltsam. Wir können also sehen, dass das funktionieren würde. Also die Treppe, ihre
Arbeit, das ist in Ordnung. Wir müssen nicht,
wir müssen nicht da runter
gehen und dann gehen sie also können wir einfach damit weitermachen und
das
weiter rotieren. Wie gesagt, du kannst sie
so groß oder so klein machen , wie du willst. Du kannst beliebig viele
Treppen hinzufügen, oder? Du kannst sagen, Oh, weißt du was, ich will jedes
Mal nur ein
bisschen Rotation oder vielleicht ein bisschen weniger, ein
bisschen mehr, so
etwas. Bewege sie
auch einfach, damit sie nicht immer gleich aussehen, oder
du kannst sie sehr präzise machen. Das ist also
manchmal auch etwas , das man sehr genau will. Wenn du es sehr genau willst, kannst
du jederzeit zur Transformation hier
drüben
gehen und
die Ausrichtung
manuell anhand von Zahlen ändern , anstatt nur irgendwie mit dem Auge, oder? Denn im Moment mache ich es
einfach, indem ich es die Augen sehe
und so sage: Ja, das klingt ungefähr richtig.
Das sieht ungefähr richtig aus. Das ist also eine
Sache, die Sie
auch immer im Hinterkopf behalten können . Und wir nähern uns hier sehr
,
sehr schnell
der Rotation , die wir wollen. Sie können also sehen, dass wir so ziemlich
so
weitermachen werden, wie ich es gesagt habe. Und dann noch einer. Und dann, am Ende
hier,
müssen wir auf jeden Fall die Zahlen dort verwenden, aber das wird völlig in Ordnung
sein. Weil
wir das am Ende schaffen können. Also lass uns einfach noch eins machen
und noch eins hier drüben. Manchmal ist die Aussicht
ein bisschen verrückt. Wir würden nur ein bisschen
zurückgehen wollen. Los geht's, skalieren Sie das
und drehen Sie es dann erneut. Kann das tatsächlich ein bisschen
nach hinten verschieben. Also können wir das einfach ein
bisschen weiter nach hinten
drehen , damit es keine Lücke gibt, weil ich hier
im Grunde
keine Lücken
haben möchte. Vielleicht eine etwas größere Rotation, wo wir an dieser Stelle -98
hinzufügen, das ist eigentlich ziemlich gut. Wir sind also fast bei
unseren -90 Grad, denn sobald
wir bei 90 Grad sind, wissen wir, dass wir erreicht haben,
wo wir hin wollen, aber wir sind noch nicht ganz da. Also wahrscheinlich noch ein paar mehr. Wo sind wir jetzt? -92. Okay. Ich denke, das
wird jetzt der -90 sein. Jetzt wollen wir uns also der Transformation zur Orientierung befassen und wir wollen einfach Null minus 90
machen. Und Sie können jetzt sehen,
dass das eigentlich perfekt
in diese Richtung geht. Wenn wir das also skalieren würden, können
Sie sehen, dass dies jetzt
ein exakter 90-Grad-Winkel ist ,
was ziemlich beeindruckend ist. Also können wir einfach
den, den Checkpoint wieder nehmen, oben
bewegen, hier rüber gehen, und jetzt haben wir einen Checkpoint
hinter der Treppe. Vielleicht
möchtest du hier noch einen Sprung
hinzufügen , bevor du
einfach da reingehst. Das könnte auch
der Fall sein, oder? Also, richte das einfach ein. Da hast du es. Lassen Sie uns das ein wenig skalieren. So etwas
könnte ziemlich gut sein, und dann sollte es dir gut gehen. Das sind Treppen. Stellen wir sicher, dass wir
diese herausnehmen
, da sie nicht Teil
der Treppe ist und wir jetzt eine 90-Grad-Treppe
haben. Was ich hier empfehle, ist auch, dies
zu duplizieren, oder? Also einfach D drücken und dann kannst
du es einfach bewegen. Und was du tun kannst,
ist wirklich großartig. Denn jetzt könntest du das theoretisch einfach noch einmal duplizieren. Ich nehme all diese Treppen, bewege sie
einfach hoch
und dann hoch. Da hast du es. Und du kannst hier die
gesamte Treppe drehen. Aber es ist wichtig, dass wir das tatsächlich um 90 Grad drehen
. Lassen Sie uns das jetzt um 90 Grad drehen
. Und plötzlich
sieh dir das an, oder? Ich kann sie einfach ein
Jahr lang unterbringen und sie hier ablegen. Und sie passen fast. Es ist nur so, dass wir
das nur ein bisschen machen müssen. Da hast du es. Nur ein bisschen höher, ein
bisschen hoch oder nicht. Stellen Sie sicher, dass es
sich nicht einzeln bewegt hat. Du willst sie
zusammenbringen und dann gehen sie. Und jetzt haben wir eine Treppe. Jetzt sehen sie ein
bisschen komisch aus, aber sehen
wir uns einfach an, los geht's. Das ist eigentlich fast perfekt. Du wirst
es nicht einmal bemerken. Und jetzt haben wir tatsächlich eine 180°-Lenkung, also eine 180-Grad-Treppe, sodass wir all
diese Teile nehmen können, sodass wir all
diese Teile nehmen können, sie in das
andere
legen können, das hinterlässt den leeren Ordner und
dann können wir das nennen, einfach diese beiden Stufen in 180 umbenennen. Denn jetzt
müssen wir AT-Treppen wollen und
wir werden das
hier am Anfang
noch einmal speichern , wo wir im Grunde alles gespeichert
haben. Das wird in
Ordnung sein. Da hast du es. Das ist also, das ist eine
wirklich tolle Beteiligung. Theoretisch können wir
auch 180 Stufen haben. Nun, es ist vielleicht ein
bisschen komisch, auf sie zu steigen, aber noch einmal, die Treppe oder einfach eine Sache bei der man einfach
nicht viele Dinge ausprobieren
wird , oder? Diese Treppen
sind vielleicht ein bisschen steil und ein bisschen komisch, aber am Ende sollten
sie funktionieren. Also, wenn ich hier reingehe und sie
rüberführe, dann hast du es. Ich konnte hochgehen. Das ist also ziemlich großartig.
Lassen Sie uns die tatsächlich vergrößern, die Lücke hier
nur ein wenig vergrößern. Und lassen Sie uns tatsächlich noch einmal eine Studie in Bewegung setzen. Da hast du es, vielleicht
so
etwas und dann so
etwas. Also musst du hier rüberspringen. Das wird also in der Tat ziemlich
interessant sein. Und dann verschwinden. Das werden wir
tatsächlich in einer späteren Vorlesung sehen. Denn vorerst wollten
wir eigentlich nur ein paar andere
interessante Dinge kreieren. Das nächste Ding, oder? Das ist also ziemlich
genial, oder? Wir haben welche, wir
haben etwas davon, wir haben ein paar Kill
Bricks hier drüben. Wir haben ein paar Treppen
, die in der nächsten Vorlesung
verschwinden werden. Und jetzt möchte ich hier
weitermachen, oder? Jetzt möchte ich
weitermachen und nur ein paar Grundformen machen. Schauen wir uns also einfach die Größe
an. Die Größe ist
616, was ich will. Und ich denke,
das ist eigentlich okay. Ich mache das eigentlich
ein bisschen größer. Mach das 818. Ja, das ist
perfekt. Das ist großartig. Genau das hatte ich im Sinn. Und Sie können sogar die Position
ändern. Ich persönlich mag es also
immer, jetzt
die Positionen mit all diesen
Kommawerten zu haben . Also ändere ich
die Position auf 20. Ich ändere das auf 14 und wir werden das auf 105
ändern. Ich denke, das
wird okay sein. Und dann werden wir
einfach diese Position ändern, auch
2105. Und das wird das ein bisschen
schief
machen , aber das ist okay. Denn was du dann
tun kannst ist, dass du irgendwie sicherstellst, dass das so ist, du kannst es
einfach verstecken, indem du es auch ein
bisschen schief machst auch ein
bisschen schief und
es dann einfach skalierst und sagst, ja, das ist eigentlich
ein krummer Gehweg und dann sollte
sich niemand darum kümmern. Wenn
es die Leute interessiert, ist das normalerweise keine große Sache. Und Sie können es auch später jederzeit
ändern. Weil die Modellierung
, wie Sie sehen können, oder? Also, bis jetzt habe ich nur etwa 20 Minuten
gemodelt 20 Minuten
gemodelt und wir haben schon ein
paar Stufen drin. Und das Beste
daran ist, dass, wenn Sie ein paar
Zedern geerntet haben, oder? Also dieser Zustand hier, Sie können genau
diesen Zustand kopieren und ihn
später auch
auf eine etwas andere Weise wiederverwenden ihn
später auch . Das ist also immer eine Sache, die
Sie auch
beachten müssen , dass Sie Stufen
jederzeit wiederverwenden können. Nun, ich
möchte eigentlich nicht, dass das rotiert wird. Ich finde sogar, dass die Null minus Null eigentlich in Ordnung
ist. Wir
machen es einfach so. Wir werden das einfach größer
machen. Ja. So etwas. Vielleicht vielleicht nur eine
große, große Plattform. Da hast du es. Okay, das ist gut. Und jetzt können wir mit diesem
fortfahren. Also, was wird
dieser machen? Nun, dieser wird, dieser wird Steine dazwischen
getötet haben. Wähle einen Kill-Brick aus. Okay, ich weiß nicht,
was passiert ist, aber aus
welchem Grund auch immer
sind diese Ports unter dem Kill-Brick. Ich weiß nicht, wie das
passiert ist, aber okay. Wir wollen sie natürlich
im Rahmen der OB-Struktur herstellen .
Da hast du es. Und jetzt können wir diesen Kubrick
duplizieren. Ich weiß nicht, wie
das passiert ist. Ob das
passiert wäre, weiß ich nicht, aber wenn
so etwas passiert, solltest
du das ziemlich schnell
herausfinden. Und dann kannst du
immer korrigieren, dass unsere einzelnen Plattformen
und zwischen diesen Plattformen, ich möchte den
Kill Brick hier haben. Und ich möchte, dass sie
so sind oder ich möchte nicht, dass
sie sich so ausdehnen. Ich möchte, dass sie
sich gleich ein bisschen so bewegen. Jetzt werden wir die Bewegung
in dieser Vorlesung nicht noch einmal
umsetzen , Moment
modellieren wir einfach alles. Denn das Wichtigste daran und das ist auch, ich meine, ich habe schon einmal
darüber gesprochen,
ist, dass Sie einfach
sicherstellen wollen , dass Sie, wenn Sie so etwas
erstellen,
vor allem, einen Schritt nach dem anderen
machen. Du musst nicht unbedingt alles auf einmal
machen. Modellieren Sie einfach
zuerst den RB und dann
die gesamte Funktionalität, die Bewegung für bestimmte Teile, das Verschwinden eines anderen Teils, wie Sie etwas anzeigen, richtig
und in der Bestenliste und all das, das können
Sie
später immer tun. Also, wie wäre es damit? Ich finde das
ziemlich gut. Und ich denke, wir
können
das Ding dann einfach hierher kopieren und wir werden dieses
Ding einfach ersetzen. Also werden
wir diesen einfach durch unseren bewährten
alten Checkpoint ersetzen , wo wir in
der Tat auch in Zukunft
Dinge am Checkpoint ändern müssen. Aber noch einmal,
das spielt momentan keine Rolle, vorerst wollen
wir nur
etwas modellieren und das ist eigentlich schon
ziemlich gut. Also ich bin ziemlich zufrieden damit. Wir haben hier eine Bewegung, wir haben eine andere
Bewegung hier drüben. Und dann
ist das Letzte , was wir einfach
tun werden, zuerst werden
wir das neu
einfärben, denn zu grünen Stufen sind das
an dieser Stelle eigentlich drei grüne Stufen. Nun, das kann zwar nicht stehen, aber
lassen Sie uns das
alles auch neu einfärben. Lass uns einfach
reingehen und das machen, wie wäre es, wenn
wir es nicht zu einer roten, vielleicht zu einer Art
hellrosa Persimone machen. In Ordnung. Okay, das ist die
Farbe Persimmon Shore. Und dann werden wir einfach
sicherstellen, dass wir all
diese nehmen und wir werden wissen, dass ich sie nicht verschieben
möchte. Bist du verrückt? Ich wollte sie nur auswählen und dann wollen wir sie neu einfärben, vielleicht gelb,
das wird okay sein. Gelb und Rot
passen eigentlich sehr gut zusammen. Und dann müssen wir hier überprüfen
und dann,
was als nächstes kommen könnte. Also, wie wäre es, wenn wir
einfach einen von diesen kopieren. Und was ich machen möchte, ist, dass
ich hier eine noch
interessantere Form
haben wollte . Also was wir tun werden,
ist, dass wir
diesen Teil übernehmen und ich
gehe runter und wir werden das nicht sammelbar
machen. Der Grund dafür ist dass ich, wenn ich es
dupliziere, dasselbe Teil tatsächlich in sich selbst bewegen kann. Und ich kann das dann
umdrehen. Und du kannst sehen, wenn
ich
das bei der Drehung tatsächlich um 45 Grad mache, kann
ich jetzt einen
kleinen Stern machen. Das sieht also viel
interessanter aus, als nur eine normale
Plattform hier
zu haben. Aber warte eine Sekunde. Nun, diese funktionieren eigentlich nicht wirklich, weil sie jetzt kollidieren können. Der Spieler wird also einfach durch
sie hindurchfallen. Das ist wahr. Wenn ich
jetzt jedoch beide Teile nehme, wenn ich einfach beide
Teile auswähle und
auf diese Weise modelliere, kann
ich sie zusammenfügen. Und wenn ich eine Vereinigung mache, dadurch eine neue
Art von Teil entstanden, nämlich eine Union, und sie
sind jetzt zusammen. Also im Grunde alles also sind beide Teile miteinander
verschmolzen. Sie sind nicht geschweißt, sie sind jetzt
eigentlich ein Teil. Und wenn ich das weiß, kann ich das Kerzenlicht einfach wieder
aktivieren. Und jetzt kann der Spieler mit diesem neuen Teil
kollidieren. Das ist also eine wirklich coole
Sache, die du machen kannst. Sie können damit sogar
noch weiter gehen, was ziemlich interessant ist. Du kannst das also machen, z. B. wir werden das einfach mit einem anderen Teil machen
. Wir können einen Kerzenschein falsch machen. Wir werden einen neuen Port bauen. Und dann sagen wir z.B. ich. Nimm das und ich
mache es einfach ein
bisschen kleiner, oder? So etwas und
dieser Sohn hat einen kleineren
Teil auf den größeren Teil. Und was ich normalerweise mache,
ist, dass ich vorschlage das ein bisschen
größer
zu machen, damit es so ist, als ob Sie sehen können dass es
das gesamte Array durchläuft. Und wenn wir das zu einem
negativen Teil machen, oder? Und dann wählen wir
beide aus und wir vereinigen
diese Ebene, plötzlich haben
wir ein großes Loch in diesem Teil und das ist
völlig in Ordnung, oder? Also, du kannst hier reingehen
und wir können einen Can
Collide machen und
der ganze Spieler wird
durchfallen. Das ist also eigentlich, das macht es so viel interessanter,
sich das anzusehen, oder? Also lass uns unser Lager
hierher bringen und das
tatsächlich nach
oben verschieben, nach oben. Weil ich jetzt eigentlich den
ganzen Rest des
Levels spielen will, will ich nicht . Ich will nur, dass du dir die,
die Verbindung und die Teile zeigst . Da haben wir es. Also lass uns einfach
hier reingehen und sehen. Da sind wir also. Und
wenn ich hier weitermache, kannst
du sehen, dass wir das machen und hier kann ich das durchstehen, ohne dir Sorgen zu machen, was wirklich cool
ist, oder? Mit der Vereinigung
und dann Negation können
Sie also so
coole Teile erstellen, die sich völlig von im Grunde
völlig von
den normalen
Seerechtecken unterscheiden. Und natürlich können Sie hier
auch Zylinder,
Eckkeile, Keile sowie
Kugeln und Kugeln hinzufügen . Du kannst
diese auch hinzufügen und nur mit ihnen und ein bisschen Vereinigung
und Negation kannst
du tatsächlich einige
ziemlich interessante Dinge kreieren. Nennen wir das einfach ,
damit wir jetzt den Überblick
behalten können. Das ist nur das Quadrat
mit Loch, oder? Und das ist der Star. Wie wär's damit? Stimmt es? Also haben wir jetzt ein Geschäft und einen Platz hier drüben.
Das ist also ziemlich cool. Lass uns hier zu einem anderen
Typ gehen. Also holen wir uns einfach einen Zylinder. Und wir nehmen einfach den Zylinder und wir
werden einfach sicherstellen , dass er sich innerhalb der
Struktur des Egos befindet. Jetzt wollten wir
das eigentlich
um 90 Grad in diese Richtung drehen . Und wir können das
ein bisschen vergrößern. Sie können also sehen, dass wir hier zu
einem Kreis oder einem
Zylinder gekommen sind. Und jetzt können wir tatsächlich auch
eine Kreisformgröße erhalten. Also mal sehen, ist
das die gleiche Größe? Ist es. Jetzt haben wir auch einen Kreis.
Das ist ziemlich cool. Da haben wir es. Wir können
das jetzt auch gelb machen. Das war dieses gelbe, rote, leuchtende Gelb? Ja, ist es. Das ist das Ziel. Du musst einlagern. Wir haben ein Quadrat mit Fall und wir haben einen, nennen
wir es einen Kreis, obwohl es ein Zylinder ist, aber dann weiß jeder,
was es ist, oder? Also das ist eigentlich so, dass
das wirklich großartig ist. Du kannst sehen, damit kannst du
einige weitere interessante Formen bauen , die gerade erst auftauchen, die
das Spiel einfach viel interessanter
aussehen lassen. Nun, zum Beispiel in unseren
Formen hier drüben, können wir sie einfach
irgendwie bewegen. Vielleicht nimm den, nimm
den Laden hier, dreh ihn
vielleicht ein bisschen. Wenn wir es also um 45 Grad
drehen, wird
es natürlich nicht ganz funktionieren, aber drehen wir es um 22,5 Grad und dann wird es tatsächlich
ein bisschen anders aussehen. Da hast du es. Also das wird jetzt
ein bisschen anders aussehen. Wir können auch diesen nehmen. Wir können das Quadrat auch
drehen , denn warum nicht schreiben? Also lass uns auch
interessant aussehen. Da hast du es. Und übrigens, du kannst das auch skalieren
und es wird ein paar seltsame Dinge tun, aber du kannst es skalieren. Das ist also auch ziemlich cool
daran, dass die Skalierung normalerweise nur in
alle Richtungen gleichzeitig funktioniert ,
anstatt nur in eine. Da hast du es also. Jetzt haben wir den. Und dann können wir
einen weiteren Kreis bekommen. Den Kreis um die Y-Achse
zu rotieren, wird uns nichts nützen, aber das wird okay sein. Und dann hast du es. Jetzt haben wir ein paar
verrückte Formen hier und wir können ganz am Ende einen neuen
Checkpoint hinzufügen, nur um sicherzustellen, dass
wir genug Platz haben. Da hast du es. Und dann ist das alles. Jetzt haben wir den
Checkpoint hier und jetzt haben wir unsere verrückten Formen. Einfach so. Ich denke, das ist genug
Demonstration, um es Ihnen zu zeigen. Okay? Du kannst im Grunde
einzelne Teile hinzufügen, oder? Und vielleicht
möchtest du diese Formen
auch
in einem späteren Level verwenden , was du
natürlich kannst, genau dann
kannst du sie verwenden und vielleicht möchtest du sie
tatsächlich drehen ,
sodass du auf sie laufen musst. Und das alles. In diesem Fall können Sie
mit einem benutzerdefinierten Objekt
viele, viele Dinge tun. Nun, da
ich hier modele, denke , dass wir damit
ziemlich gut zurechtkommen. Löschen wir also einfach
den Start und der andere Stern sorgt
dafür, dass dieser wieder aktiviert wird. Andernfalls könnten wir einige Probleme
haben. Speichern wir das und
gehen wir ins Spiel. Und lassen Sie uns einfach sehen, ob wir das tatsächlich ausführen
können. Das ist absolut in Ordnung. Wir haben das
gesperrt, das ist großartig. Und jetzt schauen wir mal,
ob ich darüber springen kann und das kann ich, das ist unglaublich. Gehen wir die Treppe hinauf. Oh, wir haben hier einen kleinen Schluckauf. Das ist also interessant. Also ja, das ist die Methode
, die tatsächlich funktioniert. Aber in dieser Phase,
genau jetzt bewegen sie sich nicht, also
musst du einfach hierher springen. Es ist jedoch
schwieriger als erwartet
, das richtige
Timing zu finden. Und jetzt
haben wir die hier. Jetzt können Sie sehen, dass die
Zylinder tatsächlich weg sind. Das ist ein
kleines Problem,
aber, und wir können diesen Sprung tatsächlich
schaffen. Aber der Grund, warum die Zylinder weg
sind,
ist natürlich, dass wir
hier rein gehen , weil sie nicht verankert
sind. Wir können also im Moment sehen,
dass sie nicht verankert sind. Stellen Sie also sicher, dass sie verankert sind. Jedes Mal, wenn Sie hier
ein neues Teil hinzufügen, möchten
Sie
sicherstellen, dass es verankert ist und dann kann es losgehen. Und das ist so ziemlich das Basis-RB,
das wir vorerst behalten werden. Was wir tun werden. Wir haben nicht
mit den Förderbändern gearbeitet weil sie hier die
Geschwindigkeit verwenden, sondern die
Geschwindigkeitseigenschaft. Und das gibt es eigentlich nicht mehr
ganz. Es funktioniert immer noch. Aber ich persönlich würde
argumentieren, dass es wahrscheinlich besser ist, das nicht
unnötig zu verwenden, aber das ist in Ordnung. Du kannst es benutzen. Aber
seien Sie sich bewusst, dass das möglicherweise nicht so funktioniert
, wie Sie es erwarten würden. Unabhängig davon bin
ich aber in den kommenden Vorlesungen ziemlich zufrieden damit.
Die spezifischen Dinge, die wir tun
werden, sind, dass wir diese Dinge
rotieren lassen. Wie ich bereits besprochen habe. Wir werden
sie rotieren lassen. Und wir werden vielleicht auch einige dieser
Formen hier
drehen. Da bin ich mir
noch nicht ganz sicher , aber so etwas in der Art. Wir werden auch
sicherstellen, dass an den Checkpoints tatsächlich angezeigt wird, in
welcher Phase Sie sich befinden. Und wir werden es auch so
gestalten, dass ihr eine Rangliste mit den
verschiedenen Stufen darin habt. Und das ist so ziemlich das,
was wir in diesem Fall
für das gesamte
Audio machen werden,
es wird in der Tat ziemlich
interessant sein. Also die fertige Datei der
Erstellung hier steht euch natürlich zum Download
zur Verfügung. Ansonsten hoffe ich, dass Sie das
nützlich fanden und etwas
Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
37. (Roblox) Checkpoints zum Obby hinzufügen: Ordnung, lass uns hier mit dem RB für den Roblox-Kurs
weitermachen In Ordnung, lass uns hier mit dem RB für den Roblox-Kurs
weitermachen. Und in dieser Vorlesung werden
wir die Funktionsweise der Checkpoints
grundlegend ändern. Und dafür
müssen wir uns das aktuelle Checkpoint-Skript ansehen. Also, wir haben hier ein Drehbuch und du wirst dir das ansehen
und du wirst sagen, Oh mein Herr, was
ist das für ein Wahnsinn? Mach dir überhaupt keine Sorgen. Machen Sie für den ersten Teil
einfach etwas langsamer. Das ist viel auf einmal. Du musst
es Zeile für Zeile nehmen. Ich sage dir nur, dass du hineinzoomst und was du tun kannst, ist, dass du
es sogar so machen kannst
, dass du buchstäblich nur Zeile
für Zeile sehen kannst, nur damit
du es verstehst. Denn insgesamt ist
das eigentlich nicht
so verrückt, wie du denkst. Du wirst im
ersten Moment
überwältigt sein , wenn du das siehst, aber dann wirst
du sagen, okay, warte eine Sekunde. Weißt du, all das, du weißt schon, wann wenn Aussage, weißt du, und du weißt, was das bedeutet. Okay? Wenn es getroffen wird, ist das
ein Touched Event, okay? Also verbindest du diese
Funktion damit, okay? Das haben wir schon gesehen. Dann sagen wir, wenn
etwas
das getroffen hat und es
ein Elternteil gibt, und das Elternteil hat einen
Humanoiden, der im Grunde sagt, ob der Spieler diesen
bestimmten Spawn getroffen hat, oder? Wenn der Spieler den Checkpoint-Teil
erreicht hat, dann sind wir drin, okay, dann
machen wir das alles. Okay, das ist gut. Im nächsten Teil
holen wir uns den Spieler , den wir auch schon
einmal gesehen haben, und dann bekommen wir die
Checkpoint-Daten. Wenn diese
Checkpoint-Daten nun nicht existieren, erstellen wir tatsächlich neue Checkpoint-Daten, wie Sie sehen können. Wenn also Checkpoint-Daten, wenn nicht Checkpoint-Daten
bedeuten, dass sie nicht existieren, dann erstellen wir einfach
eine neue Instanz
davon und legen sie
in den Speicher dieser Server. Nun, dann nennen wir
es auch Checkpoint-Daten und das war's im
lokalen Checkpoint, dann wird es so sein, wir überprüfen im Grunde,
ob in den Checkpoint-Daten bereits ein Checkpoint gespeichert ist. Und wenn das nicht der Fall ist,
erstellen
wir mit diesem Spieler wieder nur einen neuen
Objektwert. Und dann verbinden wir
hier
eine neue Funktion , die im Grunde
wartet, bis wir antworten, und dann antworten
wir am Standort
des
neuen Checkpoints. Und das ist so ziemlich
alles, was wir tun. Jetzt. Auch hier
könnten einige Teile verwirrend sein, insbesondere der
C-Rahmen hier. Im Grunde genommen ist der C-Frame
genau die Art, wie Sie die Position eines Teils
festlegen können . Das ist so ziemlich
alles, was
Sie vorerst wissen müssen . Und das erste, was ich hier tun
möchte, ist, dass ich daraus ein Modellskript
machen weil das in jedem Checkpoint dasselbe
Skript ist, wir müssen nur eine Sache im Grunde ein bisschen
ändern möchte,
weil das in jedem Checkpoint dasselbe
Skript ist,
wir müssen nur eine Sache im Grunde ein bisschen
ändern,
und dann war's das. Warum sollten wir das dann
eigentlich nicht haben? Wir wollen
also zu
unserem bewährten alten
Serverskriptdienst gehen unserem bewährten alten
Serverskriptdienst und
ein neues Modellskript erstellen. Ich nenne das
das Checkpoint-Skript. Das gefällt mir, das ist gut. Und was wir tun werden, ist,
das Ganze
hier zu erledigen , all das. Und wir werden das einfach hier
ablegen. Also werden wir sagen, das ist
das Modul Dot Add Player, Check Point, klar,
entspricht der Funktion. Und wir brauchen den Treffer und wir brauchen eigentlich auch
den Spawn-Standort. Ich werde das gleich zeigen,
und dann ist es soweit. Das ist jetzt die Funktion. Und wir wollen eigentlich auch nur sichergehen, dass
alles in Ordnung ist, wir wollen die
if-Anweisung auch hier kopieren, weil ich festgestellt habe, dass das ein bisschen besser
funktioniert. Wenn wir es so machen, können
wir es einfach so nennen. Wir können einfach dieses
Modul nehmen und
es im Skript
hier anfordern, und dann war's das. Das ist alles was wir tun müssen. Lokaler Checkpoint,
Checkpoint-Modul entsprechen
also Required
und dann benötigen wir nur den
Game Dot Server Script Service Punkt Checkpoint Script Script. Da hast du es. Und dann können wir hier eine
Funktion aufrufen, richtig, App Layer Protect Point Hit und der Standort ist einfach Spawn. Und dann war's das. Das ist alles, was wir in
diesem Fall tun müssen , damit das funktioniert. Und wir können sehen, dass
es immer noch funktioniert, wenn ich einfach hier reingehe und sie alle
geändert habe. Stimmt. Also sind wir einfach so, dass der
erste der ist der
sich ändert und alle anderen werden
wir einfach löschen. Wir werden sie einfach alle
auswählen. Wenn Sie etwas auswählen und die Kontrolle
behalten, können
Sie einfach mehrere
auswählen. Und dann
werden wir
das einfach ein paar
Mal duplizieren und alle neuen Skripte auf die
anderen Checkpoints verschieben . Und was wir finden werden,
ist, wenn wir
das Spiel starten und wir tatsächlich zum nächsten
Checkpoint gehen, oder? Das Ding
sollte eigentlich
erst passieren, wenn
wir es schneiden, anfassen, aber du kannst sehen, dass wir tatsächlich eine unzugewiesene Immobilie
bekommen. Das ist also eigentlich eine
sehr interessante Sache. Nun, der Grund, warum wir
das bekommen, wie Sie sehen können, ist, dass wir das jetzt hier im
Wert angeben. Der Grund dafür
ist der Spawn hier. Weil wir natürlich die Position des Löffels verwenden müssen
. Lassen Sie uns das und
andere tolle Dinge, die wir schon einmal gemacht haben, beenden andere tolle Dinge, die wir schon einmal gemacht haben, Wenn
wir eine solche Tabelle hätten, .
Wenn
wir eine solche Tabelle hätten, müssten wir sie
in jedem unserer Skripte ändern. Aber jetzt kann ich einfach in
unser Modulskript gehen und sagen,
nun, statt Löffel,
wir wollen eigentlich den kleinen Ort hier drüben. Speichere es, spiel. Und jetzt wird es für
all unsere verschiedenen
Checkpoints funktionieren . Das ist es, was die
Modulskripte sind, so unglaublich mächtig. Also schauen wir uns das an und los geht's, keine Probleme mehr. Und wenn ich hier
runterspringen würde, antworte
ich an
dieser bestimmten Stelle. Und du kannst sehen, da
hast du es. Ich antworte hier. Und das Gleiche passiert
, wenn ich hier weitermache und direkt hierher gehe und
wieder einfach abspringe. Dann wirst du sehen können, wie
sie dann genau dort spawnen. Also alle Checkpoints funktionieren
jetzt einwandfrei, wie Sie sehen können, was
wirklich, wirklich großartig ist. Und nun, das ist so
ziemlich alles, was
wir tun müssen, um
sie robuster zu machen. Und das Tolle ist jetzt auch wenn wir
einen neuen Checkpoint hinzufügen würden, weil er jetzt
dasselbe Checkpoint-Skript hat, es würde einfach
einfach weitergehen. Sobald wir das eingerichtet haben, verwendet jetzt
jeder neue Checkpoint, den wir
hinzufügen, das Modulskript. Und wenn wir hier
etwas ändern wollen, z. B. in der nächsten Vorlesung,
dann wird das einfach funktionieren. Und das ist eigentlich mit allem, was wir bisher
gelernt haben. Das Touched Event,
wir haben das schon einmal gesehen, erfordert ein Modulskript das habe ich schon einmal in anderen
Modulen
gesehen,
das Skript selbst , die Funktion hier,
es ist etwas
komplizierter , das
gebe ich dir. Aber insgesamt sollte es verständlich sein, wenn man
es wirklich
Zeile für Zeile betrachtet. Und damit,
das war's eigentlich für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und
haben etwas Neues gelernt. Wir sehen uns in
der nächsten Vorlesung. Also, ja.
38. (Roblox) Hinzufügen eines Leaderboards mit Leaderstats: Ordnung, lass uns
hier mit der ABA für den Roblox-Kurs
fortfahren . Und in dieser Vorlesung werden
wir nicht nur eine Bestenliste
erstellen, sondern auch das
Nummerierungssystem für unsere Checkpoints. Das wird also in der Tat
sehr interessant sein. Der erste Teil
davon wird also,
naja, im Grunde das Hinzufügen von
Zahlen zu unseren Checkpoints sein . Jetzt werde ich das auf eine
etwas freche Art machen. Ich werde tatsächlich
ein neues Skript anstelle unserer
Checkpoints hier erstellen . Und wir werden das einfach
so nennen. Zuallererst
wird es ein Drehbuch geben, richtig. Da hast du es. Und wir werden das
tatsächlich in die Checkpoint-Nummerierung umbenennen . Denn lustigerweise,
wenn wir hier rein gehen, wenn wir sicherstellen, dass
unsere Checkpoints in der
richtigen Reihenfolge eingerichtet
sind, oder? Sie können also diesen
Checkpoint 123 sehen, das sind vier und das sind fünf. Wenn sie hier in der
richtigen Reihenfolge eingestellt sind, können wir
sie einfach von oben
nach unten nummerieren und es
sollte uns völlig gut gehen. Das ist also genau das, was ich mit diesem Drehbuch machen
werde. Das ist es also, was dieses
Skript im Grunde benötigt. Wenn sie in einer zufälligen Reihenfolge sind, wird das nicht funktionieren. Aber wenn Sie sie
duplizieren,
sollten sie normalerweise in einer festgelegten
Reihenfolge sein, und das ist in Ordnung. Dazu wollen
wir also zuerst den Ordner
finden. Das ist natürlich ein Skript, das Eltern ziemlich
selbsterklärend sein sollten. Wir haben dann eine Zählung, oder? Das wird einer sein. Wir
beginnen mit einem und verwenden dann eine For-Schleife. Und die For-Schleife, die wir
verwenden werden, ist, dass wir die Kinder dieses
bestimmten Ordners entwöhnen, wir werden all diese Dinge bekommen. Also, was wir tun werden, ist
Checkpoint zu sagen. Also ich und Check Point. Und der Grund, warum ich zwei Dinge
habe,
ist ,
dass wenn ich Ordner Doppelpunkt mache , Kinder kriege,
bekommen wir alle Instanzen, das ist dieser Checkpoint. Aber das Erste
wird eigentlich ein Int-Wert sein, oder in diesem Fall nur der Index. Also hol Kinder. Und dann
wollen wir das machen. Wir wollen zuerst diese Nummer
anrufen und das
entspricht einem neuen Instanzpunkt neu. Und das
nennen wir einen Wert von int. Ich werde sagen, dass der
Nummernpunktname dem
Checkpoint
entspricht , Checkpoint-Wert entspricht
der Anzahl weil wir
das am Anfang auf Eins setzen wollen ,
sie wollen sagen
, dass der übergeordnete Punkt dem Checkpoint
entspricht. Und dann das Ende
hier, wir wollen sagen, dass Zählen plus eins ist. Denn natürlich wollen
wir mit
jedem neuen Checkpoint die Anzahl erhöhen und
das ist so ziemlich alles
, was wir tun müssen, oder? Also lasst uns das tatsächlich
spielen und uns die Checkpoints hier ansehen. Nun, was ist wichtig zu beachten wenn wir die
Checkpoints tatsächlich öffnen, oder? Sie können das zunächst sehen, wir haben alle Checkpoints. Lass uns einfach auf
den Server wechseln , damit wir uns bewegen
können. Dieser Checkpoint ist genau hier. Sie können sehen, dass jetzt
der Wert eins ist, dieser Checkpoint da der tatsächlich
die Position hier geändert hat, aber das ist kein Problem, da
er auch immer noch einen Wert hat. Manchmal ändert man die
Positionen, aber sie sollten sich nicht ändern. Sie sollten sich erst ändern,
nachdem das Spiel geladen wurde. Das ist also das einzige, was
dieses Skript vermasseln kann. Wenn sie sich aus
irgendeinem Grund ändern , bevor
all das grunzt, dann ja, dann
hast du vielleicht Probleme und dann
kannst du das auch einfach
manuell hinzufügen. Aber ich füge das gerne
mit einem Skript persönlich hinzu, dieser Modus ist eine persönliche
Präferenz von mir. Ich werde nicht lügen. Das haben sie jetzt. Und was wir tun könnten, z. B. nur um der
Argumentation willen, ist, dass wir einfach sagen können:
Hey, drucke einfach mein, mein Ding
aus. In dem Modulskript, das
wir das letzte Mal erstellt haben, werden
wir also einfach den Punkt zum Spawn-Standort
drucken. Und das sollte eine sogenannte
Checkpoint-Nummer haben . Es wird also der Ort, Punkt,
Checkpoint Nummer, geboren, dieser Wert. Also jedes Mal, wenn der Spieler jetzt den Spawnort berührt, sollten
wir den
Wert ausgedruckt bekommen. Also lass uns einfach sehen, okay, also sollten wir in der Lage sein, hierher
zu ziehen, und dann
sollten wir vielleicht hierher ziehen. Und wenn wir das anfassen, können
Sie einen sehen. Also wird es
einen ausdrucken. Okay, interessant. Lass uns
weitermachen und schauen ob wir den nächsten
erreichen. Wir haben jetzt zwei. Und wenn wir hier weitermachen, haben
wir jetzt drei. Und das wird so lange
weitergehen, bis mir im Grunde ,
naja,
die Checkpoints ausgegangen sind. Wenn wir also diesen
treffen, haben wir vier, und wenn wir hier weitermachen, dann haben wir hier fünf. Das ist also wirklich großartig. Also können wir jetzt den Wert ermitteln
oder in welcher Phase wir uns auch befinden. Das können wir tatsächlich
über den Wert hier herausfinden. Und wir werden zwei Dinge tun. Das erste, was
wir tun werden, ist, eine kleine GUI
zu erstellen. Das wird also eine Starter-GUI
sein, und wir werden das einfach die Screen-GUI
nennen. Wir werden ein Textlabel hinzufügen
. Und wir werden das
einfach ein
bisschen größer machen ,
ungefähr so. Also das ist natürlich nur zu
Demonstrationszwecken , oder? Ich meine, in Wirklichkeit möchtest
du es wahrscheinlich
ein bisschen schöner aussehen lassen , aber es sieht besser aus. Das kannst du jederzeit ändern. Das ist das große Ding. Das Interessante daran ist
für mich im Moment die Funktionalität. Also dann nennen wir das
einfach, ich meine, vielleicht so etwas wie Null,
das wird in Ordnung sein. Wir werden es
so viel größer machen. Also das sollte
vielleicht so etwas sein. Vielleicht nenne ich es eine 69. Nett. Ja, das ist gut. Und dann ist das
so ziemlich alles, oder? Und
das können wir in einem Moment ändern. Was wir also tun werden, ist
, zu
unserem Modulskript zurückzukehren und eine neue Sache hinzuzufügen. Und das wird eine
lokale Funktion sein, die nicht einmal
von außerhalb aufgerufen wird. Es wird
tatsächlich von
dieser Funktion genau hier aufgerufen . Das wird die GUI
zum Hinzufügen von Spielern sein. Und das wird
einfach die Funktion sein. Wir werden einen
Treffer und eine Nummer brauchen, okay? Dann holen wir
den Spieler her. Wir können den
Spieler aufwecken, indem wir
dasselbe tun wie hier. Jetzt haben wir also den
Player in dieser Funktion. Wir können dann
Spieler, Spieler gy, Gy sagen. Das ist eigentlich unsere Bildschirm-GUI. Also wollen wir das in GUI
umbenennen. Ja, richtig, also dieser Name
muss mit der Checkpoint-Nummer
dieses Namenspunkts übereinstimmen. Das werden wir auch
umbenennen. Das ist also die
Checkpoint-Nummer. Also das Textlabel,
wir werden es umbenennen Checkpoint Number
Punkt txt ist gleich, und dann machen wir das
gleich Stufe und dann plus was auch immer die Zahlen
und das wird sein, und das wird
unser Text sein. Wir haben immer
ihre Bühne geschrieben und dann,
was auch immer wir haben. Also lasst uns das auch
ändern. Nehmen wir an, das
ist jetzt Phase Null. Ich denke, das
macht Sinn, oder? Stufe Null. Da hast du es. Und jedes Mal, jedes Mal, wenn wir das erreichen
wollen,
wollen wir das ändern. Anstatt das auszudrucken, können
wir also buchstäblich sagen
, Spieler
hinzufügen GUI den Treffer weitergibt. Und dann die Zahl, die genau dem Wert der
Checkpoint-Nummer für die
Spawnposition entspricht. Und das ist alles, was wir tun
müssen, um das schon hinzuzufügen. Und das ist wirklich großartig. Denn wenn wir jetzt hier reingehen, können
Sie sehen, dass wir im Stadium Null sind. Nun nochmal, wie gesagt, das sieht nicht gut aus. Du kannst natürlich ändern,
wie das aussieht, oder? Wir haben, wir haben schon einmal über GUIs
gesprochen ,
wenn wir weitermachen
und ich gehe hier hin , warte eine Sekunde. Ich habe ein OOP gemacht, siehe hier,
ich habe hier ein Plus gemacht. Das, das sollte Punkt, Punkt sein. Da hast du es. Das ist eigentlich
das, was du tun musst. Manchmal macht Lower die Dinge
ein bisschen anders als andere
Programmiersprachen, aber das ist völlig in Ordnung. Und dann hast du es.
Und jetzt haben wir Phase eins und können hier
weitermachen. Und du wirst Stufe
zwei und Stufe drei finden und
so weiter und so fort. Absolut genial. Jetzt hast du also ein
Display im Fitnessstudio, aber das ist nicht
alles, was wir wollen. Wir
wollen natürlich auch eine Bestenliste, um unsere eigenen Statistiken mit den
Statistiken anderer Spieler zu vergleichen. Nun zu den Leader-Statistiken, richtig, wir können so ziemlich
fast
dasselbe Skript kopieren , das
wir zuvor erstellt haben. Bei den Server-Skriptservern wollten
wir also einfach
ein neues Skript erstellen und
das nennen
wir Leader
Stats, Liters Stats. Da hast du es. Und ich werde tatsächlich die
vorherigen Skripte kopieren. Dies ist also das Skript
aus Teil 16
der Roblox-Grundlagen, in dem
wir die Anführerhaltung hinzugefügt haben. Nun, wir wollen
keinen Erfahrungswert und wir
wollen schon gar keinen Goldwert. Aber was wir wollen, ist, dass
wir hier einen Int-Wert wollen. Also
benennen wir das um in, nennen
wir diese Phase, und das ist der Wert
Null, das ist in Ordnung. Und dann war's das
wortwörtlich, das ist alles,
was wir hier tun müssen. Jetzt
müssen wir das natürlich noch ändern, aber das ist okay, das können wir machen. Also im
Checkpoint-Skript hier, wenn wir die Spieler-Benutzeroberfläche hinzufügen, können wir eine neue Methode
erstellen und diese Änderung einfach
später Stats nennen, oder? Ich mache es noch einmal als neue
Funktion mit der Hitze und der Zahl.
Und dann hast du es. Und was wir dann tun können, ist den Spieler wieder zu bekommen, weil wir den Spieler immer
brauchen werden. Und was können wir jetzt tun? Nun, theoretisch können wir einfach unsere
Torabnahme einbauen, die wir in
den vorherigen Spielen erneut
erzielt haben . Und davon können wir Teile nehmen. Also können wir zuerst die Leader-Statistiken abrufen
, oder? Liter entsprechen also den
Punktführersätzen der Spieler , weil das immer derselbe Name sein wird
. Dann können wir Lokalbühne sagen. Stufe entspricht Litern und
Liter Stats Doppelpunkt,
finde das erste Kind. Ich nenne das die Bühne ,
weil wir es hier so
nennen, oder? Das ist derselbe Name
wie dieser, Stage. Und wenn die Bühne dann tatsächlich präsent
ist, oh nein, es sind Bühnen anwesend. Dann werden wir tun, dass der
Stufenpunktwert der Zahl
entspricht , die wir aus dem Aufruf der
Change-Leader-Statistik-Funktion
erhalten. Und wir können das hier einfach glitzernd
nennen. Und wir können
die Leader-Statistiken ändern , indem wir den Treffer
weitergeben. Und dann das Gleiche
hier, der Spawn-Standort
, diese Checkpoint-Nummer
, dieser Wert und das war's. Das ist buchstäblich
alles, was wir tun müssen. Und jetzt haben wir auch
eine benutzerdefinierte Bestenliste. Also, wenn wir das noch einmal machen würden, was Sie finden würden, ist, dass wir
jetzt die
Leader-Sets hier drüben haben. So kann nicht nur ich
meine aktuelle Phase sehen, sondern jeder in der Instanz
könnte auch meine Phase sehen. Und Sie können sehen, dass beide fast
gleichzeitig
aktualisiert wurden. Und wir können
diese Nummer zwei fortsetzen und so weiter und so fort. Absolut genial. Das ist zu diesem Zeitpunkt also so ziemlich ein
fast funktionierender Abi. Jetzt geht es nur
noch darum, immer mehr Stufen und
immer mehr Dinge hinzuzufügen . Und Sie können sehen, wie
jedes einzelne Teil sehr klein und
wie ein Ding
aussieht. Aber jetzt kannst du
hoffentlich sehen , dass du, wenn du bestimmte Dinge
kombinierst, wirklich, wirklich cool kreieren kannst. Nun, im Grunde geht es
bei Spieleeffekten darum. Ist es für diese
Vorlesung hier? Ich hoffe, Sie fanden das
nützlich und Sie werden etwas Neues
lernen und wir sehen
uns alle in der nächsten
Vorlesung. Also, ja.
39. (Roblox) Verschwindende Treppen zum Obby hinzufügen: Oder lassen Sie uns hier
mit dem RB weitermachen, dem Robotik-Kurs folgen
und in dieser Vorlesung lassen wir dem Robotik-Kurs folgen
und in dieser Vorlesung lassen wir
unsere
Treppe verschwinden. Ja. Ich habe also bereits erwähnt , dass, wenn du die Treppe
hochgehst, vielleicht passieren sollte, dass jede einzelne Treppe tatsächlich verschwindet, wenn der
Spieler sie berührt. Jetzt gibt es ein paar
Möglichkeiten, wie wir das tun können. Wir werden unserem Teil nur
ein Drehbuch hinzufügen. Und dann fügen wir
diese speziellen Skripte all unseren
verschiedenen Starparts hinzu. Im Grunde nehmen
wir dafür einfach das Plus hier bei einem Drehbuch und
nennen dieses Drehbuch die verschwindende Treppe. Nun das Skript,
zuallererst, es wird
natürlich den Teil
selbst haben und das ist nur script dot parent sollte ziemlich
selbsterklärend sein, oder? Wir nehmen den
übergeordneten Teil des Drehbuchs. Und dann wollten wir auch
ein lokales Verschwinden
gleich falsch machen . Das ist ein boolescher Wert. Dadurch wird nur sichergestellt
, dass unser Touched Event, das
wir in
nur einem Moment implementieren werden, im Grunde nicht mehrmals pro
Sekunde
aufgerufen wird. Jetzt wollen wir
etwas verwenden, das wir noch nie benutzt haben, und das ist der Tween-Dienst. Das ist also eigentlich
ein sehr guter Moment , in dem wir das im Grunde
testen können. Und die Idee des
Tween-Dienstes besteht darin,
reibungslos von einem Wert
einer bestimmten Sache zum anderen überzugehen . Wir ändern also im Grunde
eine bestimmte Immobilie. In unserem Fall
werden wir
die Transparenz von
Null auf Eins ändern . Und wenn das erledigt ist, ändern
wir
es wieder auf eins, 1:0. Also, wie
wird das aussehen wenn ich das Spiel
nur für einen Moment spiele und wir auf den Server hier
wechseln. Wir wählen diesen Teil aus. Und dann
wäre die Idee, dass die Transparenz,
rechts, reibungslos von Null auf Eins übergeht. Und wenn es eins ist, warten
wir 6 s und dann geht es
zurück auf Null. Nun kann das, wie
wir es zuvor gesehen haben, mit
einem For-Loop und einem kleinen Weight-Funktionsaufruf gemacht werden einem For-Loop und einem kleinen , und dann änderst du
es einfach um, ich weiß nicht, 0,1 oder 0,01 oder wie viel du auch
ändern willst, das funktioniert. Dies ist jedoch nicht
der optimale Weg. Der optimale Weg wäre,
den Tween-Dienst hier zu nutzen . Und das funktioniert
so, dass Sie eine doppelte Servicevariable
haben. Dies entspricht Game
Colon Get Service. Und hier müssen
wir die Server angeben. Jetzt können Sie sehen, dass
es viele Dienste gibt. Wir haben nicht wirklich
ausführlich darüber gesprochen und werden uns
nur einige Dienste ansehen. Aber jetzt möchte ich hier
Between Surface verwenden. Das ist zwischen dem Gottesdienst und dann wollen
wir auch eine Entzündung. Das sind also Tween-Informationen. Das ist eigentlich ziemlich
einfach. Ich werde das auch erklären. Das wird also zwischen den Informationen
sein. Lass es uns einfach machen. Nenn es so. Ich nenne
es mit einem kleinen T, nicht mit einem großen, weil
wir sonst die Klasse hier benutzen werden. Wir wollen ein kleines T
daraus machen. Und es wird
Tween-Informationen zwischen den
Informationen geben, diesmal mit einem
großen T-Punkt . Und dann können wir hier die Uhrzeit
angeben. Die Zeit ist also nur, wie
lange es
dauern wird , von dem Wert
, den Sie gerade sind,
die Eigenschaften
Kronecker zu dem Wert zu erhalten , den Sie gerade sind,
die Eigenschaften , den Sie erreichen möchten. Wir sagen einfach 1 s. Und dann den Lockerungsstil,
wir können einfach sagen, dass
dies
der
Enum-Punkt-Lockerungsstil sein wird , wie Sie sehen können, und dann Punkt und dann können Sie sehen, dass es eine Menge
verschiedener gibt. Linear ist also am
leichtesten zu verstehen. Es ist nur ein linear
gezeichnetes Diagramm, oder? Also von einem Punkt zum anderen, dann gibt es auch ein ausgeglichenes, im Grunde genommen ein bisschen
zurück. Dies gilt
in unserem Fall nicht wirklich, da
Sie bei der Transparenz zwar nicht über eins
oder Null hinausgehen können. Und dann gibt es noch
andere Dinge, oder? Sie können also sehen, dass es Cubic gibt. Im Grunde beginnt es also
mit einer niedrigeren Geschwindigkeit und Qualität. Sie können sehen,
dass dies durch
eine quadratische Interpolation bestimmt wird. Es gibt also eine Reihe
von Möglichkeiten, wie Sie das Ein- und Ausziehen im
Grunde vereinfachen können . Was ich hier empfehle,
ist, dass Sie einfach ein paar davon
ausprobieren
und sehen können , was sie tun. Auch in diesem
speziellen Beispiel ist
es nicht die beste
Art, es sich anzusehen. Die
Transparenz hier zu
erhöhen, wird nicht wirklich verrückt sein, aber alles andere könnte in der Tat interessant
sein. Also werden wir uns vorerst einfach für
linear entscheiden. Wir müssen das nicht zu kompliziert machen
. Wie gesagt, du kannst
einfach ein paar
davon ausprobieren und sehen, was sie machen. Und jetzt wollen wir eigentlich ein neues Tween
machen, oder? Also nennen wir diesen Teil
einfach. Dadurch wird
das Teil eingeschaltet und die Transparenz wird von
den tatsächlichen Werten auf Null gesenkt. heißt, Nulltransparenz
bedeutet nur , dass es
absolut solide ist. Und wir können sehen, dass
dies durch den Tween-Dienst
geschehen wird. Also unsere Variable hier, Doppelpunkt erstellen, dann
wollen wir sagen, welche Instanz. Also, welcher Teil tatsächlich trainiert
wird und welcher Teil Teil
Teil sein wird , sollte Sinn machen, oder? Also wollen wir den Teil ändern. Jetzt. Wir wollen
es zwischen den Informationen bereitstellen. Jetzt haben wir
das schon gemacht, das ist perfekt. Und dann wollen wir hier einen Tisch
machen. Die Tabelle wird also natürlich nur aus geschweiften Klammern bestehen. Und hier drinnen wollen
wir unterscheiden
, was wir ändern
werden. Wir wollen
die Transparenz ändern
und sicherstellen, dass wir
das richtig schreiben, oder? Also Transparenz und zweitens, was wollen wir daran ändern? In diesem Fall wollen wir dies
auf Null ändern. Stellen Sie also sicher, dass das, dieses Wort hier
genau dem Namen in den
Eigenschaften entspricht, oder? Dieser muss also
genau zu diesem passen. Achten Sie also bitte darauf. Wenn es auch nur den winzigen Cyber
wie diesen gibt, wird es nicht funktionieren. Wenn Sie sicherstellen
, dass das in Ordnung ist, können wir einfach diese Zeile kopieren. Wählen Sie es aus,
drücken Sie Control C und Control V, um es wieder
einzufügen. Und den
anderen Teil rufen wir hier ab. Und in diesem Fall wollen wir, dass
die Transparenz gewährleistet ist. Wenn wir also mitbestimmen, was passieren wird, wird
es innerhalb von 1 s
passieren,
ändern Sie die Transparenz. Unabhängig davon, was der
tatsächliche Wert ist, Null. Und wenn wir einen
Teil dazu beitragen , wird der Wert der
Transparenz durch einen durch einen
Wert ersetzt, den
sie derzeit hat. Also sagen wir,
Teil Punkt berührt. Also werden wir das Touched Event verwenden. Wir werden
das mit einer Funktion verbinden. Natürlich wollen wir wissen, was passiert und was wir
einfach tun werden, ist wir einfach in
unseren bewährten alten
Server-Skriptdienst gehen unseren bewährten alten
Server-Skriptdienst und eigentlich einfach
die,
diese hier, die
if-Anweisung nehmen , weil sie
im Grunde überprüft, ob ein Spieler an
dieser bestimmten Stelle getroffen hat
oder
nicht . Und wir werden noch etwas
hinzufügen und
das verschwindet. Aber wir wollen sagen, dass es
nicht verschwindet, oder? Die Idee ist also, dass sich
das sofort
bewahrheitet, oder? Also werden wir
das sofort auf wahr setzen weil
wir das im Grunde nicht
anrufen wollen , wenn wir den Twin-Service bereits in Betrieb
haben. Jetzt können Sie dies auf
viele verschiedene Arten tun. Sie können auch überprüfen, ob
ein Tween funktioniert. Ich denke, der Boolesche Wert
hier ist völlig in Ordnung. Die Idee ist dann, dass
wir warten, sagen
wir eine
Viertelsekunde. Und dann
sagen wir Teil des Doppelpunktes. Und das wird nun
den Zwischendienst übernehmen die Transparenz
von dem, was auch immer es
ist, zu einem
machen . Und das wird tatsächlich
sofort funktionieren. Also, wenn wir hier reingehen und
zu den Teilen gehen, dann schauen wir uns einfach an, welche Partner das sind, dieser Teil. Okay, nehmen wir wieder
unseren Laden. Lass uns das einfach duplizieren
und hier drüben legen,
damit wir es etwas
einfacher haben , dorthin zu gelangen, deaktivieren wir den Startteil
und dann sollten wir in der Lage sein, sofort
neben der Treppe zu spawnen. Also wir klein neben der Treppe. Und wenn ich die Treppe
berühre, wirst du feststellen
, dass sie dort verschwindet. Das ist eigentlich
ziemlich cool. Jetzt hast du es. Es besteht also immer noch eine Kollision. Wie Sie sehen können, stehe ich so
gut wie da
oder so , weil, naja, wir ändern einfach
die Transparenz. Aber wir haben
die Transparenz geändert, was schon wirklich großartig ist. Sie haben also gesehen, dass,
sobald wir die Treppe berührten, richtig, der
Twin-Service begann. Also dieser hier, dieser
Teil aus und es hat
die Transparenz innerhalb von 1 s
linear um 0-1 geändert . Was werden wir
jetzt tun, wie werden wir das verschwinden lassen? Wir können vielleicht
hier drin sagen, naja, das kann kollidieren und dann
könnten wir einfach falsch sagen. Das ist nicht ganz richtig. Denn wenn wir das tun,
dann, sobald
wir anfangen zu spielen, wird
die Sache tatsächlich, naja, lassen Sie uns innerhalb einer
Viertelsekunde
durchfallen , was vielleicht ein
bisschen zu schnell ist. Also können wir uns das
einfach ansehen und sehen, was
das tatsächlich bewirkt. Wenn wir also hier reingehen und versuchen, vorsichtig zu diesem Teil
überzugehen, können
Sie sehen, dass es jetzt schon
so ist, als hätte es keine Kollision mehr gegeben. Das war also
sehr, sehr schnell. Ich würde also sagen, dass dies
wahrscheinlich nicht der
optimale Weg ist , dies zu tun. Was willst du tun, ist
zu sagen, hey, wenn der Tween hier fertig
ist, oder? Sobald das erledigt ist,
wollen wir das Teil ausschalten. Also im Grunde, wenn das
Teil komplett
weg ist und wir tun könnten, ist
, einfach einen Teil abzusagen. Das ist also das Tween, das wir
erstellt haben, vervollständige es. Im Grunde kannst du
das abgeschlossene Ereignis
sehen ein Tween ausgelöst wird, wenn der
Zwilling das Spiel beendet hat. Das ist also genau das,
was wir wollen, oder? Und das wollen wir hier mit einer neuen Funktion verbinden. Jetzt können wir auch den
Staat kriegen. In
diesem Fall
brauchen wir den Staat nicht wirklich , weil
es uns gut gehen wird. Und dann können wir einfach
sagen, in diesem Fall ist Teil kann kollidieren gleich falsch. Also das wird in Ordnung sein. Dann warten wir
noch einmal, wir 0,25 s. Dann sagen
wir, dass Teil beim
Doppelpunktspiel ist , wenn sie sagen, dass
Verschwinden gleich falsch ist. Und dann können wir entweder sagen, dass ein Teil genau hier kollidieren
kann. Nun, ich würde hier nicht wirklich
die
wahre Berechnung eingeben, da
dann das gleiche Problem auftritt wie zuvor. Wo, sobald das sichtbar
wird, es, wieder damit kollidieren
kann. Nun, das könnte
etwas sein, was du willst. Es könnte den Fall geben, oder? Wenn Sie also möchten, dass es
sofort mit Hubble kollidiert, nachdem Sie das
Teil kaum sehen können, können Sie dies tun. Oder wenn du
nur ein Sammelobjekt
haben willst das Teil vollständig da ist, dann kannst du sagen, dass Port
auf Doppelpunkt abgeschlossen Doppelpunkt die Verbindungsfunktion
noch einmal mit einem Status hier drüben verbindet. Und wenn das erledigt
ist, kann
man sagen, dass Horde kollidieren kann. Die Logik hier sollte ziemlich vernünftig
sein, oder? Wir haben nur einen Service
oder einen Tween, oder? In diesem Fall, dass
es
einen Wert von einem
zum anderen ändert , hat
es seinen Zielwert erreicht. Das abgeschlossene Ereignis wird aufgerufen, und wir verbinden gerade
eine weitere Funktion damit. Das ist buchstäblich alles
, was wir hier tun. Es ist also eine wirklich,
wirklich coole und großartige
Sache, die wir machen können. Und wenn wir das jetzt haben, können wir hier
reingehen und sehen, ob ich die
erste Treppe hier berührt habe. Du kannst es sehen, jetzt bin ich
durchgefallen und lass uns einfach wieder da rein gehen. Lassen Sie uns die erste Serie berühren
und dann weiter nach oben gehen. Also lass uns einfach gehen. Da hast du es. Und jetzt kannst du sehen, wie es zurückprallt
und da ist es wieder und ich kann wieder
darauf stehen und dann kann ich es wieder verfolgen. Das ist also wirklich, wirklich cool. Jetzt haben wir dieses Drehbuch zum
Verschwinden der Treppe auf einer Treppe. Wie können wir es zu
all unseren Treppen hinzufügen? Ich weiß nicht, ob es
einen einfachen Weg gibt, das zu tun. Ich habe sie im Grunde nur alle
dupliziert. Also im Grunde einfach
einen von ihnen auswählen , Control D
vergleichen und sie dann einfach, naja, im Grunde verschieben Sie sie
zu den anderen Teilen. Nun, wenn es einen
einfacheren Weg gibt, das zu tun, dann freue ich mich, mich darüber
aufzuklären. Ich habe noch keinen
einfacheren Weg gefunden,
Teile zu duplizieren und sie einfach
verschiedenen Eltern zuzuweisen. Aber sieh uns an, im Grunde sind
wir schon fertig. Es hat also nicht so lange gedauert. Das sollte also ziemlich okay sein. Und dann schließen wir einfach die Ports, wenn Sie das zukunftssicher machen
möchten .
Sie können auch ein
Modulskript mit dieser Änderung bei
about erstellen und das
stattdessen verwenden und dann die
Ports einfach mit
dem Modulskript verbinden lassen, was natürlich machbar
ist. Aber in unserem Fall denke ich, dass
das in Ordnung sein wird. Und lass uns einfach sehen, wie
das aussehen wird, denn das wird
wirklich, wirklich verdammt großartig aussehen . Also wenn wir jetzt die
Treppe hochgehen und du
siehst , wie dort jetzt alles verschwindet
und wieder auftaucht. Das ist absolut genial. Und der andere Weg funktioniert auch. Das ist echt cool. Nun, wieder, wieder einmal, die Treppe ist vielleicht nicht der beste Weg, um
zu modellieren, oder? Vielleicht könnte die Treppe ein bisschen größer
sein, ein bisschen breiter, solche
Dinge. Sie können es jederzeit ändern, da die Funktionalität
jetzt da
ist. Richtig? Jetzt hast du einen
der Teile mit dem Drehbuch. Und wenn du die
Treppe erneuern willst, absolut keine Worte. Sie können alle
anderen Treppen löschen. Sie können die
Modellierung ändern, wie sie funktioniert. Und da hast du es. Eine letzte Sache, ich habe das schon einmal
gezeigt, aber den Tween-Dienst hier drüben, ich empfehle
Ihnen auf jeden Fall , sich
das anzusehen, weil es
ein sehr wichtiger
Teil ist , um viele
Dinge in Straßensperren zu tun , die im Grunde
einfach cool aussehen. Und das werden wir auch in
der nächsten Vorlesung verwenden. Ich
empfehle daher dringend, sich die Dokumentation hier
anzusehen . Sie können
das auch tun, indem Sie einfach auf die
Zwischenfläche hier drüben
gehen, glaube
ich, und dann anzeigen. Es könnte trotzdem eine
sehr interessante Sache sein, sich das anzusehen. Das war's für
diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
40. (Roblox) Hinzufügen von bewegten Teilen zum Obby: Lass uns hier mit dem RB weitermachen, dem Robotik-Kurs folgen
und in dieser Vorlesung werden
wir anfangen, unsere Killed Bricks zu bewegen, oder? Deshalb habe ich schon eine Weile
über das Verschieben der
Kill-Bricks geärgert und darüber gesprochen . Und die Idee ist, dass wir
ein Drehbuch machen wollen , das die
Rotation der Kill-Bricks ändert, etwa
so, oder? Und wir haben bereits
in der vorherigen Vorlesung gesehen, dass
wir den
Tweening-Dienst für die Treppe gesehen haben, oder? Dadurch wurde die Transparenz
der Treppe auf 0-1 oder 1-0 erhöht. Und jetzt wollen wir
dasselbe für unsere
zerstörten Steine hier drüben machen, nur mit der Rotation. Also dafür in den
Kill Bricks, richtig, wir können einfach
das Kill-Skript verlassen. Das können wir im Grunde einfach dort
belassen. Und was wir tun wollen, ist, dass wir nur ein weiteres
Drehbuch hinzufügen
wollten und das wird unser rotierendes Drehbuch
hier
sein. Das ist perfekt. Und jetzt bekommt das die
Nummer eins, einen Teil, oder? Das wird unser
Part sein, Script Dot Parent. Und dann gehen wir
wieder zwischen den Gottesdiensten. Das ist also zwischen
Service gleich, wir haben diesen Doppelpunkt des
Spiels gesehen, der Service bekommt und dann die
Tween-Dienstzeichenfolge hier drüben eingefügt. Jetzt wollen wir auch Informationen. Das könnte also so etwas wie
die rotierende Information sein , die
rotierenden Informationen. Da hast du es. Und das wird gleich sein
, dass Tween und Foot neu sind. Und dann
wollen wir hier wieder die Zeit haben. Also sagen wir
vorerst einfach eins. Enum, dieser lockernde Stil
, vorerst auch dieser lineare. Ich kann es hier nur empfehlen, Sie können
sich auf jeden Fall verschiedene Lockerungsstile ansehen und das werden
wir gleich tun. Sobald alles funktioniert,
ist die Frage, okay, wie können wir das drehen? Nun, das ist etwas
komplizierter als das, was
Sie zuvor gesehen haben, weil ein
bisschen mehr Mathematik erforderlich ist. Aber sagen wir einfach, wir
werden das drehen, oder? Das wird also nicht unser Tween
sein. Es wird also ein
Tween-Dienst-Dolon erstellt. Und das wird bei dem Teil natürlich
funktionieren, was Sinn machen sollte. Wir werden die
rotierenden Informationen hinzufügen. Und dann
wollen wir hier hinzufügen, was sich als Tabelle
ändert. Was sich nun für
den Kill-Brick ändern wird , wird
der C-Frame sein, oder? Und was sich für
den C-Rahmen ändern wird , ist insbesondere
die Ausrichtung. Wie kann ich damit
die Ausrichtung des
C-Rahmens ändern ? Nun, zunächst sagen wir
einfach C-Frame. Und dann wird es den tatsächlichen C-Frames
entsprechen. Das wird Teil C-Rahmen sein. Also setzen wir ihn auf
denselben Port und
multiplizieren ihn dann mit den Punktwinkeln des
C-Rahmens. Und die Idee hier ist
, dass dies aus
den Euler-Winkeln XYZ entspricht . Angles gibt Ihnen also im Grunde
einen neuen C-Rahmen aus
Strahlungszahlen zurück . Also das könnte
ein bisschen sein, oh, das ist verrückt. Im Allgemeinen. Rotationen im 3D-Raum sind
eigentlich ziemlich kompliziert. Du könntest sagen, naja, ich meine, es sind nur drei
Zahlen hier drüben. Nun, ganz so einfach ist es nicht. Drei Zahlen können für Orientierung und Drehung eigentlich
nicht ganz ausreichen . Deshalb machen
sie manchmal seltsame Dinge, wenn
man diese Zahlen ändert , oder? Also vielleicht hast du diese Auswahl
-90
geändert und plötzlich ändert sich
diese Änderung auf -90,
wie der Y-Wert, tatsächlich
auf 70 und du denkst, nun, wie ist das passiert? Nun, insgesamt wollen
wir hier in den Winkeln mathematische Punktradianten
sagen. Also wollen wir den
Radiant hier reinlegen, 45. Und dann wollen wir sagen, Klammern
schließen Null, Komma, Null. Ich werde hier einfach
rauszoomen und Sie können den C-Rahmen sehen. Der tatsächliche Wert sollte der aktuelle Wert multipliziert dem Winkel
des mathematischen Radians von 45 s sein. Was heißt das? Nun, wir werden uns
das gleich ansehen. Was wir einfach tun werden,
ist einfach Spin Colon Play zu sagen. Und das ist alles,
was wir jetzt tun werden. Also werden wir es einfach so
belassen, oder? Also sagen wir
einfach, hey,
dreh dich einfach um und dann werden
wir sehen, wir fangen hier an und verschieben es einfach
hierher. Wir sollten sehen können, wie unser erster Kill Brick
Wall etwas tut. Und du wirst sehen,
was es macht, oder? Also machen wir das
hier und du kannst sehen, dass es sich tatsächlich dreht, aber es dreht sich um die falsche Achse oder es hat sich um die eigene Achse
gedreht. Also
es tatsächlich um diese Achse zu drehen, was in diesem Fall
eigentlich nicht richtig ist. Also wollen wir
die Mathematik dort ändern. Wir wollten also eigentlich
um die blaue Achse rotieren ,
die eigentlich Z ist. Also wollen wir diese beiden
hier ändern , das macht überhaupt
keine Sorgen. Du kannst also im Grunde
auschecken, oder wenn du denkst, warte, woher weißt du, dass wir uns um diese Achse drehen
wollen? Plötzlich können Sie sehen, dass, wenn ich
das Blau hier ändere, richtig,
wir zum gewünschten Ergebnis kommen. Und blau hier oben
rechts ist z. Das bedeutet
, dass
wir
das letzte ändern müssen , weil
es x, y, z ist. Hoffentlich ist das
irgendwie verständlich. Jetzt, wo wir das ändern, richtig und wir gehen hier rein, sollten
wir nun in der Lage sein, zu sehen sich
das langsam
dreht und los geht's. Also eigentlich haben wir das nicht
einmal verstanden, aber es hat es
in diese Richtung herumgeschrieben. Und wenn wir zum Server gehen
und diesen auswählen, können
wir anhand
der Ausrichtung tatsächlich sehen, dass
sich dadurch der Wert hier ändert, 245. Das ist also buchstäblich
so ziemlich alles, oder? Also heißt es im Grunde nur, Hey, wir wollen dieses
spezielle Ding auf 45 ändern. Und wenn wir zu fünf, z. B.
5 s,
gehen , dann wird es
ein bisschen länger dauern und dann können
wir auch sehen, wie es sich bewegt. Du kannst es also sehen,
jetzt bewegt es sich. Und jetzt haben wir
den 45-Grad-Winkel erreicht, und das ist alles, was es tut. Die Idee hier ist also
, dass es buchstäblich nur den Blickwinkel zu dem ändert,
was Sie hier eingeben. Das meiste von diesem Zeug ist so etwas wie
diese Berechnung. Nun ist es interessant
, einen Blick darauf zu werfen. Und wenn Sie wirklich
daran interessiert sind, empfehle
ich dringend, sich die C-Frame-API-Referenzen anzusehen. tun sie, sie sind ziemlich wichtig, sie sind
ziemlich interessant. Es ist jedoch eine
Menge Mathematik erforderlich. Das ist die Sache, die
Sie beachten können. Jetzt dreht es sich also
um 0-45. Und was ist, wenn wir jetzt wollen, dass es wieder
zurückdreht? Nun,
mach dir überhaupt keine Sorgen. Wir
machen nur eine zweite Runde. Also sagen wir einfach
, das ist Dreh einen Dreh,
das wird in Ordnung sein. Und dieser geht auf -45. Also gehen wir zuerst zu 45 und dann
gehen wir zurück zu -45. Also, jetzt sollte man Spin spielen, und das ist das
absolut Geniale. Was wir nun tun wollen,
ist, wenn das erledigt ist, wir sagen, abgeschlossen. Also nutzen wir noch einmal
das abgeschlossene Event. Wir wollen
eine neue Funktion verbinden und sagen
einfach Funktion. Und in derselben Zeile werden
wir einfach
Spin bis Doppelpunkt sagen Spin bis Doppelpunkt und dann werden
wir es einfach in derselben Zeile beenden. Der Abstand dazu ist auch nicht ganz richtig.
Da hast du es, richtig. Jetzt, noch verrückter, wir
werden das einfach auch kopieren. Ich sage eins,
Spin zwei ist abgeschlossen, wir werden jetzt einfach Spin eins
platzieren. Dadurch wird es jetzt so
, dass es von vier,
0-45 auf -45 und ewig hin
und her geht . Wenn wir das nur spielen,
wirst du das sehen können. Zuallererst geht es auf 45
und sobald es diesen Bam erreicht hat, geht
es zurück und jetzt
geht es auf -45, minus 45. Und wenn es das erreicht hat, geht
es wieder auf 45 zurück. Absolut spektakulär. Und ich liebe
das absolut und bin hier, oder es kommt rein, ist der
andere Lockerungsstil. Also ändern wir vielleicht die
Zeit hier auf drei. Und jetzt hier, wenn wir so
etwas wie eine
exponentielle bekommen , oder? Dadurch wird der
Widerstand sehr schnell reduziert , wenn sich
zwischendurch ein Ziel nähert. Das könnte interessant sein. Schauen wir uns diesen an. Das wird verrückt
aussehen, oder? Wenn wir uns das also ansehen würden, sieht es plötzlich
ganz anders aus. Dies ist jedoch auch ein wirklich cooler Effekt,
wie Sie sehen können. Und das ist es, was ich meine. Sei offen für Experimente mit Dingen wie dem Lockerungsstil, denn das sieht
wirklich cool aus und kann deinen zweijährigen Elementen
im Grunde
etwas Unvorhersehbarkeit
verleihen etwas Unvorhersehbarkeit , oder? Also können wir das machen. Wir
können auch sagen, vielleicht wollen
wir sagen, wir wollen eine Sinuswelle sehen. Klar, warum nicht? Schauen wir uns das Schild an. Wie wird das aussehen? Nun, lass uns einfach sehen, richtig. Das wird also
ungefähr so aussehen. Es ist also anders. Auch hier ist es nicht linear. Es ist eine Sinuswelle, oder? Also wird es langsamer, es
beschleunigt sich ein bisschen. Wir können uns auch
einen anderen ansehen , der
irgendwie interessant ist. Ist der, ist es der Rücken? Ja, dieser, der ist
eigentlich auch ziemlich cool, weil er tatsächlich ein bisschen
überschießt. Wir werden also
sehen, dass es tatsächlich
etwas über
45 Grad hinausgeht . Und dann hat es sich irgendwie
erholt, wie Sie sehen können. Also überschießt es ein
bisschen und
geht dann zurück und dann kommt es
immer wieder zurück. Es ist wirklich großartig. Ich kann das nicht genug betonen. Spielen Sie einfach ein bisschen mit dem
Lockerungsstil hier
drüben herum und Sie werden
erstaunt sein,
was Sie tun können. Jetzt, wo wir das
rotierende Skript fertig haben. Nun, wir können
uns einfach alle unsere zerstörten
Steine hier ansehen. Stellen wir einfach sicher, dass wir alle richtigen
haben. Es sind also alle
darüber liegenden. Ordnung, und dann nehmen wir
einfach das rotierende Drehbuch und fügen
es
einfach zu allen hinzu. Da hast du es. Drehbuch notieren, rotierendes
Drehbuch, rotierendes Skript N. Eigentlich noch eins, und wir brauchen
noch eins. Da hast du es. Da hast du es. Noch einmal. Alles wird rotieren. Jetzt. Um fair zu sein, sie werden sich
alle mit
der gleichen Geschwindigkeit drehen und nun ja,
im Grunde genommen im Gleichklang. Was Sie jetzt tun können,
ist,
die ursprüngliche Drehung einiger
von ihnen zu ändern , oder? Damit die Rotation nicht synchron
ist oder das funktioniert. Also können wir mit so
jemandem auskommen. Und dann
machen wir vielleicht aus diesem Typen so etwas. Und ich werde hier
weitermachen. Vielleicht hat dieser Typ eine
absolut verrückte Sache. Vielleicht steht dieser Typ
tatsächlich oben und dann
ist dieser Typ schon 45 Jahre alt. Schauen wir uns also einfach an,
was das alles macht wenn sie sich alle
gleichzeitig bewegen, oder? Schauen wir uns das an. Und du kannst jetzt sehen, wie sich alle
bewegen, aber sie bewegen sich alle gleichzeitig. Es sieht sehr cool aus, oder? Ich gebe dir, sie,
sie sehen ziemlich cool aus und
du kannst sehen, dass das, was
45 Grad sind , sich tatsächlich
für jeden von ihnen ändert, oder? Weil der C-Frame in
diesem Fall eine Art lokales Recht ist . Also
ändern wir es im Grunde einfach auf 45 Grad. Aber was 45 Grad sind, ändert sich, was tatsächlich
einen sehr, sehr coolen Effekt hat. Jetzt gibt es noch eine winzige
Sache, die ich hinzufügen
möchte, und das
wird die Folgende sein. Also lasst uns einfach die
obere rotierende Schriftstelle öffnen ,
damit wir die richtige haben. Und wir werden das hier einfach zu einer lokalen
Tween-Time machen . Das wird, sagen wir,
gleich eins sein und wir werden es
einfach hier ändern , sodass wir
die Tween-Zeit ändern können , für jeden
unserer erledigten Steine rotierende
Kill-Bricks hier drüben. Und die Idee hier ist, dass wir das
tatsächlich
über neue Int-Werte tun werden. Also fügen wir
hier einfach einen Int-Wert zum Kill-Brick hinzu. Und das wird
das Doppelte Mal sein, oder? Dann sagen wir
Port Dot,
Twin Time, Dot Value. Da hast du es. Und jetzt bekommen wir die
Zeit von hier. Nennen wir diese beiden. Und dann können wir einfach die alten
rotierenden Skripte löschen. Das ist also wieder
eines der Dinge, bei denen ein Modulskript vielleicht irgendwie gut
wäre, aber es ist nicht
unbedingt notwendig. Und ich werde das einfach
duplizieren und
es all unseren
rotierenden Killed Bricks hinzufügen . Und dann ist es auch sinnvoll, sie
möglicherweise in die rotierenden Kill Bricks umzubenennen die rotierenden Kill Bricks umzubenennen nur damit wir wissen,
was das sind, oder? Das
werden also die rotierenden oder sagen wir, Riot Killed
Bricks sein, das wird in Ordnung sein. Das sollte hoffentlich
reichen, damit wir sagen, okay, das
werden die rotierenden sein. Da hast du es.
Das ist auch einer. Und dann auch dieser. Und da haben wir es. Und jetzt können wir
das tatsächlich ändern. Nehmen wir an, wir
möchten dies auf
sechs ändern und wir möchten dies auf eins
ändern, und wir möchten
dies auf drei ändern. Und das sollten auch drei
sein, sagen wir. Jetzt
werden sie alle völlig
aus dem Takt geraten, weil einige von ihnen
schneller sein werden, andere werden langsamer sein. Und hier kannst du natürlich auch die Lockerungsstile
ändern und siehst jetzt gibt es alle möglichen einfach ihr eigenes
Ding zu machen. Im Grunde. Es ist ihnen nicht einmal wichtig. Und es wird viel
interessanter sein , das zu umgehen, ich meine, das
wird interessant sein. Bitteschön, aber ich habe es getan. Es ist einfach genial, oder? Ihr könnt also jetzt so viele
Dinge tun, die
Lockerungszelle einiger von ihnen ändern, theoretisch
könnt ihr,
ihr würdet auch
die Lockerungszelle an einem
bestimmten Punkt ändern,
während das passiert,
ihr
wechselt theoretisch
könnt ihr, ihr würdet auch
die Lockerungszelle an einem
bestimmten Punkt ändern ,
während das passiert, zwischen den Zeiten. Es gibt eine Menge Dinge, die
du tun könntest. Diese Ideen. Ich hoffe, dass ich
dich
im Grunde dazu inspiriert damit herumzuspielen
, denn das ist das Wichtigste. Denn am meisten wirst
du lernen, wenn du denkst, warte, wie kann ich das oder
das oder das machen? Und ja, normalerweise schaffst du das. Es läuft einfach darauf hinaus, es
auszuprobieren und zu sehen, was Sie tun können. Aber das ist im Grunde
die Bewegung für unsere geschlagenen Steine hier drüben. Und das fasst ziemlich genau die allgemeine Sache zusammen, die ich mit dem RB machen
wollte. Wir werden
noch eine Vorlesung haben, in der ich
über ein paar Dinge gesprochen habe , die
Sie vielleicht hinzufügen können. Aber unabhängig davon wird das
vorerst alles für
diese Vorlesung hier sein. Ich werde ehrlich und nützlich sein und
du wirst etwas Neues lernen. Und ich sehe euch alle in
der nächsten Vorlesung. Also, ja.
41. (Roblox) Zusätzliche Ideen für den Obby: Ordnung, willkommen
zurück in der RB hier für den Row-Box-Kurs. Und in dieser Vorlesung möchte ich
nur kurz über ein paar Dinge
sprechen, die Sie möglicherweise in Ihr OB einbauen wenn
Sie es weiterentwickeln. In unserem
Beispiel hier haben
wir natürlich nur fünf
Stufen und es wird gespielt, während du es
sehr, sehr schnell spielen kannst, oder? Aber die Idee
der Armee war,
ein Beispiel dafür zu sein , wozu
Sie in der Lage sind. Bestimmte Dinge, auf die du näher eingehen
könntest, wären etwa
die Quadratwurzel des
Lochs in der Mitte zu nehmen , oder? Vielleicht machen wir sie ein
bisschen größer. Und dann kannst du sie so
aufstellen, richtig. Also kannst du sie so aufstellen, dass du eine Zigarette
bekommst, einen Korridor. Der Korridor bewegt sich
mit einem Tween-Dienst. Das könnte also wirklich,
wirklich cool aussehen, oder? Und vielleicht könnte es sogar eine Regenbogensache
sein. Das wäre vielleicht keine
schwierige Phase, aber es geht nicht immer darum,
Probleme mit dem Status zu haben. Es geht auch darum, einfach lustige Etappen
zu haben und
sie cool aussehen zu lassen, oder? Denn ehrlich gesagt, weißt du, der Look für ein RB ist
, ich würde sagen, irgendwo zwischen etwa 30 und
60% von dem, was
das Coole daran ist, oder? Und wenn es viele Stufen hat, gehst
du einfach
weiter und fügst verschiedene Stufen hinzu
, die immer noch ähnlich sind. Sie können also theoretisch mehr
Formen hinzufügen, Sie könnten die
Formen hinzufügen und
sie auf
eine andere Weise neigen lassen. Ich habe es anders geschrieben. Du kannst mehr Treppen hinzufügen, oder? Sie können Treppen hinzufügen
, die sich vielleicht von rechts nach links trennen ,
oder so ähnlich. Sie können bestimmte Teile hinzufügen, bei denen Sie
rechts oder links, rechts wählen müssen Also ähnlich wie bei diesem, aber einer davon ist tatsächlich, seine Fehler zu berechnen. Also wirst du
das durchstehen , solche Dinge. Es gibt viele Möglichkeiten, wie
du das angehen
und es wirklich großartig machen kannst . Und ich möchte nur,
dass du
experimentierst, wenn du
wirklich daran interessiert bist , damit
weiterzumachen .
Ich denke, wenn du einfach mit irgendwelchen Ideen
experimentierst ,
die
du vielleicht hast , kannst du
dir natürlich auch andere Abbys
ansehen, sehen, was sie haben
und dann vielleicht sagen, Okay, wie kann ich das umsetzen? Das ist eine großartige
Möglichkeit immer mehr
Roadblocks-Scripting zu lernen. Abgesehen davon
sind wir damit fertig. Jetzt
werden wir uns wieder mit diesem speziellen RB befassen, denn
im Rest des Kurses werden
wir uns tatsächlich einigen weiteren Zwischenthemen befassen. Und die meisten von ihnen möchte ich
dir in diesem
Fall im
Grunde genommen von innen zeigen . Und das hilft
dir hoffentlich auch dabei, dein eigenes
Roblox-Spiel zu erstellen. Es gibt auch einige Ideen
für zukünftige Ergänzungen, wie wir das verbessern können, wie Sie
Ihr Hobby in diesem Fall weiter verbessern können. Und was ich meine, das wäre es
für diese Vorlesung in diesem Abschnitt des Kurses. Ich hoffe, Sie fanden das nützlich. Und wenn Sie das bis jetzt getan haben, würde ich mich über
eine Bewertung von Ihnen
sehr freuen. Ansonsten sehe ich dich in
der nächsten Vorlesung. Also, ja.
42. (Roblox) Veröffentlichen deines Spiels: Ordnung, willkommen zurück zu
den Zwischenthemen hier folgen Sie dem Roblox-Kurs
und in dieser kurzen Vorlesung werde
ich Ihnen zeigen, wie
Sie
Ihr RB oder ein beliebiges Spiel wirklich
auf Roblox selbst veröffentlichen können . Um das zu tun,
wollen wir einfach zu Datei gehen und dann werden Sie sehen
, dass Sie hier eine auf Roblox
veröffentlicht haben . Jetzt wählen wir
das, was auf Roblox veröffentlicht wurde da sich dann im Grunde ein neues Fenster hier
öffnet. Dies sind einige der Dinge , die bereits veröffentlicht wurden. In diesem Fall sind nicht alle
privat, aber ich kann ein neues Spiel erstellen, und dadurch
entsteht im Grunde ein völlig neues Spiel. Jetzt nennen
wir das einfach unser Beispiel, OBE z.B. so
jemand,
nichts allzu Verrücktes. Ich bin der Autor hier. In diesem Fall können Sie sogar das
Genre ändern. Jetzt kannst du es überhaupt behalten. Oder du kannst sagen, das ist eine Art mittelalterliches Thema
oder B, so etwas. Es ist in Ordnung. Wir werden es einfach überhaupt
behalten. Nun, normalerweise die Geräte, wir haben das nur für den Computer wirklich getestet
. Wenn Sie also
unbedingt gerettet werden möchten, können
Sie das Telefon
und das Tablet ausschalten, denn, nun, wir
wissen definitiv, dass es auf dem Computer funktionieren
wird. Sie können diese jedoch
auch eingeschaltet lassen, aber stellen Sie sicher, dass Sie auch
Ihr Spiel testen ob sie auf
dem Telefon und der Oberseite einwandfrei funktionieren Wenn Sie möchten, können Sie hier eine Beschreibung
hinzufügen. Andernfalls können Sie einfach
auf Erstellen klicken und dadurch
wird der RBA
auf Roadblock hochgeladen. Sie können also sehen, dass wir unsere
Wohnung bereits beladen. Hab einfach Geduld dafür. Und dann hast du es. Jetzt haben wir die Datei
hier drüben mit einer
kleinen Wolke, und das bedeutet, dass wir jetzt auf dem Server
sind. Navigiere jetzt einfach
zu erstellen, dass es sich Roadblocks um
Com-Slash-Kreationen handelt. Und ich werde das einfach
neu laden und Sie werden unser Beispiel finden, wenn auch direkt hier unten, als eine neue Erfahrung,
die geschaffen wurde. Das ist echt cool. Und du siehst, das ist nicht das Richtige. Wenn ich in Studio bearbeite, wird Roblox Studio tatsächlich für uns
geöffnet. Das würde also tatsächlich ein neues Fenster
öffnen. Im Moment können Sie also sehen, dass Roblox
Studio wieder geöffnet wird. In unserem Fall
haben wir das tatsächlich schon offen. Also wird es so sein, oh mein
Gott, wir haben schon geöffnet. Da hast du es also. Wir werden das einfach
schließen. Und jetzt haben
wir es auch hier geöffnet. Das ist also wirklich,
wirklich großartig, aber das ist nicht alles. Also kannst du natürlich
hier reingehen. Lass uns einfach reingehen. Wir können
diese Dinge auch ändern , damit Sie
sehen, dass wir es veröffentlichen können, wir können alles abschalten. Wir können Abzeichen erstellen. Es gibt verschiedene
Statistiken, die Sie sich ansehen können. Sie können sogar das Ende
der Lokalisierungen konfigurieren. Also können wir das zunächst in einem neuen Tab
öffnen. Das wird also unsere
Schöpfung hier drüben sein. Wie Sie sehen können,
ist dies nur die Übersicht. Es gibt noch andere
Grundeinstellungen, sodass Sie
den Namen ändern können , wenn Sie möchten
. Sie können ihn privat machen. Das ist auch eine sehr wichtige
Sache. Ermöglicht also den Zugriff
auf API-Dienste. Darauf werden wir gleich
zurückkommen. Ich empfehle
Ihnen dringend, dies
bereits einzuschalten und die Änderungen einfach
zu speichern. Wir werden das jedoch noch einmal
durchgehen. Dies ist für bestimmte APIs erforderlich, z. B. für die Datenspeicher-API die
wir uns in Kürze
ansehen werden. Es gibt Orte. Also im Moment gibt es nur
einen Ort, oder? In diesem Fall ist es also nur dieser
RB. Und normalerweise hat
man für eine Abtei nur einen Ort, aber man hat mehrere
Orte, die über
bestimmte Teleportationspads oder
bestimmte Gateways oder was auch immer
Sie im Grunde wollen miteinander verbunden sind bestimmte Teleportationspads oder
bestimmte Gateways oder . Und das werden
wir auch in
den
Zwischenschritten hier sehen . Es gibt noch andere Elemente, mit denen
Sie Badges erstellen können, dass Sie Pässe erstellen können, und Sie können sogar Entwicklerprodukte erstellen die in diesem Kurs nicht eingegangen
wird. Aber es gibt immer noch eine
interessante Sache. Es gibt verschiedene Zugriffsarten. Die Zugriffsarten hier
wären also, ob für die Einrichtung eines privaten Servers eine Zahlung
erforderlich ist oder nicht. Man kann also sagen, benötigt X
Robotik, solche Dinge. Es gibt also eine sehr
coole Sache, die du machen kannst. Es gibt einen Fragebogen
, der derzeit
nicht in Frage kam. Es gibt eine Lokalisierung,
also würde das tatsächlich
bestimmte Dinge übersetzen. Das ist absolut verrückt. Wir haben uns nicht mit der
Lokalisierung des Dienstes befasst, aber es ist wirklich cool
, dass es das gibt. Wir können auch
einige soziale Links hinzufügen. Das wären also nur
soziale Plattformen hier drüben. Wir können ein paar Updates bekommen. Dies ist also eine großartige Möglichkeit
, den Benutzer zu benachrichtigen. Im Grunde ist, weißt du,
etwas passiert. Es gibt Benachrichtigungen. Wir können also
Benachrichtigungsketten erstellen und dann Werbung und
Sponsoring in einem anderen Fenster angezeigt. Und am Ende
gibt es hier Entwicklerstatistiken im Grunde sagen, wie viele Leute auf welcher Plattform spielen? Was sind die historischen Daten? Es gibt eine Menge Dinge hier, was wirklich, wirklich großartig ist. Aber wenn wir hier zu der
Erfahrung zurückkehren, können Sie sie auf Roblox ansehen. Und was
passieren wird, ist, dass Sie wahrscheinlich,
wie Sie es schon mehrfach gesehen haben,
dieses bestimmte Fenster sehen . Und was wirklich
cool ist, ist, dass du hier noch
einmal zu Edit gehen kannst hier noch
einmal zu Edit gehen und es dann
wieder in Roblox Studio öffnen wird . Das werden wir jetzt eigentlich
nicht wollen, oder. Es gibt also eine
Menge Dinge, richtig, diesen Ort
konfiguriert, sodass wir tatsächlich
konfigurieren können , dass dies
die alte Version ist. Wenn wir
zur neuen Version zurückkehren, können
Sie hier sehen, dass wir jetzt auch das Symbol und so ändern können. Es gab also
eine große Sache , die ich mir
ansehen wollte und die Art und Weise, wie du
das durch die
Kreationen hinbekommst ansehen wollte und die Art und Weise, wie du
das durch die
Kreationen hinbekommst , oder? Also, wenn wir in diesem
Erstellungsbildschirm sind, gehst du zu deiner Abby, dann gehst du zu Orten und dann klickst du auf
den Ort und dann kannst
du die
Details ändern, oder? Sie können
das Symbol also gleich hier ändern. Sie können entweder
das automatisierte Bild erstellen oder dies sogar ändern. Sie können das Vorschaubild ändern. Also das Vorschaubild
wäre natürlich dieses Ding hier, oder? Man kann tatsächlich auf Straßensperren
sehen. Also, wenn Sie Roboter verwenden, dieses große Ding genau hier, und dann gibt es Zugriff darauf. Wie viele Besucher sind verfügbar? Normalerweise möchten Sie, dass
sie alle wie die Serviceeinstellungen sind. Ihr alle wollt einen für Roblox
optimierten Versionsverlauf. Also,
welche Versionen wurden implementiert? Und dann zum Schluss noch
ein paar Genehmigungen. Im Moment sind die meisten
davon nicht wichtig. Ich schlage vor, dass Sie den größten
Teil dieser Ausfallrate beibehalten. Wenn wir jetzt also auf Play klicken, richtig, es wird nicht
wirklich geöffnet. Roblox Studio
wird Roblox tatsächlich selbst öffnen. Also los geht's,
unser Beispiel-OB, indem wir Joel
zählen und wir
schließen uns jetzt an, und da sind wir. Jetzt sind wir im Spiel und
das sind eigentlich Straßensperren. Das ist nicht Roblox Studio. Und wenn wir hier weitermachen
und hierher gehen, bam, Stufe eins, das funktioniert. Wir können immer noch hier sterben. Und das ist so ziemlich
alles, was dazu gehört. Ich meine, das ist wirklich gut. Es funktioniert also auf jeden Fall. Ich empfehle dringend,
häufig zu testen. Sehen wir uns die Treppe an. Sie würden auch verschwinden
und auch herunterfallen. Das war nicht ganz
das, was ich mir vorgestellt hatte. Bitte entschuldigen Sie die Tatsache
, dass es keine Lautstärke gab. Ich habe das ausgeschaltet,
aber da hast du es. Also jetzt hast du die
Sägen hier drüben, die sich drehen,
oder? Da hast du es. Oh, das ist verrückt. Dieser ist ein Dieser
ist verrückt . Der ist eigentlich gut. Das gefällt mir. Und dann haben wir unsere
Formen und los geht's. Also jetzt haben wir
das Spiel tatsächlich hier drüben. Jetzt ist es natürlich noch
ein bisschen leer, aber dies ist der Beginn
der Spieleentwicklung und
jetzt ist es veröffentlicht,
ist noch nicht öffentlich, ist noch nicht öffentlich, aber Sie können sich natürlich
entscheiden, ob Sie es veröffentlichen möchten oder nicht. Sobald wir damit fertig sind, können
wir zurückkehren. Noch einmal. Das Wichtigste sind die Kreationen. Und dort kannst du im Grunde
auf all deine Kreationen zugreifen. Sie können also zu
Ihrem Beispiel oder B gehen und alles ändern
, was Sie möchten. Der Grund, warum es
so wichtig ist, dass wir dies
veröffentlicht haben, ist, dass wir tatsächlich verlangen, dass unser Platz veröffentlicht wird,
bevor wir ihn nutzen können. Nun, all die Dinge
, über die wir in den kommenden Vorlesungen
sprechen werden. Aber das wird im Grunde
alles für diese Vorlesung hier sein . Ich hoffe, Sie fanden das nützlich und Sie haben das Neue gelernt, und wir sehen uns alle in der
nächsten Vorlesung. Also, ja.
43. (Roblox) Füge Bilder zu deiner GUI hinzu: Ordnung, willkommen zurück zu
den Zwischenthemen hier, Kurs über weitere Hindernisse. Und in dieser kurzen Vorlesung werden
wir uns
ansehen, wie Sie Ihrer GUI
ein Bild hinzufügen können . Der Grund, warum
wir das nicht geschafft haben als wir uns das
erste Mal mit GUIs befasst haben,
ist, dass Bilder
eigentlich das
sein müssen , was sie von Ihrem
Ort verlangen, um veröffentlicht zu werden, oder? Also, wenn ich hier ein
Bild hinzufüge, richtig, also fügen wir ein Bildlabel hinzu, wie Sie jetzt sehen können,
haben wir hier ein Bild. Fügen wir das einfach
innerhalb der Größe hier hinzu. Das wird völlig in Ordnung sein. Das wird sich ändern. Jetzt. Um das
rechts zu ändern, klickst du auf das Bild und dann gehst du einfach runter zum
Bild hier. Und Sie können sehen, wir
können jetzt ein Bild hinzufügen. Um nun ein Bild hinzuzufügen, wählen wir
einfach eine Datei aus. Ich habe hier einen
Daumen-hoch-Button vorbereitet. Ich denke, das wird völlig
in Ordnung sein. Wir nennen es einen Daumen
hoch und wir werden erstellen, wodurch der
Daumen-hoch-Button tatsächlich auf Roblox selbst
hochgeladen wird. Sie können also sehen, dass net jetzt eine Roadblocks-ID
hat, und diese ID ist
tatsächlich wichtig und wird jetzt verfügbar sein. Machen wir das ein
bisschen netter. Vielleicht sollten wir das tatsächlich ein
bisschen kleiner
machen , eine gerade
Zahl wie diese. Und dann machen wir das. Da hast du es. Also
jetzt haben wir das. Lassen Sie uns auch die Grenze entfernen , weil ich eigentlich
keine Grenze haben möchte. Nein, ich möchte hier keine
Nullgrenze haben. Da hast du es. Also jetzt bekommen
wir hier neben deiner Bühne einen Daumen hoch
. Im Moment machen wir
nichts damit, aber es ist ziemlich cool, oder? So ungefähr können
Sie das Bild hinzufügen. Wenn wir jetzt speichern,
können Sie sehen, dass wir uns jetzt ändern, wir haben diese
Änderungen jetzt in Roblox gespeichert, oder? Wenn wir also zu
unseren Kreationen zurückkehren und zu unserem Beispiel
gehen würden , ich an den Stellen enden,
anstatt an einer Stelle in
der Versionsgeschichte.
Sie können sehen, dass wir gerade die
neueste Version veröffentlicht haben,
weil sie sicher ist. Und wenn wir das jetzt
veröffentlichen würden, wir es noch
einmal auf
Roblox veröffentlichen und dann wird es auch tatsächlich
veröffentlicht. Jetzt veröffentlichen wir
die Änderungen. Es gibt zwei verschiedene
Operationen, oder? Wenn Sie jedoch noch einmal zur
Versionsgeschichte zurückkehren, können
Sie jetzt sehen,
dass dies eine veröffentlichte Version ist. Es gibt also einen Unterschied zwischen dem Speichern Ihrer Änderungen und dem
Veröffentlichen der Änderungen. Dies ist eine sehr wichtige
Sache, die Sie beachten sollten. Okay? Also, wenn ich das hinzufüge und es gespeichert
habe, oder? Also habe ich Strg S gedrückt
oder du gehst zu Datei und Speichern. Das bedeutet, dass es in der Roblox Cloud
gespeichert ist. Sie können frühe Versionen
und als Frühversion gespeicherte Versionen wiederherstellen . Dies ist ein Überblick über alle
Änderungen, die Sie vorgenommen haben. Aber nur weil du gespeichert hast, heißt
das nicht, dass
die Leute, die
dein Spiel spielen , diese Änderungen
haben werden. Um die Änderungen an
die Leute zu bringen , die dein Spiel
spielen, musst
du
die Version veröffentlichen, die sehr,
sehr wichtig ist, und es ist ein sehr
wichtiger Unterschied, dass sehr wichtig ist, und es ist ein sehr du weißt, wann du das im Grunde tatsächlich
versuchst. Eine weitere Kleinigkeit ist, dass Sie sich wahrscheinlich fragen
werden, nun, wie kann ich dieses Bild ändern,
wenn etwas passieren sollte? Nun, lass uns nur
der Argumentation halber ein anderes Bild
hochladen, oder? Und das
werden die Daumen runter sein. Da hast du es. Es
wird auch ein Daumen runter sein. Lassen Sie uns das auch erstellen. Das wird
hochgeladen und es wird hier eine neue ID bekommen. Jetzt haben wir also einen Daumen runter und sagen wir
der Argumentation halber, wir fügen hier einfach ein
lokales Skript hinzu. Die lokalen Dienste
werden der Bildwechsler sein, ein bisschen
hineinzoomen und wir wollten
nur das Bild bekommen. Also das Bild ist
natürlich, script dot parent sollte ziemlich
selbsterklärend sein. Und dann
sagen wir ImageView.Image. Bitte denken Sie daran
, dass die Variable Bild mit einem kleinen I
heißt .
Und das großgeschriebene I-Bild ist
eigentlich die Eigenschaft
hier, die darauf verweist, dass das
Bild, das wir haben, einfach gleich ist. Und
das ist sehr wichtig. Wir wollen im Grunde die
Ribulose-URL erhalten, damit
das Bild dem HTTP-Doppelpunkt
Schrägstrich www Punkt entspricht. Roadblocks sind Com-Slash-Assets, solches Fragezeichen
ist gleich und dann können Sie
einen Punkt machen und dann
holen
Sie sich einfach die Bild-ID, um die Bild-ID zu
erhalten. Aber ich wähle einfach
das Bildlabel und wähle dann
das gewünschte Bild aus, oder? kannst du, du kannst es einfach
auswählen und dann
kannst du die ID von hier kopieren. Und dann stellen wir einfach
sicher, dass das Standardbild
tatsächlich der Daumen nach unten ist. Und dann
wollen wir es im Grunde ändern. Also werden wir wieder hierher gehen. Wir werden das einfach hier
hinzufügen. Und das sollte in Ordnung sein. Dann können wir das speichern. Und Sie können sehen, dass ich die Änderungen genau hier annehme. Und das
erspart uns erneut zwei Hindernisse für die Cloud und wir sollten mit einem Daumen nach unten
beginnen. Allerdings
wird es das tatsächlich auf einen Daumen hoch ändern ,
sobald wir das Spiel starten, denn das Bild ändert sich, dein Skript wird ausgeführt. Und da haben wir es. Jetzt haben wir tatsächlich einen
Daumen hoch bekommen, weil es
natürlich
die Bildsprache hier geändert hat. Du kannst das
Bild hier ändern, oder? Wenn, wenn
wirklich etwas passiert, wenn ein Spieler
stirbt, wer
ändert das vielleicht in einen
Daumen runter, oder? Und wenn sie
den nächsten Checkpoint erreichen, kannst
du ihn
in einen Daumen hoch ändern. Beachten Sie nun, dass dies
ein lokales Skript ist und dass
die Standard-GUI lokal ist. Also, wenn Sie versuchen, dies
über ein normales Skript hier drüben zu tun , könnte
es vorerst etwas
schwieriger sein,
dies tatsächlich
zum Laufen zu bringen vorerst etwas
schwieriger sein,
dies tatsächlich
zum Laufen zu Auf
diese Weise
ändern Sie jedoch ein Bild, oder? Und das
wird es eigentlich für
diese Vorlesung hier sein . Ich hoffe, Sie fanden
das nützlich und Sie lernen etwas Neues
und wir sehen uns alle in der nächsten
Vorlesung. Also, ja.
44. (Roblox) Spielerdaten mit DataStoreService speichern: Ordnung, lassen Sie uns
hier
mit den Zwischenthemen für die Roboterergebnisse fortfahren . Und in dieser Vorlesung werden
wir uns den
Datenspeicherdienst ansehen. Der Datenspeicherdienst ist also ein unglaublich
leistungsfähiger Dienst, mit dem Sie
Spielerdaten in der Roblox Cloud speichern können. Das ist nicht
nur wirklich cool, es ermöglicht dir auch Dinge
zu tun wie,
naja, sagen wir, dein
Spieler hat
dein ABI tatsächlich gespielt , bevor er Stufe zwei
erreicht hat. Was nun passieren wird,
ist, dass, wenn sie das Spiel verlassen und wieder beitreten würden, sie
am Anfang wieder spawnen würden, oder? Sie haben also all ihren Fortschritt verloren , weil ihr Fortschritt
nicht gespeichert wurde. Aber mit dem
Datenspeicherdienst können wir den Fortschritt
zwar online
in und in einer Datei
speichern , irgendwo
in einem Tisch, und ihn dann abrufen, wenn
der Spieler beitritt
und wieder, und
genau das werden wir tun. Schauen wir uns also einfach
an, wie wir das machen können. Die Oberfläche selbst
ist also bei diesen
Servern, Webservern, eigentlich nicht so
kompliziert Wir werden einfach
ein neues Skript erstellen und das nennen
wir
das Load-Checkpoint-Skript. Und so wie
das funktioniert, wir zuallererst natürlich brauchen
wir zuallererst natürlich einen gewissen
Datenspeicherdienst. Es wird also einen lokalen
Datenspeicherdienst geben. Dies entspricht Game
Colon Get Service. Und wir wollen den
Datenspeicherdienst genau hier haben. Das ist unglaublich. Das ist
das Erste. Die zweite Sache ist, dass
wir ein bestimmtes Geschäft wollen. Die Idee ist also, dass
Sie
im Data Store-Dienst eine Reihe
verschiedener, sagen wir, Ablagen haben. Und in diesen Ablagen
speichern Sie alle Daten. Das wird also bewirken
, dass wir einen Lokal brauchen und wir werden das
einfach den
Checkpoint nennen, Checkpoint-Laden. Und das entspricht dem
Datenspeicherdienst-Dolon get Datastore. Und dann wollten wir das benennen. Das ist jetzt
unglaublich wichtig. Wir werden das
den Checkpoint Store nennen. Jedes Mal, wenn wir
auf den Shop zugreifen möchten, benötigen
wir diese bestimmte Zeichenfolge. Dies ist unser einzigartiger Schlüssel, um zu identifizieren, auf welchen Datenspeicher
wir zugreifen möchten. Und es ist unglaublich wichtig
, dass wir das richtig gemacht haben, aber wir haben einen
Datenspeicherdienst und wir haben den Checkpoint-Store
hier drüben ,
der alle Informationen speichert. Das nächste, was wir tun
wollen, ist, dass ich
dasselbe tun möchte , was in der Rangliste
gemacht wird. Und das ist die Idee des
Spielers, der hier hinzugefügt wurde. Also
holen wir uns einfach auch die Spieler. Das ist normalerweise eine
Sache, die du willst. Und dann
wollen wir das Ereignis, das vom Spieler hinzugefügt wurde, hierher
kopieren. Ich meine, wir können es auch
einfach abtippen, aber manchmal kannst du es einfach,
du kannst das einfach so kopieren, dass es gut ist. Und das wird
eine Funktion sein. Und die Funktion hier ist Checkpoint-Daten
abrufen, oder? Wir machen das und
fügen das hier in den
Connect ein. Also werden wir einen
Checkpoint mit Daten bekommen und wir können auch den Spieler dafür
bekommen. Natürlich, da hast du es. haben
wir den Spieler auch hier. Und das ist eigentlich
sehr wichtig, weil wir die Spieler-ID benötigen, oder? Wir brauchen also einen Schlüssel
, unter dem wir das alles speichern. Die Idee ist also, dass
wir einen Schlüssel herstellen werden. Das wird also
der Checkpoint-Schlüssel sein. Und das
entspricht normalerweise dem, was du tun
willst, ist Spielerpunkt, Spieler-ID, und es wird Punkt, Punkt und dann machen wir Strich. Und dann kannst du z.B. wieder Punkt Punkt
sagen. Und dann kannst du z.B. Checkpoint
sagen und das wird
es so machen, dass der Schlüssel für jeden Spieler
spezifisch ist , da die Spieler-ID
für jeden Spieler einzigartig ist, also sollte das überhaupt kein Problem
sein. Aber auch hier muss dieser Schlüssel
immer derselbe sein. Andernfalls werden Sie nicht in der
Lage sein,
die Daten abzurufen oder die Daten abzurufen. Das wird sehr interessant. Also
stellen wir jetzt fest, dass lokale Daten gleich Null sind, und dann machen wir es
wie folgt,
eine lokale Erfolgs- oder Fehlermeldung, die einem P-Aufruf
entspricht. Ich werde
das gleich erklären. Anstelle des P-Aufrufs
wird eine neue Funktion ausgeführt. Und das wird ein Data
Equal-Checkpoint-Store sein. Also jetzt gehen wir rein, gehen in den Laden, Doppelpunkt, werden asynchron. Also werden wir alle Daten, die da drin
sind, asynchron
abrufen . Wir werden also nicht
warten, bis das geladen wird. Wir sagen nur,
hol es dir, wann immer du kannst. Und wir werden die Daten für
den Checkpoint-Schlüssel für
den Spieler
erhalten Checkpoint-Schlüssel für , der uns
gerade beigetreten ist. Das ist die allgemeine Idee. Nun, nachdem das erledigt ist, richtig, das ist sehr wichtig. Wir wollen überprüfen, ob alles funktioniert hat oder
nicht. Also werden wir
sagen, wenn wir Erfolg haben, dann können wir
etwas zurückgeben oder wir können, wir können tun, was wir anders sagen
wollen, oder? Aber das würde bedeuten, dass
es nicht erfolgreich ist, dann
wollten wir eigentlich einen Fehler machen. Und wir wollen
einen Datenspeicherfehler sagen. Es muss nicht genau so
heißen, sondern nur für alle Fälle. Und dann wollen wir die
Fehlermeldung genau hier veröffentlichen, oder? Und wenn es gelingt,
können wir im Grunde weitermachen. Wir werden das jetzt einfach
anrufen. Fahren Sie mit dem
Ändern fort,
wechseln Sie das Geschäft , ändern Sie den Checkpoint, das
wird in wenigen Augenblicken erledigt. Aber die Idee hier ist
, dass wir
diesen Schlüssel hier lesen und
er sagt: Hey, einfach die
Funktion get async hier mit
diesem bestimmten Schlüssel ab, wodurch
wir im Grunde alles bekommen, was
unter diesem Schlüssel in
unserem Datenspeicher gespeichert ist . Der Grund, warum wir Peek Hole verwenden können
Sie tatsächlich sehen, führt die Provider-Funktion aus
und fängt alle Fehler ab. Die allgemeine Idee ist also
, dass wir aus diesem Grund Erfolg und
diesen Fehler hier
haben.
Der P-Code stellt im Grunde
nur sicher, dass, wenn beim Get ein Fehler
auftritt, Sie nicht richtig
mit dem Internet verbunden oder es einen Ausfall gibt oder die Server abstürzen oder
was auch immer
es sein mag, dies
unter der Fehlermeldung gesperrt wird. Und wenn alles
erfolgreich war und wir
unter dem Erfolg einfach einen wahren werden. Das ist Leary, alles was wir tun. Also vorerst. Ich wollte hier nur einen Erfolg
ausdrucken. Wenn das erfolgreich ist und ein weißer Pfeil genau
hier, falls nicht. Also lassen Sie uns das
einfach der Argumentation halber speichern. Lass uns das einfach innerhalb
des Spiels ausführen und du wirst sehen, was für eine interessante Sache
das passieren wird,
wenn wir das jetzt spielen, einfach so, du
kannst zuerst sehen, Spieler-ID nicht
einmal Mitglied
eines Spielerkontos ist dass die
Spieler-ID nicht
einmal Mitglied
eines Spielerkontos ist
und das ist in Ordnung weil sie eigentlich Benutzer-ID
heißt. Ich habe eine Schleife gemacht, habe ihren
Anführer gesehen, das sollte die Benutzer-ID sein. Das wollten wir verwenden. Und dann ist es die gleiche
Idee wie die Spieler-ID. Was ist, wenn wir das jetzt machen? Jetzt bekommen wir diesen Fehler mehr und wir haben
tatsächlich einen Erfolg. Das ist wirklich cool, oder? Also haben wir einige Daten
reingeladen. Das ist interessant. Die eigentliche Frage ist aber, was haben wir
reingeladen, oder? Also, wenn wir hier nur
Erfolgsdaten sagen, bekommen
wir etwas
Interessantes, oder? Also, welche Daten wurden tatsächlich vom Get Async
geladen? Nun, schauen wir uns das mal an. Und es wurde, weil du
siehst, dass es eine Null hat, oder? Also, weil
wir angesichts
der Daten hier drüben Mill geschrieben haben, ist
das nicht ganz richtig. Das ist nicht genau das
, was wir wollen. Wir wollen nicht, dass das gleich Null ist. Was wir also tun können, ist, dass wir n Daten
sagen können und im Grunde sagen, nun, es sollte etwas geschrieben werden, anstatt der Daten. Sonst sind wir nicht
wirklich erfolgreich. Als ob es kein Erfolg wäre. Wenn Daten gleich Null sind, ist
das nicht richtig, wir wollen, also lasst uns das
einfach machen, oder? Also nur wenn Erfolg
und Daten vorhanden sind, dann wollen wir erfolgreich
ausdrucken. Andernfalls wollen wir die Fehlermeldung
ausdrucken. Und wenn wir das jetzt
laden würden, können
Sie sehen, dass wir
immer noch eine Null bekommen, aber jetzt
bekommen wir tatsächlich den Knoten für die Fehlermeldung,
weil es lustigerweise keine
Fehlermeldung
gibt, oder? Okay, das ist also interessant. Wir wollen aufhören und wir wollen das ändern,
um etwas anderes,
wenn nicht sogar Erfolg zu haben, dann tun wir das und dann
gehen wir, jetzt haben wir das getan. Ich habe das extra
so gemacht, damit du die Logik
durchgehen kannst , warum du jeden einzelnen
Schritt
brauchst, oder? Sie wollen nicht
wirklich erfolgreich wenn die Daten gleich Null sind, oder? Das ist nicht richtig,
Das ist nicht richtig. Sie möchten
die Fehlermeldung nur ausgeben, wenn sie nicht erfolgreich ist,
denn dann wissen wir, okay, das ist alles in Ordnung. Wenn es also
etwas komplizierter wird, liegt
das jetzt in der Natur
der Zwischenschritte, weil wir viel
mehr Dinge verwenden und viel mehr Dinge
miteinander verbinden. Aber vorerst werden
wir es so belassen. Fahren Sie nun fort, den Checkpoint zu
ändern. Nun, wie würden wir das machen, oder? Der Checkpoint wird also genau hier
im Checkpoint-Skript erstellt. Und das ist
wirklich cool, weil das Checkpoint-Skript
genau hier einen Checkpoint
mit Daten erstellt ,
wie Sie sehen können. Jetzt können wir das buchstäblich einfach nehmen und es tatsächlich
ändern. Also können wir das einfach machen,
wir können das nehmen und wir werden einfach dasselbe
tun, oder? Wenn wir also erfolgreich etwas
einlesen, werden
wir
eine neue Instanz erstellen. In diesem Fall sind das,
das ist ein, das sind die
Checkpoint-Daten genau hier. Was wir also tun werden,
ist, genau das
Gleiche hier
zu tun. Also werde ich
den ganzen Weg gehen, oder? Also dieser hier. Was wir jetzt tun werden, ist das
einfach in
eine andere Funktion zu werfen , weil ich denke , dass
es ein bisschen besser ist, den Bildschirm zu behalten. Das wird das
Create Checkpoint System sein. Vielleicht ist System
hier
nicht das richtige Wort , aber das wird in Ordnung sein. Wir können
den Namen gleich ändern. Checkpoint-Daten.
Klar, das ist in Ordnung. Bewerten Sie die Checkpoint-Daten. Also werden wir das hier
nennen. Und die Idee ist
, dass dies nur einmal
aufgerufen wird , oder? Denn wenn die
Checkpoint-Daten bereits
von der ersten Person erstellt wurden , die dem Server
hinzugefügt wird. Wir wollen es nicht noch einmal
erstellen, aber wenn nicht, dann werden wir es
einfach erstellen. Und wenn das richtig ist,
nachdem wir das erstellt haben, wollen
wir jetzt
genau den Frühling machen, oder? Also wollen wir das ändern. Wir wollen das Kind
der Benutzer-ID genau hier haben. Und noch einmal, was
wir tatsächlich
tun können , ist, dass wir im Grunde alles bekommen können außer dem
Spieler,
der hier hinzugefügt wird. Das wollen wir nicht,
wir wollen nur das. Und dann wird
das eine weitere Funktion sein. Und diese Funktion
wird ein Get oder Create Checkpoint oder Player sein. Und das wird so
aussehen und dann füge hier einfach ein Ende hinzu. Und das ist sehr
wichtig. Da hast du es. Jetzt haben wir
die Checkpoint-Daten nicht. Das ist in Ordnung. Wir
können das weitergeben. Wir haben den Spieler nicht. Wir können, wir können den Spieler definitiv
weitergeben. Das wird
absolut kein Problem sein. Also, wenn wir das nennen würden, get oder create den langen
Namen, aber das ist in Ordnung. Also können wir den
Player hier drüben weitergeben. Da hast du es. Das ist in Ordnung. Und dann die
Checkpoint-Daten, die wir nicht weitergegeben haben. Lassen Sie uns also darüber nachdenken, wie
wir das im Grunde erreichen können. Wir könnten also eine sehr
interessante Sache machen und das könnte die
Rückkehr sein, oder? Also können wir die
Checkpoint-Daten hier zurückgeben. Und wir können hier zu den
Checkpoint-Daten zurückkehren. Und wir können lokale
Punktdaten erstellen, oder? Und dann können wir
das einfach weitergeben. Da hast du es. Und dann
sagen wir hier einfach Punktdaten. Das kann zum Beispiel ein
sehr einfacher Weg sein, dies zu tun. Vielleicht hast du nicht so
darüber nachgedacht, aber sie könnten das
natürlich, das wäre
völlig in Ordnung, oder? Entweder haben wir die
Checkpoint-Daten direkt hier erstellt, oder wir oder wir lesen sie
aus den Daten aus
dem Serverspeicher ein. Und wenn das der Fall ist,
geben wir das einfach zurück. Und weil es für diese Funktion benötigt wird
, können
wir es einfach hier übergeben
. Das ist alles, was dazu gehört. Das einzige
, was wir natürlich
auch tun müssen, ist sicherzustellen, dass der Checkpoint-Punktwert den der Checkpoint-Punktwert den
Daten
entspricht, die wir gerade gelesen haben. Das wird der
gespeicherte Checkpoint sein. Ich finde den Namen
gut. Das wird gut sein. Und wir setzen das einfach
auf
den Wert
des Store-Checkpoints. Und das werden wir auch gleich
hier weitergeben. Das werden Daten sein. In diesem Fall müssen wir nun
eigentlich nicht
überprüfen, ob eine Daten Null sind oder
nicht. Weil wir gesagt haben,
ob Erfolg und Daten sind, prüfen
wir bereits, ob Daten gleich Null sind
oder nicht, oder? Denn wenn N-Daten im Grunde bedeuten, dass es nicht Null ist, ist
das die allgemeine Idee. Dafür
bekommen wir also im Grunde alles, was wir
brauchen. In diesem Fall. Wenn wir also
etwas einlesen, erhalten
wir tatsächlich
die richtigen Daten über die Checkpoint-Server. Wenn wir Erfolg hatten und
Daten wahrscheinlich eingelesen wurden, bekommen
wir einen
Erfolg ausgedruckt. Nun, dann erstellen Sie die
neuen Checkpoint-Daten auf dem Serverspeicher. Dies sind die lokalen Serverspeicher. Das ist also der Server selbst, auf dem wir gerade
spielen, nicht derselbe Datenspeicher. Das sind zwei völlig
verschiedene Dinge. Jetzt haben sie einen sehr
ähnlichen Namen, oder? In diesem Fall
haben sie tatsächlich den gleichen Namen, oder? Wir haben die Daten,
Checkpoint-Daten hier, Check Point-Store genau hier. Und wir haben den Checkpoint mit den Daten hier aus dem Laden. Ich verstehe, dass es
einige
Abstraktionsebenen gibt
, die Sie berücksichtigen müssen. Gleichzeitig ist
der Datenspeicher
im Grunde wie ein, ein großes altes,
das ist das Archiv, das
irgendwo auf dem Server weit,
weit weg ist, von dem man nicht einmal
weiß, wo das ist, oder? Das ist das Archiv. Sie können auf das
Archiv zugreifen, indem den Dienst nutzen und
dann einen bestimmten Shop aufrufen. Das ist, als würde man sich einen
bestimmten Aktenschrank besorgen. Nehmen wir an, Sie nehmen
eine bestimmte Datei aus diesem Aktenschrank,
indem Sie die Benutzer-ID mit dem Checkpoint
hier überprüfen, das ist der Schlüssel. Und dann bekommst du diese Daten direkt bei
diesen Daten raus , z. B. wenn es drei sind, um der
Argumentation willen, wenn das drei sind, dann kreierst du auf
dem Server, den du gerade
spielst, all diesen Wahnsinn
genau hier
und dann sagst, okay,
unser Checkpoint-Wert, den der Spieler klein haben sollte, das sind drei, und
das ist so ziemlich das,
was wir sind hier machen. Aber eine große Sache, und das ist die Sache
, die nicht getan wird. Wir sparen nichts. Wir sind gerade dabei, wir lesen es
gerade ein, okay, also können wir auch etwas
lesen. Lassen Sie uns hier eine weitere
Funktion erstellen, und wir werden sie
die eingestellten Checkpoint-Daten nennen. Lass uns das wirklich machen. Da hast du wieder den
waldspezifischen Spieler, und das wird das Entfernen der
dunklen Ebene der Spieler sein. Dieses wird ausgelöst, wenn ein Spieler kurz
davor ist, das Spiel zu verlassen. Sehr wichtig, den Doppelpunkt
zu entfernen. Und das wird der Datensatz der Checkpoints genau hier sein. Und natürlich ohne die Klammern, los geht's. Also, wie legen wir die
Checkpoint-Daten fest? Nun, zunächst brauchen wir hier
den gleichen Punkt. Das ist also das,
was wir brauchen. Jetzt brauchen wir eigentlich schon den Namen des
Checkpoints. Nehmen wir an,
das ist Get oder Create, der Checkpoint für den Spieler. Nun,
das legt tatsächlich den Wert für uns fest, was nicht ganz das ist, was wir wollen. Was wir also einfach tun können, ist
diesen speziellen Teil hierher zu bringen . Also sollten wir das
zum eigentlichen Checkpoint machen. Jetzt haben wir
die Daten gerade nicht. Das ist in Ordnung. Wir können die
Checkpoint-Daten jetzt erstellen. Eigentlich
möchte ich sie umbenennen, um auch Checkpoint-Daten
abzurufen oder zu erstellen ,
weil das
viel genauer ist. Und das werden wir einfach hier
ändern. Und wieder können wir einfach die Checkpoint-Daten
abrufen. Auf diese Weise können wir einfach
sagen, Checkpoint-Daten abrufen oder erstellen, das erste Kind
der Benutzer-ID
finden Sie hier. Und jetzt haben wir den Checkpoint und der Wert wird lauten, das
werden die Daten sein, die gespeichert werden sollen. Der Wert des Checkpoints und das Ego. Wie speichern wir das jetzt? Während wir das
Gleiche tun, machen wir eine lokale
Erfolgsmeldung, die einem P-Aufruf entspricht, und erstellen hier eine neue Funktion. Und dann
sagen wir Check Point Store. Dies ist unser asynchroner
Datastore-Doppelpunkt. Wir geben
den Checkpoint-Schlüssel
und dann geben wir die Daten weiter. Und da hast du es. Und das sollte alles sein
, was wir brauchen. Nun solltest du natürlich
auch einen, wenn nicht sogar Erfolg haben. Dann wollen wir einen
Fehler ausgeben und sagen, Daten
können nicht richtig gespeichert werden und geben dann die
Fehlermeldung hier aus, nur damit wir das haben, es ist immer sehr wichtig, Ihre Fehler
zu sperren. Und jetzt, wenn ein
Spieler entfernt wird, richtig, wenn er
das Spiel verlässt, sollte
er theoretisch den Checkpoint speichern und wenn er dem Spiel wieder beitritt, sollte
er den Checkpoint
bekommen, der gespeichert wurde, richtig,
die Daten, die gespeichert wurden, und das sollte
so ziemlich alles sein, was wir hier brauchen. Nun, das könnte vorerst
ziemlich kompliziert
aussehen . Jetzt ist es so, oder? Wir haben quasi
mehrere Funktionen. Wir machen viele
verschiedene Dinge. Wir haben hier eine gewisse
Verzweigungslogik. Ich verstehe, dass
das im Grunde genommen ziemlich viel
ist , wenn man es
gleichzeitig aufnimmt. Deshalb sind dies die
Zwischenthemen. Es wird im Laufe der Zeit immer
komplizierter. Aber hoffentlich ist die
allgemeine Logik vernünftig. Also speichern wir das einfach und schauen wir mal,
ob alles funktioniert. Es könnte hier oder da einen
Pfeil geben, aber ich denke, dass
das insgesamt in Ordnung sein sollte. Und dann werde ich eine weitere Sache
erklären , die hier ziemlich wichtig ist. Also lasst uns einfach mitmachen. Theoretisch sollten wir bei Stufe Null
mitmachen,
alles sollte in Ordnung sein
und es sollten keine Fehler vorliegen, und das ist absolut erstaunlich. Also, wenn wir jetzt
genau hier weitermachen und hierher gehen würden, sind wir
jetzt in der ersten Phase. Wenn wir das jetzt vorerst beenden, speichern Sie die Daten. Jetzt
bekommen wir tatsächlich das und das
ist quasi das Speichern der Daten, die Instanz
kann nicht
im Datenspeicher gespeichert werden. Sie greifen darauf zurück, nur
gültige UTF-8-Zeichen zu akzeptieren. Okay, das ist in Ordnung. Die Frage hier
ist also, was ist der tatsächliche Wert, den
es zu sparen versucht? Das ist also die nächste Sache. Oh ja, das ist eigentlich, ich weiß, was das Problem ist. Wenn wir
hier
zur Logik des Checkpoint-Skripts zurückkehren, ist
der Wert in Checkpoint
hier natürlich hier
zur Logik des Checkpoint-Skripts zurückkehren, ist
der Wert in Checkpoint der Wert in Checkpoint nur die
Spawnorte. Wir wollen eigentlich den Wert der
Checkpoint-Nummer genau hier haben, weil
das nicht wirklich gespeichert wird. Wenn wir also Folgendes tun, wenn wir hier reingehen und den
Punkt-Checkpoint-Punktwert speichern, machen wir das
jetzt tatsächlich richtig. Und das Gleiche
gilt in die andere Richtung. Jetzt stoßen wir gerade
auf ein Problem. Sparen ist absolut kein Problem. Das Speichern können wir also tun, überhaupt
kein Problem, aber Laden ist jetzt
etwas schwieriger. Einfach deshalb, weil wir
gerade die
Nummer für den Checkpoint haben. Okay. Das ist in Ordnung. Aber wie kommt man an
diesen Checkpoint? Wie bekommt man den richtigen
Checkpoint für die Nummer? Was Sie jetzt tun können, ist, dass wir dieses sehr praktische
Dandy-Checkpoint-Nummerierungsskript hier
dieses sehr praktische
Dandy-Checkpoint-Nummerierungsskript haben, oder? Und dieser könnte
sich tatsächlich als viel nützlicher erweisen,
als Sie vielleicht denken, denn genau hier bringen
wir die Kinder aller Checkpoints mit
rein. Das sollte also eigentlich
alles sein, was wir wirklich brauchen. Ich denke über
die Idee nach, hier
einen Tisch zu machen , oder? Das wären also
unsere Checkpoints, was einer Tabelle entspricht
, die gerade leer ist. Und dann können Sie Checkpoints in der Tabelle mit
Punkten einfügen. Und dann
wird der Wert lauten, es wird
gezählt und der Wert wird der
Checkpoint selbst sein. Das wird also ein Jackpot sein. Ich glaube, der intelligenteste Weg,
dies zu tun, besteht darin,
hier in den
Server-Skriptdienst zu gehen und ein
Modulskript zu erstellen, oder? Wir werden einen neuen machen, das wird
unser Checkpoint-Tisch sein. Nehmen wir an, wir
werden das auch tatsächlich in
Checkpoints
umbenennen, oder? Ich biege hier nicht an den
Checkpoints ab. Und jetzt sollten wir in der Lage
sein , die Checkpoints
nicht richtig zu
nummerieren, wenn wir das verlangen können. Das wird also unser Tisch sein. Nennen wir diesen
Checkpoint Table Shore. Das ist erforderlich. Das wird die
Punkt-Checkpoint-Tabelle des
Gameserver-Skriptdienstes sein. Und die Checkpoint-Tabelle, wir sollten in der Lage sein, Folgendes zu
tun. Fügen Sie nun den Checkpoint der
Checkpoint-Tabelle gegen den Checkpoint ein. Also fügen wir jetzt
Dinge in die Tabelle ein, das ist das
Modulskript, oder? Und was wir tun können, speichern wir
uns das für einen Moment. Und innerhalb des
Lade-Checkpoints hier können wir das auch bekommen. Es gibt die lokalen
Peckpoints, die der Punkt-Checkpoint-Tabelle für den erforderlichen
Gameserver-Skriptdienst entsprechen . Und das
wären dann Checkpoints, Klammern, Store-Checkpoint. Da hast du es. Und ich glaube,
dass das wahrscheinlich
die sauberste Art ist , dies
tatsächlich zu tun. Also Erfolg eins ist
geladen, das ist in Ordnung. Lass uns nur der Argumentation
halber hier drüben sein und
lass uns das machen. Jetzt, wo wir einen geladen haben, hören
wir auf. Das ist ein Safe, das ist in Ordnung. Lass uns nochmal spielen und wir spawnen
immer noch am Anfang,
was sehr interessant ist. Wir
bekommen jedoch keine Fehler, was eigentlich ziemlich gut ist. Unerwartetes passiert. Möglicherweise müssen
wir das hier hinzugefügte
weiße Zeichen tatsächlich in
unser Ladeskript aufnehmen . Und ich würde das
gleich angeben, nachdem wir den Wert hier
festgelegt haben. Ich glaube, das wäre die Idee dahinter und
das sollte reichen, weil der hier
hinzugefügte Charakter
aufgerufen werden sollte , nachdem der
Spieler hinzugefügt wurde. Versuchen wir also einfach, dies
unter dem Wert hinzuzufügen , dass Sie den
Spawnort bereits geändert haben
, denn das ist das einzige, was
wir wirklich tun müssen, oder? Wir müssen nur Geld ausgeben, um den Laichort zu
ändern. Da haben wir es. Es funktioniert
sofort. Das ist absolut unglaublich. Du siehst also,
manchmal steckt hier
ein bisschen von dem
*****. Also, wenn du zu zwei gehst, kann
ich
davon springen und ich werde auf zwei
antworten, während
ich im Spiel bin, oder? Also werden wir in Phase zwei
antworten. Da hast du es. Und wenn ich das richtig beende, retten
wir die beiden jetzt wieder. Noch einmal, keine Fehler. Absolut fantastisch. Und wenn ich noch einmal spielen würde, würden wir
nicht nur Erfolge
sehen, sondern
auch sofort mit
der zweiten Phase beginnen. Absolut verdammt geil. Was
hier also sehr wichtig ist, ist, dass man manchmal
sieht, dass es Verbindungen
gibt. Es gibt viele
Verbindungen, die manchmal schwer zu entwirren
sind. Du kannst dir vorstellen, wie wir
das gemacht haben, oder? Wir hatten eine, wir haben jetzt eine Checkpoint-Tabelle
hier drüben als Modulskript. Und wir speichern die Checkpoints über das
Checkpoint-Nummerierungsskript hier. Und dann ist da noch das
Load-Checkpoint-Skript, das eine Menge Sachen
macht, oder? Also werde ich
versuchen, das in
etwa 2 Minuten zusammenzufassen , damit
es verständlich ist. Wir haben also einen
Datenspeicherdienst. Dies ist ein Archiv, und das Archiv speichert viele, viele verschiedene Aktenschränke. Nun der letzte Accomodant, den Sie sich
als Datenspeicher vorstellen
können. Der Datenspeicher ist
ein Aktenschrank. Dies kann viele
verschiedene Dateien enthalten. Sobald wir unseren Datastore haben, können
wir über einen Schlüssel auf bestimmte
Dateien zugreifen, oder? Damit wir diesen Schlüssel bekommen können. In unserem Fall
erstellen wir einen Schlüssel mit der Benutzer-ID und streichen dann einfach den Checkpoint hier drüben,
nur damit Sie den haben. Dann holen wir uns die Daten aus diesem speziellen Aktenschrank indem wir Checkpoints Stores, das ist der Datenspeicher, Doppelpunkt werden asynchron und dann den Schlüssel
übergeben, wenn das die spezifischen
Daten zurückgibt, die mit diesem Schlüssel gespeichert sind. In unserem Fall wird
das
die Nummer sein, die
unserem Checkpoint zugeordnet ist, oder? Also wird es entweder der erste Checkpoint
sein, zweite Checkpoint,
so weiter und so fort. Es ist wahr, oder? Und wenn wir diese Daten erfolgreich
abgerufen haben, erstellen wir
die Checkpoint-Daten und dann den Checkpoint für
den tatsächlichen Spieler. Nun, diese beiden
Funktionen hier sind
den Funktionen innerhalb
des eigentlichen Checkpoints sehr ähnlich . Wenn wir uns das
Checkpoint-Skript ansehen und dann zum
Checkpoint-Modul hier
kommen. Es wird dieses
hier sein, genau hier, wo im Grunde
nur
das gleiche Modell erstellt wird, oder? Und dann die Daten eines
Checkpoints aufrufen und den gleichen
Objektwert auch darin
rekrutieren. Und die Idee des Objektwerts ist, dass er den tatsächlichen Port speichert
, also den eigentlichen Checkpoint-Teil, den physischen Port
innerhalb des Spiels. Wenn wir also hier rein gehen, wird dieser spezielle Teil
als Checkpoint
gespeichert , an dem
der Spieler antworten sollte. Und das wollen wir
jetzt mit der Nummer bekommen. Jetzt geht es um die Nummer und den tatsächlichen Scheckbuchport oder um einen vollständig
voneinander getrennten Port. Sie haben eigentlich nichts miteinander
zu tun, was irgendwie ein Problem ist. Wir lösen
das so, während
wir die Checkpoints nummerieren, oder? Während wir
die Checkpoints nummerieren und ihnen den Wert int
hinzufügen, ihnen den Wert int
hinzufügen, wir sie auch zu einer
Tabelle hinzu, die die Anzahl enthält. Und wenn wir die
Anzahl haben, können wir den Checkpoint-Teil
bekommen. Und auf diese Weise können
wir dann die
Checkpoints genau hier benötigen, das
Checkpoint-Tabellen-Modulskript. Wir können Checkpoints benutzen, Checkpoint
speichern, um den
eigentlichen Teil davon hierher zu bekommen, richtig, das Spielobjekt,
das eigentliche Objekt. Und dann
sagen wir einfach, hey, sobald der Charakter hinzugefügt ist, dann ändere einfach den
Frame des Charakters, was im Grunde die
Position des Charakters
zum Checkpoint selbst und
für weiter oben ist . Also spawnen
wir im Grunde ein bisschen höher
als der Checkpoint und fallen auf ihn runter. Da sind wir. Wenn wir jetzt das Spiel beenden, wenn der Spieler entfernt
wird, nehmen
wir den gleichen Schlüssel, wir entsperren im Grunde
den Aktenschrank. ist wieder so, als würde man
den Aktenschrank entsperren, Es ist wieder so, als würde man
den Aktenschrank entsperren,
den Anfang der Datei abrufen und sagen, hey, jetzt setze diese Datei auf die Daten
, die ich hier angegeben habe. Und die Idee ist, dass
wir das neue Objekt bekommen, das Objekt, das
derzeit unser Checkpoint ist. Wir bekommen den Wert aus der Zahl da und
bam, los geht's. Wir werden die Nummer
daraus abrufen und sie dann noch einmal unter unserem Schlüssel speichern , noch ein wichtiger Hinweis hier. Jetzt sprechen wir
über das Speichern von Daten. Und es ist unglaublich
wichtig, dass Sie beim Speichern von
Daten
sehr vorsichtig sind beim Speichern von
Daten
sehr vorsichtig und dass Sie wahrscheinlich
die Safes und Checkpoints
und Fehler und all das hinzufügen . Denn wenn die Daten
aufgrund Ihrer Fahrlässigkeit verloren gehen, sind die Menschen möglicherweise nicht glücklich, insbesondere wenn
sicher ist , dass
Roboter beteiligt sind. Im Moment sind
keine Roboter beteiligt, also sollte es nicht so schlimm sein. Aber ich sage nur, sei vorsichtig und sei sehr
vorsichtig damit. Ich empfehle auch dringend , sich über den
Datenspeicherdienst die API-Referenzen
auf Roblox selbst zu informieren. Das ist eine sehr, sehr empfehlenswerte
Lektüre dafür. Aber davon abgesehen,
das
war's für diese Vorlesung hier. Ich hoffe, Sie fanden das nützlich und Sie werden etwas Neues
lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
45. (Roblox) Mehrere Orte in einem einzigen Spiel: Ordnung, willkommen zurück zum Zwischenbereich
des Robotik-Kurses. Und in diesem Vortrag werden wir
uns
ansehen, wie Sie einem Erlebnis
mehrere Orte hinzufügen können . Deshalb ist die allgemeine
Idee, dass wir, wenn wir zu unserem
Creator-Dashboard hier
zurückkehren , richtig, zu unseren Kreationen, unser Beispiel hier
haben. Nur als Beispiel, wir werden das
nur verwenden. Wir können auf diese besondere Erfahrung
dieser Schöpfung eingehen und verschiedene Orte hinzufügen. Wenn wir jetzt zu Orten gehen, können
wir hier buchstäblich einfach
einen neuen Ort hinzufügen. Es wird mir
ein paar Orte geben, die ich bereits veröffentlicht
habe. Sie können einige von ihnen sehen, die Sie hinzufügen
können, da es sich um
gespeicherte Orte handelt , und einige
von ihnen können Sie hinzufügen. Also, wie
gehen wir das im Grunde an? Nun, was Sie tun können,
ist in Roblox Studio. Also, wenn wir wieder
hierher gehen, was wir tun können,
ist zum Beispiel , dass wir einfach ein flaches Gelände
bekommen, also wird es ein
bisschen anders aussehen, damit sie nicht etwas anderes
zum
Herumspielen haben anderes
zum
Herumspielen als das Gras
hier in diesem Fall, wirst
du sagen, nun, okay, was machen wir damit? Also werden wir
das einfach speichern. Und was du tun kannst, ist, dass wir
entweder ein neues Spiel machen, wir können es als neues
Spiel speichern, wenn ich Strg S drücke, oder ich kann sagen, aktualisiere ein
bestehendes Spiel und ich kann hier reingehen und sagen,
füge es als neues Platzieren hinzu. Also werde ich das sagen,
ich werde kreieren. Jetzt wird der Name
wortwörtlich ein Spiel ohne Titel sein, aber das ist alles in Ordnung,
denn das können wir alle in ein bisschen ändern. Das ist kein Grund zur Sorge. Jetzt können wir zu
unserem Dashboard zurückkehren, wenn ich
das tatsächlich neu lade. Bitte sehen Sie sich die Zimmerleute an, Nummer zehn. Nun, das ist natürlich
kein guter Name. Was wir tun werden, ist
, einfach
auf die Schaltfläche In Studio bearbeiten zu klicken auf die Schaltfläche In Studio bearbeiten und
Roblox Studio sollte dann erneut geöffnet werden. Nun, eine Theorie, das sollte ein anderes Beispiel sein. Sie sollten
eigentlich nicht kollidieren. Du kannst sehen, dass wir den Ort
laden und das ist der eigentliche Ort, das RB-Erlebnis oder
die RB-Kreation, oder? Jetzt können Sie also sehen, dass es Count Minerals
Plays Number Ten
heißt. Nun, das ist nicht ganz der
Name, an den ich gedacht hatte. Wir können also zu den
Spieleinstellungen gehen und du kannst sehen, dass wir das unter den
Orten auch tatsächlich
ändern können . Sie können also sehen, dass es verschiedene
Spieler gibt, auch Spieler. Und hier können wir das Spiel
konfigurieren. Also nehmen wir an, wir sind auch erst 16, und
das wird das Gras
grüner sein . Da hast du es. Und Sie können sehen, dass
es auch eine Reihe
verschiedener Dinge gibt, die
Sie tun können. Wir werden das einfach speichern.
Und wenn wir das dann speichern, hat sich
nichts geändert,
okay, das ist in Ordnung. Aber wir können
das dann veröffentlichen und es wird
tatsächlich veröffentlicht, oder? Sie können also sehen, dass wir
die Änderungen veröffentlichen, aber jetzt, wenn wir zu
den Korrelationen hier
zu unserem Beispiel zurückkehren , wenn wir das neu laden, können Sie sehen, dass der tatsächliche
Name Gras ist grüner und wir ändern auch einige dieser Dinge
genau hier, genau jetzt. Natürlich passiert
hier im Moment nichts, weil hier nichts hinzugefügt wurde, aber es ist ein anderer Ort
innerhalb desselben Spiels. Wie immer, eine Sache, die
Sie beachten sollten, lesen Sie, dass Sie mehrere Orte
innerhalb eines Tores
haben können . nächsten Vorlesung werden wir
sehen, wie Sie die beiden
verschiedenen Orte
unterscheiden können . Ansonsten hoffe ich, dass
Sie das
nützlich fanden und etwas
Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
46. (Roblox) Teleport zwischen verschiedenen Orten: Ordnung, willkommen zurück
zum Zwischenabschnitt für den robusten Kurs. Und in diesem Vortrag werden
wir sehen, wie wir uns mithilfe
des Teleportdienstes
von einem Ort zum anderen Ende
teleportieren können des Teleportdienstes
von einem Ort zum anderen Ende . Also werde
ich dafür einfach
meinen Kreis hierher
kopieren , damit wir im Grunde
etwas haben, mit dem wir weitermachen können. Und wenn du diesen Kreis erreichst, teleportieren
wir uns an den Ort, wir im Grunde
zu unserer Erfahrung hinzugefügt haben, zu unserem RB hier beim letzten Mal, das ist in der letzten Lektion passiert, das wird der
Teleportkreis sein und wir werden hier auf das kleine Plus
klicken und ein Skript hinzufügen. Und das Drehbuch wird das Teleport-Skript
sein. Und das wird
uns teleportieren. Für die Teleportation
benötigen wir den Teleport-Service. Das entspricht
Game Colon Get Service. Das ist natürlich der
Weg, um einen Dienst zu bekommen, und das ist der
Teleport-Service. Wir wollen auch die Spieler haben, das
werden nur Gamer sein. Und dann wollen wir einen Teleporter. Die Teleporter sind also das
eigentliche Spielobjekt, oder? In diesem Fall kreisen sie. Das wird also der Befehl für
den Zähler sein und das wird dem übergeordneten Punkt des Skripts entsprechen
. Und dann wollen wir die Orts-ID. Das ist also das
Wichtigste, oder? Die Orts-ID ist eine eindeutige
ID für Ihren Ort. Und du solltest in der
Lage sein, das zu bekommen indem du hier hingehst, oder? Das ist also unser Ort
, zu dem wir gehen wollen. Und du kannst sehen, nun,
wie kriegen wir das hin? Nun, geh einfach hier rein. Sie können
den Namen auch hier ändern, die Beschreibung hier sind Genres, all das, und das ist in Ordnung. Wir brauchten jedoch die
Orts-ID. Wie kriegen wir das hin? Nun, Sie können sich die
URL hier ansehen und Sie können sehen, dass dies die Erfahrung ist
und dies der richtige Ort ist. Das wäre also unsere Orts-ID. Wir werden das einfach kopieren
und dann werden wir hier
wieder auf
Straßensperren stoßen. Und du wirst sehen, dass wir daraus einfach eine machen
können, wir wollen das eigentlich nicht
zu einer Zeichenfolge machen. Wir wollen das zu einer Zahl machen , die eigentlich ziemlich wichtig ist. Und dann machen wir hier
einfach
eine lokale Funktion,
beide auf Part Touch. Also werden wir in diesem Fall, dem
anderen Teil,
ein Touch-Event machen und das
wird reichen, das wird uns zunächst zu dem Charakter bringen. Das ist nur ein anderer Teil von Dot
Parent, das ist unser Charakter. Und dann sagen wir
einfach, dass der Spieler dem Doppelpunkt des Spielers
entspricht , holen Spieler von Charakter ab und geben den
Charakter hier weiter. Und wenn es dann einen Spieler gibt, sagen wir Teleportdienst Doppelpunkt Teleport. Wenn Sie sich hier zur
Orts-ID teleportieren, können
Sie sehen, dass dies die
Orts-ID ist und wir
teleportieren natürlich den Spieler, der jetzt Spieler ist, der jetzt Spieler ist,
aber der einzelne Spieler, der
gerade diesen
bestimmten Teil berührt hat . Und wir
sagen, Polen teleportieren oder mit einem
Punkt berühren und verbinden. Und dann fügen
wir einfach den
berührten Teil ohne die Klammern hinzu. Und das wird
das Teleport-Skript sein. Also speichern wir das. Und das ist so ziemlich alles, was
wir in diesem Fall tun müssen. Aber wenn wir jetzt spielen, sollte ich
eigentlich in
Phase zwei spawnen , denn das
war das letzte Mal, naja, das letzte Mal, was gespeichert wurde,
und du kannst sehen, dass ich in Phase zwei
bin, also das ist das Coole
an der Sparquote. Dadurch werden auch
nach mehreren Tagen alle verschiedenen Daten gespeichert. Das ist jetzt das
Tolle, natürlich muss ich das Level hier
besiegen,
aber ich denke, hier wird es mir gut gehen
. Da hast du es. Und eine Stunde in Phase fünf. Und wenn ich das jetzt berühre, sollte
ich teleportiert werden. Also lass uns sehen. Also bekommen wir genau hier eine
Fehlermeldung. Das ist völlig in Ordnung, und Sie können sehen, dass die Teleportation fehlschlägt weil Sie in Roblox Studio nicht
teleportieren können. Das ist die erste sehr
interessante Sache, über die man nachdenken sollte, aber das ist kein Problem,
denn was wir tun können,
ist, dass wir
das einfach beenden und dann
können wir
das einfach auf Roblox veröffentlichen . Die Preise werden
das vorerst veröffentlichen. Alle unsere Änderungen werden auf Roblox
veröffentlicht. Und wenn Sie jetzt zu
unseren Kreationen hier zurückkehren, können
wir zur
Erfahrung zurückkehren, zum RB genau hier. Und wir
sagen einfach Aussicht auf Straßensperren. Und der Modus
wird
das jetzt abspielen , Roblox wird es öffnen. Dies ist nicht mehr Roblox
Studio, sondern Straßensperren. Sie müssen
es auch in Roblox testen. Das ist also eine sehr
wichtige Sache , die Sie beachten sollten, oder? Wenn ja, je
komplexer Ihr Spiel ist, desto mehr müssen
Sie
im Grunde
auch tun, anstatt Straßensperren zu bauen. Und außerhalb von Roblox Studio meine
ich, das macht natürlich Sinn, oder? Du willst, du
willst
dein Spiel auch kontinuierlich auf
Bugs und solche Dinge testen . Was Sie also sehen können, ich bin
immer noch in Phase fünf, weil, naja, ich bin immer noch in Phase
fünf, das ist wirklich cool. Und wenn ich jetzt hier reingehe, bupp, okay, es wird
einen Moment dauern. Und du kannst sehen, dass
Gras grüner ist. Bam. Es hat eine Weile gedauert. Das Laden dauert
manchmal
eine Weile. Aber da haben wir es. Wir sind jetzt an einem anderen Ort. Natürlich ist hier
nichts drin, aber das ist einfach
großartig, weil
man auf diese Weise im Grunde mehrere
verschiedene Orte
miteinander verbinden kann . Sie können mehrere
verschiedene Ebenen oder mehrere
verschiedene Instanzen erstellen. Es gibt so viele Möglichkeiten,
dies zu verwenden, aber Sie können mehrere Abbys erstellen , die
miteinander verbunden sind. Du kannst machen, ich meine, es gibt
jede Menge Dinge, die du damit
machen kannst damit
machen indem du mehrere
verschiedene Orte hinzufügst. Es ist wirklich cool. Und das ist im Grunde
die Idee eines Teleports an verschiedene Orte
innerhalb Ihrer Erfahrung. Sehr cool. In der Tat, das wird es für diese
Vorlesung hier sein. Ich hoffe, Sie fanden das nützlich und
Sie werden etwas Neues lernen und wir sehen uns alle
in der nächsten Vorlesung. Also, ja.
47. (Roblox) Wohin soll es von hier aus gehen: Ordnung, willkommen zurück
zum Zwischenabschnitt hier, weiterer Roblox-Kurs. Und in dieser Vorlesung werden
wir nur darüber sprechen, wohin wir als Nächstes gehen sollen, da dies im Grunde
die letzte Vorlesung
hier in diesem Kurs ist . Und die Idee ist, was, wo willst du als Nächstes hin? Also eine bestimmte Sache die ich einfach nicht genug
empfehlen kann, und ich habe hier bereits
über die Roblox
Engine-API-Referenzen
gesprochen hier bereits
über die Roblox
Engine-API-Referenzen ,
die alle Klassen enthalten, richtig ,
als Referenz haben Sie
alle Datentypen. Im Grunde ist hier alles
drin, was Sie vielleicht haben möchten. Es gibt auch einige Anleitungen
, die sehr nützlich sein können. Dies wird Ihnen
im Grunde helfen eine noch bessere
Grundlage zu schaffen, als Sie es
bereits haben, nachdem alle
Vorlesungen zuvor gelesen haben. Darüber hinaus ist
eine wichtige Sache natürlich, dass Sie dadurch
am meisten lernen werden. Also. Das bedeutet im Grunde, dass Sie
einfach immer wieder
verschiedene Dinge ausprobieren. Oder ich möchte das hinzufügen, ich
möchte es so machen, dass der Spieler in den
Himmel geschossen wird. Und dann passiert XYZ, indem
Sie
kontinuierliche Schritte nach vorne machen. In Zukunft werden Sie
noch mehr lernen können. Ich möchte auch einen Kurs für
Fortgeschrittene bis Fortgeschrittene machen. Dies ist jedoch noch nicht
verfügbar, sobald dies der Fall ist. Sie werden natürlich benachrichtigt, und Requisiten an Sie diese Ausdauer
durchhalten, ist dass Sie
diese Ausdauer
durchhalten, ist
das Beste, was Sie
haben können , wenn Sie so
etwas lernen. Denn am Ende kann das Skripting und
Programmieren von
Roblox an sich Skripting und
Programmieren von
Roblox an sich ziemlich
herausfordernd und ziemlich
kompliziert sein , aber
du schaffst es. Ich bin also sehr stolz auf
dich und freue mich darauf
zu sehen, welches Roadblocks-Spiel
du dir
einfallen lassen wirst. Abgesehen davon
danke ich zu sehen, welches Roadblocks-Spiel du dir
einfallen lassen wirst. Abgesehen davon dir vielmals fürs Zuschauen. Nochmals, wenn dies für Sie nützlich
wäre, würde
ich mich über
eine Bewertung von Ihnen sehr freuen. Ansonsten sehe ich dich
hoffentlich
im nächsten Kurs. Also ja.