In Erlebnissen gibt es oft viele Ursache-Wirkung-Beziehungen. Zum Beispiel:
- Wenn ein Spieler 10 Punkte erzielt, gewinnt er das Spiel.
- Wenn ein Spieler ein Power-Up hat, kann er super schnell laufen.
- Wenn ein Spieler "Herzlichen Glückwunsch" im Chat sagt, regnet es Konfetti.
Skripte verwenden bedingte Anweisungen, um mit diesen Arten von Situationen umzugehen. Bedingte Anweisungen sind Codezeilen, die nur ausgeführt werden, wenn bestimmte Bedingungen wahr sind. Eine Art von bedingter Anweisung ist eine if/then-Anweisung. In Luau sieht das Syntaxmuster für if-Anweisungen so aus:
if then syntaxif "etwas passiert" then-- Lass etwas anderes passierenend
Codeblöcke, die Bedingungen verwenden, sind Steuerstrukturen. Steuerstrukturen sind wie Flussdiagramme in Codeform und können mehrere bedingte Anweisungen enthalten.
Übung zur if-Anweisung
Diese Schritte zeigen, wie man ein Skript erstellt, das die Farbe eines Teils ändert, wenn eine Aussage wahr ist.
Erstellen Sie im ServerScriptService ein neues Skript und benennen Sie es TruthChecker. Fügen Sie einen geeigneten Kommentar zum Skript hinzu.
-- Ändert den Teil, wenn eine Bedingung wahr istErstellen Sie ein neues Teil mit dem Namen LieDetector.
Formatieren von if-Anweisungen
Bedingungen können in verschiedenen Formen auftreten, sind aber oft einfache Aussagen wie mathematische Gleichungen. Zum Beispiel, wenn 1+1 gleich 2 ist, dann führe etwas Code aus. Wie gewöhnliche mathematische Gleichungen können Bedingungen Operatoren wie Plus (+) oder kleiner als (<) verwenden, um Aussagen zu bewerten.
Ein bestimmter Operator, auf den man achten sollte, ist ==; er steht für "ist gleich". Die Aussage 2 + 2 == 4 kann als "zwei plus zwei ist gleich vier" gelesen werden. Seien Sie sehr vorsichtig, nicht mit =, das neuen Werten Objekten wie Variablen zuweist, zu verwechseln.
Richten Sie die leere Bedingung ein. Geben Sie im Skript if then ein und drücken Sie Enter, um die Bedingung automatisch zu vervollständigen. Das Schlüsselwort then wird unterstrichen, weil der Code unvollständig ist.
if then-- leerer CodeendNach dem Schlüsselwort if geben Sie eine wahre Aussage ein, wie z.B. 3 + 3 == 6.
if 3 + 3 == 6 then-- leerer CodeendVerweisen Sie innerhalb der Bedingung auf den Teil, den Sie LieDetector genannt haben, und ändern Sie die Color-Eigenschaft des Teils auf grün.
if 3 + 3 == 6 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTesten Sie Ihren Code. Wenn drei plus drei gleich sechs ist, färbt sich der Teil grün.
Überprüfen einer falschen Bedingung
Jetzt ändern Sie absichtlich die Aussage, um zu sehen, was passiert, wenn die mathematische Gleichung falsch ist.
Ändern Sie in der if-Anweisung die Gleichung in etwas Unkorrektes, wie 3 + 3 >= 10.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTesten Sie Ihren Code jetzt. Der Teil sollte sich nicht für eine falsche Aussage grün färben.
Mathematische Operatoren
Die folgende Tabelle listet einige gängige Luau-Operatoren auf. Weitere Informationen zu Operatoren finden Sie unter Luau-Operatoren.
| Symbol | Bedeutung |
|---|---|
| + | Addition |
| - | Subtraktion |
| * | Multiplikation |
| / | Division |
Vergleichsoperatoren
- == : Ist gleich.
- ~= : Ist nicht gleich.
- < oder > werden für kleiner oder größer als verwendet.
- <= oder >= werden für kleiner/größer gleich verwendet.
Variablen und Eigenschaften
Bedingte Anweisungen werden auch verwendet, um den Status von Eigenschaften und Variablen zu bewerten. Die folgenden Schritte überprüfen, ob einer Variablen erfolgreich ein Wert zugewiesen wurde.
Löschen Sie den gesamten Code und fügen Sie den folgenden Codeausschnitt in das Skript ein. Testen Sie es, und ein neuer Fehler erscheint in der Ausgabe.
local mysteryPart = workspace.MysteryPart-- Wird als wahr bewertet, wenn MysteryPart erfolgreich zugewiesen wurdeif mysteryPart thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endFügen Sie ein neues Teil in den Arbeitsbereich mit dem Namen MysteryPart ein. Testen Sie erneut, und LieDetector sollte grün werden.
Untersuchen Sie, wie Eigenschaften mit Bedingungen bewertet werden können. Behalten Sie MysteryPart bei, aber löschen Sie erneut Ihren Code und kopieren Sie den Codeblock unten.
local mysteryPart = workspace.MysteryPart-- Bewertet als wahr, wenn MysteryPart vollständig undurchsichtig istif mysteryPart.Transparency == 0 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)mysteryPart.Transparency = .2endTesten Sie den Code, und wenn MysteryPart die standardmäßige Transparenz von 0 hat, wird es geisterhaft, während LieDetector grün wird.
Zusammenfassung
Bedingte Anweisungen überprüfen, ob eine Aussage korrekt ist, und führen in diesem Fall etwas Code aus. If-Anweisungen sind eine sehr häufige Art von bedingten Anweisungen. Sie verwenden das Muster "Wenn dies wahr ist, dann mache das."
Codeblöcke, die bedingte Anweisungen verwenden, werden als Steuerstrukturen bezeichnet. Steuerstrukturen können mehrere bedingte Anweisungen enthalten.
Zusätzlich zur Bewertung, ob einfache mathematische Aussagen faktisch sind, werden Bedingungen auch verwendet, um den Status von Variablen und Eigenschaften zu überprüfen.