Świecące światła z pętlami for

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Aby ćwiczyć pętle for, stworzysz lampę, która stopniowo jaśnieje, a następnie przygasa w czasie. Ten skrypt można następnie zastosować do innych świateł w projekcie, niezależnie od tego, czy jest to latarnia, czy świecący kryształ.

Ustaw część i skrypt

Lampa będzie częścią z dołączonym światłem i skryptem.

  1. Aby ułatwić widoczność światła, zmień świat 3D na noc. W ExplorerLighting zmień ClockTime na 0.

    obraz
  2. Stwórz nową część lub model nazwany Lampa.

  3. Wybierz Lampę i dodaj światło, takie jak PointLight lub SpotLight. Będziesz pracować z właściwością jasności światła, aby stworzyć świecącą lampę.

  4. W Lampie dodaj nowy skrypt o nazwie GlowScript. W tym skrypcie utwórz zmienne do przechowywania części lampy i światła punktowego.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Następnie utwórz zmienną, aby przechować, o ile zmieni się jasność światła za każdym razem, gdy pętla zostanie uruchomiona. Następnie dodaj inną zmienną dotycząca tego, jak wiele sekund pętle będą czekały przed kolejnym uruchomieniem.


    -- Jak bardzo zmieni się jasność światła za każdym razem
    local brightnessChange = 1
    -- Jak często w sekundach światło zmieni jasność
    local timeChange = 1

Spraw, aby lampa świeciła

Lampa będzie używać dwóch pętli for, jedna, która liczy w górę, aby zwiększyć jasność lampy, i jedna, która liczy w dół, aby ją przygasić. Każda pętla for będzie miała zmienną kontrolną o nazwie currentBrightness. Dzięki temu, gdy zmienna kontrolna pętli for rośnie i maleje, również jasność światła będzie się zmieniać.

Pierwsza pętla (zwiększenie światła)

Pamiętaj, że pętla for zaczyna się od słowa kluczowego for, po którym następuje zmienna kontrolna. Ten skrypt ustawi wartość jasności światła na wartość w zmiennej kontrolnej.

  1. Zapisz pętlę for używając poniższych wartości. Pamiętaj, aby oddzielić zmienną kontrolną i wartości końcowe przecinkiem.

    • Zmienna kontrolna: currentBrightness
    • Wartość początkowa: 0
    • Wartość końcowa: 5
    • Wartość inkrementacji: brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. W obrębie pętli for, ustaw właściwość jasności światła na wartość w zmiennej kontrolnej, wpisując light.Brightness = currentBrightness. Teraz, gdy pętla zostanie uruchomiona, światło stanie się jaśniejsze.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Aby zmiana nie działo się jednocześnie, dodaj funkcję wait używając wartości w timeChange.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Uruchom doświadczenie, aby zobaczyć, jak światło zwiększa jasność co sekundę.

Jeśli nie możesz zobaczyć zmiany jasności w czasie w pierwszej pętli:

  • Upewnij się, że light.Brightness = currentBrightness znajduje się pomiędzy do i end w Twojej pętli for.
  • Sprawdź, czy timeChange jest co najmniej 1 lub wyższe. Mniejsze liczby sprawią, że zmiana jasności będzie szybsza, ale trudniejsza do zauważenia w czasie.
  • Upewnij się, że pierwsza linia Twojej pętli for ma łącznie dwa przecinki oddzielające zmienną kontrolną, wartość końcową i wartość inkrementacji.

Druga pętla (zmniejszenie światła)

Aby przygasić światło, użyj drugiej pętli for. Wartości tej pętli będą odwrócone, aby światło zaczynało jasno, a z każdą sekundą stawało się ciemniejsze.

  1. Zapisz drugą pętlę for, która zmniejsza jasność w czasie. Rozwiązanie znajduje się w poniższym bloku kodu. Użyj poniższych wartości:

    • Zmienna kontrolna - currentBrightness ustawiona na 5, koniec ostatniej pętli.
    • Koniec - 0, wyłączając światło.
    • Inkrement - odejmij brightnessChange.

    -- Druga pętla przygasa lampę
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Uruchom swoje doświadczenie; powinieneś zobaczyć, jak światło jaśnieje, a następnie przygasa.

Spraw, aby światło powtarzało się

Obecnie światło tylko raz się włącza i wyłącza. Aby lampa ciągle świeciła i gasła, pętle for zostaną umieszczone w powtarzającej się pętli while.

  1. Pod pętlami for, stwórz nową pętlę while.


    while true do
    end
  2. Umieść obie pętle for wewnątrz pętli while. Wciśnij pętle for, aby łatwiej je rozróżnić od pętli while.


    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. Uruchom doświadczenie, aby zobaczyć, jak światło ciągle jaśnieje i przygasa.

Gotowy skrypt światła

Zakończona wersja skryptu może być referencjonowana poniżej.


-- Przechowuje światło dołączone do tej lampy
lightPart = script.Parent
light = lightPart.SpotLight
-- Jak bardzo zmieni się jasność światła za każdym razem
local brightnessChange = 1
-- Jak często w sekundach światło zmieni jasność
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Druga pętla, aby wyłączyć światło
for count = 5, 0, -brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
end

Podsumowanie

Aby stworzyć złożone efekty w projekcie, skrypty mogą używać wielu pętli, a nawet kombinacji różnych typów pętli. Aby zakodować świecące światło, dwie pętle są zagnieżdżone w pętli while. Gdy programiści dodają więcej pętli, należy upewnić się, że wcięcia są poprawne, aby kod był łatwy do przeczytania.

©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.