Viele Dinge in der Computerwissenschaft oder der Spielentwicklung wiederholen sich oft. Zum Instanzkann eine App Inhalte in einem Feed jede paar Sekunden aktualisieren, oder ein Spiel kann Spieler täglich mit einem Preis belohnen, den sie einloggen. Um dieses Verhalten zu verwenden, verwenden Coder oft Schleifen .
In der Computerwissenschaft ist ein Loop ein Codierungs패턴, das ein Set von Anweisungen wiederholt, oft bis ein bestimmter Zustand erfüllt ist. Um dies zu praktizieren, kodierst du ein Teil, das die Farben unbestimmt ändert. In späteren Lektionen zeigen wir dir, wie du das Loop stoppen kannst.
Teil und Skript einrichten
Verwenden Sie ein beliebiges Roblox-Projekt für diese Übung. Wenn Sie fertig sind, kann dieses Teil als Möglichkeit zum Dekorieren einer Umgebung verwendet werden.
Erstellen Sie ein neues Teil mit einem beschreibenden Namen. Diese Lektion verwendet LoopingPart .
In ServerScriptService fügen Sie ein neues Skript namens LoopingScript hinzu.
In dem Skript, das. PL: die Skriptslöschen Sie Hello World und schreiben Sie einen Kommentar , der den Zweck dieses Skript, das. PL: die Skriptsankündigt.
-- Changes the color of LoopingPart every few seconds
Verwendung von Variablen, um ein Teil zu speichern
Variable können auch Verweise auf Objekte enthalten, außer Strings. Zum Beispiel kann ein Skript den Verweis auf ein Teil ändern, wenn es den Verweis auf ein Teil kennt.
Statt workspace.NameOfYourPart über und über zu tippen, kann die gesamte Zeile in einer lokalen Variable gespeichert werden. Lokale Variablen werden durch das Eintippen von local und dann dem Namen der Variable erstellt.
Zum Beispiel: local nameOfVariable .
Unter dem Kommentar postenerstellen Sie eine lokale Variable, indem Sie local loopingPart eingeben.
-- Ändert die Farbe von LoopingPart alle paar Sekundenlocal loopingPartSetzen Sie die Variable auf die zugeordnete Schiene, indem Sie = workspace.LoopingPart auf derselben Zeile eingeben. Denken Sie daran, dass der Operator = den Wert einer Variable auf die rechte Seite setzt.
-- Ändert die Farbe von LoopingPart alle paar Sekundenlocal loopingPart = workspace.LoopingPart
Während Loops
Bevor Sie den while-Loop für das Färben des Teils erstellen, ist es sinnvoll, seine Syntax zu erklären. Ein while-Loop hat drei Komponenten:
- Das while-Schlüsselwort.
- Eine Bedingung, immer nach dem Schlüsselwort.
- Anweisungen zwischen den do und end-Kennwörtern.
In Loop-Ausdrücken können Bedingungen eine Vielzahl von logischen Aussagen sein. Einige Beispiele könnten sein, wenn zwei Zahlen dasselbe sind. Ein Loop wird ausgeführt, wenn seine Bedingung wahr ist.
Beachten Sie in der folgenden Ansammlung, dass die Bedingung wahr ist, was bedeutet, dass dieser Loop für immer ausgeführt wird. In späteren Lektionen werden Sie spezifische Bedingungen kodieren, die aufhören.
while true doprint("This loop is running")end
Codierung eines While Loop
Danach wird die while-Schleife für das Farbändernde Teil eingerichtet.
Auf der nächsten Zeile tippe while true do. Dann drücke Enter, um das Wort end automatisch abzuschließen und hinzuzufügen.
-- Ändert die Farbe von LoopingPart alle paar Sekundenlocal loopingPart = workspace.LoopingPart-- Looping-Codewhile true doend
Code in der Schleife hinzufügen
Mit dem While-Loop, der erstellt wurde, können Anweisungen hinzugefügt werden, um die Farbe der Teil im Laufe der Zeit zu ändern. In dem Loop fügen Sie eine Zeile von Code für jede Farbe hinzu. Jede Farbe verwendet RGB-werte, einen Weg, Farben als Zahlen in der Computerwissenschaft zu speichern.
Zwischen while true do und end setzen Sie die Farbeigenschaft des Teils auf Color3.fromRGB().
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endDie Farbe kann mit einem Farbwähler in Studio festgelegt werden. Um dies zu tun, klicken Sie mit der linken Maustaste in das () neben fromRGB . Dann klicken Sie auf das Farbwrad-Symbol. Sobald Sie die gewünschte Farbe haben, klicken Sie auf die Schaltfläche "OK", um den Farbwert automatisch im Codeshinzuzufügen.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Das Skript warten lassen
Wenn Sie jetzt eine zweite Zeile mit Farbänderungscode hinzufügen, würde sich die Farbe des Bausteinso schnell ändern, dass Sie vielleicht nicht einmal die erste Farbe sehen. Um das Skript vor dem Ausführen der nächsten Zeile des Codes zu warten, verwenden Sie eine task.wait() -Funktion.
Nach dem Ändern der Ziegelsteinfarbe tippen Sie auf der Linie nach dem Ändern der Ziegelsteinfarbe task.wait(3). Wie viele Sekunden der Skript warten, ist abhängig von der Anzahl, die in die () platziert wird.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endUnter der Warteschlange-Funktion wiederholen Sie den gleichen Prozess, der beim Hinzufügen einer neuen Farbe verwendet wird. Beenden Sie ihn mit einer zusätzlichen Warteschlange-Funktion.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endTesten Sie den Code und sehen Sie, ob die Farben ändern.
Fehlerbehebung Notizen An dieser Stelle, wenn die Faritätsänderung nicht wie erwartet funktioniert, versuchen Sie einen der folgenden Optionen. Problem : Farben werden übersprungen
Stellen Sie sicher, dass Sie eine Wartefunktion zwischen jedem Farbwechsel haben, insbesondere in der letzten Zeile.
Überprüfen Sie, dass alle Änderungen an der Farbe und die Wartecode zwischen den while true do und end Abschnitten sind. Problem : Das Teil ist immer noch grau oder ändert die Farbe nicht wie gewünscht
Stellen Sie sicher, dass alle RGB-Werte Zahlen von 0 bis 255, ganze oder Zeichen, und durch Kommas getrennt sind.
Die Zahlen innerhalb der () einer Wartefunktion sollten größer als 1 sein. Es ist möglich, dass, wenn eine Warte zu kurz ist, diese Farbe nicht angezeigt wird.
Fertige Farb-Looping-Teil-Skript
-- Erstellen Sie eine Variable, um das Teil zu speichernlocal loopingPart = workspace.LoopingPart-- Looping-Codewhile true do-- Ändert die Farbe von loopingPartloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Warte 3 Sekunden vor der nächsten Anweisungtask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Zusammenfassung
Looping ist ein häufiges Element in den meisten Computer-Sprachen. Sie werden verwendet, um Anweisungen wiederholt zu wiederholen, manchmal bis bestimmte Bedingungen erfüllt sind. In diesem Artikel wird die while-Schleife verwendet, um Anweisungen für immer wiederzuholen. Um einen while-Loop zu erstellen, der für immer wiederholt wird, verwenden Sie die Syntax unten, sorgfältig zu stellen, dass Anweisungen zwischen den do und end-Schlüssel
while true do-- Anweisungenend