Światła błyszczące z pętlami

*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ć dla pętli, stworzysz lampę, która stopniowo świeci się coraz jaśniej, a następnie zaniknie wraz z upływem czasu. Ten skrypt można zastosować do dowolnych innych świateł w projekcie, czy to światło uliczne lub kryształ świecący.

Ustawienie części i skryptu

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

  1. Aby ułatwić zobaczenie światła, zmień świat gry na noc . W Explorer > Lighting > zmień ClockTime na 0.

    image
  2. Utwórz nową część lub model nazywający się Lamp.

  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 Lamp, dodaj nowy skrypt nazyający się GlowScript. W tym skrypcie twórz zmienne, aby przechować część lampy i punkt światła.


    local lightPart = script.Parent
    local light = lightPart.SpotLight
  5. Następnie utwórz zmienne, aby utrzymać, ile będzie jasności światła za każdym razem, gdy bieżący będzie się wykonuje. Następnie dodaj inną zmienne, aby określić, ile sekund będzie czekać przed ponownym wykonaniem.


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

Tworzenie lampy świecącej

Lampa używa dwóch dla pętli , jedna z liczby, aby uczynić lampę jaśniejszą, a jedna z liczby, aby ją zaciemnić. Każda dla pętli będzie miała zmiennej kontrolnej nazyającą się currentBrightness. W ten sposób, gdy zmiennej zmiennej kontrolnej w górę i w dół, tak jak jaśność światła.

Pierwszy pętel (Zwiększenie światła)

Pamiętaj, że for pętli zaczyna się od słowa kluczowego for i następnie przez zmienne kontrolne. Ten skrypt ustawi wartość jasności światła na wartość w zmiennej kontrolnej.

  1. Zakoduj pętlię używając poniższych wartości. Pamiętaj o oddzieleniu zmiennej kontrolnej i końcowej z punktem przecinkiem.

    • Zmienne sterowanie : currentBrightness
    • Wartość początkowa : 0
    • Wartość końcowa : 5
    • Wartość przysuwana : brightnessChange

    local timeChange = 1
    for currentBrightness = 0, 5, brightnessChange do
    end
  2. W zakresie for pętli ustaw właściwość jasności światła na wartość w zmiennej kontrolnej poprzez wpisanie light.Brightness = currentBrightness . Teraz, gdy pętla będzie się wykonuje, światło stanie się jaśniejsze.


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    end
  3. Więc zmiana nie następuje wszystko naraz, dodaj funkcję czekania używając wartości w timeChange .


    for currentBrightness = 0, 5, brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  4. Zacznij grę, aby zobaczyć zwiększenie jasności światła co sekundę.

Jeśli nie możesz zobaczyć zmiany jasności w ciągu czasu w pierwszym pętli:

  • Upewnij się, że light.Brightness = currentBrightness jest pomiędzy do i końcem twojego for pętli.
  • Sprawdź, że timeChange ma co najmniej 1 lub wyższy. Mniejsze liczby będą sprawiać, że zmiana jasności będzie szybsza, ale trudniej zobaczyć w ciągu czasu.
  • Upewnij się, że pierwsza linia twojego for loop ma dwa całkowite kropki oddzielające zmienne kontrolne, wartość końcowa i wartość incrementu.

Drugi pętel (Zmniejszenie światła)

Aby zmniejszyć światło, użyj sekundy na pętli. Werte w tej pętli zostaną odwrócone, aby światło zaczęło się jasne i każdej sekundy, aby światło stało się mniejsze.

  1. Zapisz drugi kod, aby zwiększyć jasność w ciągu czasu. Rozwiązanie jest w poniższym polu kodu. Użyj następujących wartości:

    • Zmienne sterowanie - currentBrightness ustawiony na 5, końcowy pętli.
    • Koniec - 0, wyłączając światło.
    • Zwiększenie - odejmij brightnessChange .

    -- Druga lampa zaniknięcia
    for currentBrightness = 5, 0, -brightnessChange do
    light.Brightness = currentBrightness
    task.wait(timeChange)
    end
  2. Zacznij swój gra; powinieneś zobaczyć, jak światło się świeci i potem gasi.

Powtarzanie światła

Obecnie światło jest włączane i wyłączane tylko raz. Aby lampy świeciły wyłączone, będą umieszczone we wnętrzu powtarzającym się w pętli.

  1. Podczas for pętli, utwórz nową pętlę.


    while true do
    end
  2. Umieść obie dla pętli w czasie pętli. Skrypty pętli można łatwo rozdzielić od czasu pętli.


    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. Zagraj w grę, aby zobaczyć światło się świecić i gasnąć nieustannie.

Ukończony Light Script

Ukończona wersja skryptu może być odniesiona poniżej.


-- Przechowuje światło związane z tą lampą
lightPart = script.Parent
light = lightPart.SpotLight
-- Ile zmieni się jasność światła za każdym razem
local brightnessChange = 1
-- Jak często w sekundach światło będzie zmieniać jasność
local timeChange = 0.2
while true do
for count = 0, 5, brightnessChange do
light.Brightness = count
task.wait(timeChange)
end
-- Drugi pętel włączania światła
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 i nawet kombinacji różnych rodzajów pętli. Aby zaimplementować świecący światło, dwa pętli są połączone w pętli czasu. Gdy kodery dodają więcej pętli, upewnij się, że pętli zapisu są łatwo przeczytane.