Viele Dinge in der Informatik oder Spieleentwicklung wiederholen sich oft. Beispielsweise könnte eine App alle paar Sekunden Inhalte in einem Feed aktualisieren oder ein Spiel könnte Spieler jeden Tag belohnen, an dem sie eingeloggt sind. Um dieses Verhalten zu erreichen, verwenden Programmierer oft Schleifen.
In der Informatik ist eine Schleife ein Programmiermuster, das eine Gruppe von Anweisungen wiederholt, oft bis eine bestimmte Bedingung erfüllt ist. Um dies zu üben, wirst du einen Teil programmieren, der die Farben endlos ändert. In späteren Lektionen wird gezeigt, wie man das Schleifen stoppt.
Richten Sie den Teil und das Skript ein
Verwenden Sie ein beliebiges Roblox-Projekt für diese Übung. Wenn Sie fertig sind, kann dieser Teil als eine Möglichkeit verwendet werden, eine Umgebung zu dekorieren.
Erstellen Sie einen neuen Teil mit einem beschreibenden Namen. Diese Lektion verwendet LoopingPart.
Fügen Sie in ServerScriptService ein neues Skript mit dem Namen LoopingScript hinzu.
Löschen Sie im Skript Hello World und schreiben Sie einen Kommentar, der den Zweck dieses Skripts angibt.
-- Ändert die Farbe von LoopingPart alle paar Sekunden
Verwenden von Variablen zur Speicherung eines Teils
Variablen können auch Verweise auf Objekte neben Strings halten. Beispielsweise kann ein Skript, wenn es den Verweis auf einen Teil kennt, diesen ändern.
Anstatt workspace.NameOfYourPart immer wieder zu tippen, kann die gesamte Zeile in einer lokalen Variablen gespeichert werden. Lokale Variablen werden erstellt, indem Sie local und dann den Namen der Variablen eingeben.
Zum Beispiel: local nameOfVariable.
Erstellen Sie unter dem Kommentar eine lokale Variable, indem Sie local loopingPart eingeben.
-- Ändert die Farbe von LoopingPart alle paar Sekundenlocal loopingPartSetzen Sie die Variable auf den Schleifenteil, indem Sie = workspace.LoopingPart in derselben Zeile eingeben. Denken Sie daran, dass der = Operator den Wert einer Variablen auf das setzt, was sich rechts davon befindet.
-- Ändert die Farbe von LoopingPart alle paar Sekundenlocal loopingPart = workspace.LoopingPart
While-Schleifen
Bevor Sie die While-Schleife für den farbwechselnden Teil erstellen, ist es sinnvoll, ihre Syntax zu erklären. Eine While-Schleife besteht aus drei Komponenten:
- Dem Schlüsselwort while.
- Einer Bedingung, die immer nach dem Schlüsselwort kommt.
- Anweisungen, zwischen den Schlüsselwörtern do und end.
In Schleifen können Bedingungen eine Vielzahl von logischen Aussagen sein. Einige Beispiele könnten sein, wenn zwei Zahlen gleich sind. Eine Schleife wird ausgeführt, wenn ihre Bedingung wahr ist.
Beachten Sie im folgenden Beispiel, dass die Bedingung wahr ist, was bedeutet, dass diese Schleife für immer läuft. In späteren Lektionen werden Sie spezifische Bedingungen codieren, die stoppen.
while true doprint("Diese Schleife läuft")end
Programmieren Sie eine While-Schleife
Als Nächstes richten Sie die While-Schleife für den farbwechselnden Teil ein.
Geben Sie in der nächsten Zeile while true do ein. Drücken Sie dann Enter, um den Befehl zu vervollständigen und das Wort end hinzuzufügen.
-- Ändert die Farbe von loopingPart alle paar Sekundenlocal loopingPart = workspace.LoopingPart-- Schleifencodewhile true doend
Fügen Sie Code in die Schleife ein
Sobald die While-Schleife erstellt ist, können Anweisungen hinzugefügt werden, um die Farbe des Teils im Laufe der Zeit zu ändern. Fügen Sie innerhalb der Schleife eine Zeile Code für jede Farbe hinzu. Jede Farbe verwendet RGB-Werte, eine Methode zur Speicherung von Farben als Zahlen in der Informatik.
Setzen Sie zwischen while true do und end die Eigenschaft Color des Teils auf Color3.fromRGB().
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endDie Farbe kann in Studio mit einem Farbauswahlwerkzeug festgelegt werden. Klicken Sie dazu links in die (), die neben fromRGB stehen. Klicken Sie dann auf das Farbkreis-Symbol. Sobald Sie eine gewünschte Farbe haben, drücken Sie OK, um den Farbwert automatisch in den Code einzufügen.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Lassen Sie das Skript warten
Wenn Sie jetzt eine zweite Zeile mit Code zur Farbänderung hinzufügen, würde die Farbe des Ziegels so schnell wechseln, dass Sie die erste Farbe möglicherweise nicht einmal wahrnehmen könnten. Um das Skript vor dem Ausführen der nächsten Zeile warten zu lassen, verwenden Sie eine task.wait()-Funktion.
Geben Sie in der Zeile nach der Farbänderung des Ziegels task.wait(3) ein. Die Zahl innerhalb der () gibt an, wie viele Sekunden das Skript warten wird.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endFügen Sie unter der Warteschleifenfunktion denselben Prozess zum Hinzufügen einer neuen Farbe hinzu. Beenden Sie es mit einer zusätzlichen Warteschleifenfunktion.
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 nach, ob die Farben wechseln.
Fehlerbehebungshinweise
An diesem Punkt, wenn der farbwechselnde Teil nicht wie gewünscht funktioniert, versuchen Sie eine der folgenden Lösungen.
Problem: Farben werden übersprungen
- Stellen Sie sicher, dass Sie zwischen jeder Farbänderung eine Warteschleifenfunktion, insbesondere in der letzten Zeile, haben.
- Überprüfen Sie, ob der gesamte Farbwechsel- und Warteschleifen-Code zwischen den Abschnitten while true do und end liegt.
Problem: Teil bleibt grau oder ändert die Farbe nicht wie gewünscht
- Stellen Sie sicher, dass alle RGB-Werte Zahlen von 0 bis 255 sind, ganz oder dezimal und durch Kommas getrennt.
- Die Zahlen in den () einer Warteschleifenfunktion sollten größer als 1 sein. Es ist möglich, dass Sie diese Farbe aufgrund einer zu kurzen Wartezeit nicht sehen.
Vollständiges Skript für farbwechselnden Teil
-- Erstellen Sie eine Variable zur Speicherung des Teilslocal loopingPart = workspace.LoopingPart-- Schleifencodewhile true do-- Ändert die Farbe von loopingPartloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Warten Sie 3 Sekunden vor der nächsten Anweisungtask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Zusammenfassung
Schleifen sind ein häufiges Element in den meisten Programmiersprachen. Sie werden verwendet, um Anweisungen zu wiederholen, manchmal bis spezifische Bedingungen erfüllt sind. In diesem Artikel wird die While-Schleife verwendet, um Anweisungen für immer zu wiederholen. Um eine While-Schleife zu erstellen, die für immer wiederholt, verwenden Sie die folgende Syntax und stellen Sie sicher, dass Sie Anweisungen zwischen den Schlüsselwörtern do und end einfügen.
while true do-- Anweisungenend