In Spielen gibt es oft viele Ursache-Wirkungs-Beziehungen. Zum Beispiel:
- Wenn ein Spieler 10 Punkte erzielt, gewinnt er das Spiel.
- Wenn ein Spieler ein Power-Up hat, kann er super schnell rennen.
- Wenn ein Spieler "Alles Gute zum Geburtstag" 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 "etwas passiert" then
-- Lass etwas anderes passieren
endCodeabschnitte, die Bedingungen verwenden, sind Kontrollstrukturen. Kontrollstrukturen sind wie Flussdiagramme in Codeform und können mehrere bedingte Anweisungen enthalten.
Übung mit if-Anweisungen
Diese Schritte zeigen, wie man ein Skript erstellt, das die Farbe eines Teils ändert, wenn eine Anweisung wahr ist.
Erstellen Sie in ServerScriptService ein neues Skript und benennen Sie es TruthChecker. Fügen Sie einen geeigneten Kommentar zum Skript hinzu.
-- Ändert das 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". Daher kann die Aussage 2 + 2 == 4 als "zwei plus zwei ist gleich vier" gelesen werden. Seien Sie sehr vorsichtig, es nicht mit = zu verwechseln, das neuen Werten Objekten wie Variablen zuweist.
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, da der Code unvollständig ist.
if then-- leerer CodeendGeben Sie nach dem Schlüsselwort if eine wahre Aussage ein, wie 3 + 3 == 6.
if 3 + 3 == 6 then-- leerer CodeendVerweisen Sie innerhalb der Bedingung auf das Teil, das Sie LieDetector genannt haben, und ändern Sie die Color-Eigenschaft des Teils in 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, wird das Teil grün.
Überprüfen einer falschen Bedingung
Ändern Sie nun absichtlich die Aussage, um zu sehen, was passiert, wenn die mathematische Gleichung falsch ist.
Ändern Sie in der if-Anweisung die Gleichung in etwas Ungenaues, wie 3 + 3 >= 10.
if 3 + 3 >= 10 thenworkspace.LieDetector.Color = Color3.fromRGB(0, 255, 0)endTesten Sie jetzt Ihren Code. Das Teil sollte sich für eine falsche Aussage nicht grün färben.
Mathematische Operatoren
Die folgende Tabelle listet einige gängige Luau-Operatoren auf. Weitere Informationen zu Operatoren finden Sie unter Luau Operators.
| 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 als oder 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 kopieren Sie den folgenden Codeabschnitt in das Skript. Testen Sie es, und ein neuer Fehler erscheint in der Ausgabe.
local mysteryPart = workspace.MysteryPart-- Bewertet als wahr, 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.
Erkunden Sie, wie Eigenschaften mit Bedingungen bewertet werden können. Behalten Sie MysteryPart, löschen Sie jedoch erneut Ihren Code und kopieren Sie den folgenden Codeabschnitt.
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 Standardtransparenz von 0 hat, wird es geisterhaft, während LieDetector grün wird.
Zusammenfassung
Bedingte Anweisungen überprüfen, ob eine Aussage genau ist, und führen, falls ja, einen Code aus. If-Anweisungen sind eine sehr häufige Art von bedingter Anweisung. Sie verwenden das Muster "Wenn dies wahr ist, dann tue das."
Codeabschnitte, die bedingte Anweisungen verwenden, werden als Kontrollstrukturen bezeichnet. Kontrollstrukturen können mehrere bedingte Anweisungen enthalten.
Neben der Bewertung, ob einfache mathematische Aussagen wahr sind, werden Bedingungen auch verwendet, um den Status von Variablen und Eigenschaften zu überprüfen.