Leuchtende Lichter mit Loop

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Um Loop-Übungen zu üben, wirst du eine Lampe erstellen, die langsam heller wird und dann über Zeit dunkler wird. Dieses Skript kann dann auf alle anderen Lichter in einem Projekt angewendet werden, egal ob es sich um eine Straßenlaterne oder einen glühenden Kristall handelt.

Teil und Skript einrichten

Die Lampe wird ein Teil mit einem beigefügten Licht und Skript, das. PL: die Skriptssein.

  1. Um es einfacher zu sehen, ändern Sie die Spielwelt in Nacht . In der Explorer > Beleuchtung > ändern Sie ClockTime auf 0.

    image
  2. Erstellen Sie ein neues Teil oder Modell namens Lamp.

  3. Wählen Sie Lamp und fügen Sie ein Licht hinzu, wie z. B. ein PointLight oder SpotLight. Sie arbeiten mit der Helligkeits属性 des Lichts, um eine glühende Lampe zu erstellen.

  4. In Lamp fügen Sie ein neues Skript hinzu, das GlowScript heißt. In diesem Skript, das. PL: die Skriptserstellen Sie Variablen, um die Lampe und das Spotlicht zu speichern.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Danach erstellen Sie eine Variable, um zu halten, wie viel die Helligkeit des Lichts jedes Mal ändern wird, wenn der Loop läuft. Dann fügen Sie eine weitere Variable hinzu, wie viele Sekunden die Loops warten, bevor sie erneut ausgeführt werden.


    -- Wie hell die Beleuchtung jedes Mal heller wird
    local brightnessChange = 1
    -- Wie oft in Sekunden die Beleuchtung die Helligkeit ändern wird
    local timeChange = 1

Lampen-Glow erstellen

Die Lampe verwendet zwei für Schleifen , eine, die die Lampe heller macht, und eine, die sie dunkler macht. Jede für Schleife wird eine Kontroll variablen namens currentBrightness haben. Auf diese Weise, wenn die Schleife kontroll variablen steigt und fällt, so wird die Helligkeit des Lichts.

Erster Loop (Licht Erhöhung)

Denken Sie daran, dass ein for-Loop mit der Schlüsselwörter-for beginnt, gefolgt von einer Kontroll variablen. Dieses Skript wird den Helligkeitswert des Lichts in der Kontroll variablen einstellen.

  1. Code the for loop using the following values. Remember to separate the Control Variable und Endwerte with a Comma.

    • Variable Steuerelemente : currentBrightness
    • Startwert : 0
    • Endwert : 5
    • Increment Value : brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. In der Loop-Anpassung, setzen Sie die Helligkeits属性 des Lichts auf den Wert in der Steuervariable durch Schreiben von light.Brightness = currentBrightness. Wenn die Loop-Anpassung ausgeführt wird, wird das Licht heller.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. So geschieht die Änderung nicht allzu schnell, füge eine Wartefunktion hinzu, die den Wert in timeChange verwendet.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Führen Sie das Spiel aus, um die Helligkeitssteigerung in der Sekunde zu sehen.

Wenn Sie die Helligkeitsänderung im Laufe der Zeit nicht sehen können:

  • Stellen Sie sicher, dass light.Brightness = currentBrightness zwischen dem Do- und End-Ihrer For-Schleife ist.
  • Stellen Sie sicher, dass timeChange mindestens 1 oder höher ist. Smaller Nummern werden die Helligkeitsänderung schneller, aber schwieriger zu sehen im Laufe der Zeit.
  • Stellen Sie sicher, dass die erste Zeile Ihres For Loop zwei Gesamtkommas hat, die die Kontroll variablen, Endwert und Inkrementwert trennen.

Zweiter Loop (Leichte Reduzierung)

Um das Licht zu dimmen, verwenden Sie eine Sekunde für Loop. Die Werte dieses Loops werden umgekehrt, so dass das Licht hell und jede Sekunde heller wird.

  1. Code eine Sekunde für Loop, der die Helligkeit im Laufe der Zeit reduziert. Die Lösung ist in der Code-Box unten. Verwenden Sie die folgenden Werte:

    • Variable Steuerung - currentBrightness auf 5 gesetzt, das Ende des letzten Loops.
    • Ende - 0, das Licht auszuschalten.
    • Increment - subtrahieren Sie brightnessChange.

    -- Zweiter Loop-Dim-Lampe
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Führen Sie Ihr Spiel aus; Sie sollten das Licht hell sehen und dann schwach.

Das Licht wiederholen

Derzeit schaltet sich die Beleuchtung nur einmal ein und aus. Um die Lampe kontinuierlich zu hellen und zu dunkeln, werden die Loop-Fürschaltungen in einem wiederholten Muster platziert.

  1. Unter den for Loops erstellen Sie einen neuen while Loop.


    while true do
    end
  2. Platziere beide für Loop-Schleife in einer while-Schleife. Platzieren Sie die Loop-Schleife, um sie vom while-Schleife leichter zu trennen zu können.


    while true do
    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
    end
  3. Führen Sie das Spiel aus, um das Licht hell und dunkel zu sehen.

Fertiges Licht-Skript

Eine fertige Version des Skripts kann unten verwendet werden.


-- Speichert das Licht, das an dieser Lampe angehängt ist
lightPart = script.Parent
light = lightPart.SpotLight
-- Wie hell die Beleuchtung jedes Mal heller wird
local brightnessChange = 1
-- Wie oft in Sekunden die Beleuchtung die Helligkeit ändern wird
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Zweiter Loop, um das Licht auszuschalten
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

Zusammenfassung

Um komplexe Effekte in einem Projekt zu erstellen, können Skripte mehrere Loop verwenden und sogar Kombinationen verschiedener Loop-Typen. Um ein leuchtendes Licht zu erstellen, sind zwei Loop in einem While-Loop verschachtelt. Wenn Coders mehr Loop hinzufügen, stellen Sie sicher, dass die Codebibliothek so positioniert ist, dass sie leicht zu gelesenist.