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.
Aby ułatwić zobaczenie światła, zmień świat gry na noc . W Explorer > Lighting > zmień ClockTime na 0.
Utwórz nową część lub model nazywający się Lamp.
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ę.
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.Parentlocal light = lightPart.SpotLightNastę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 razemlocal 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.
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 = 1for currentBrightness = 0, 5, brightnessChange doendW 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 dolight.Brightness = currentBrightnessendWięc zmiana nie następuje wszystko naraz, dodaj funkcję czekania używając wartości w timeChange .
for currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endZacznij 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.
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ęciafor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endZacznij 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.
Podczas for pętli, utwórz nową pętlę.
while true doendUmieść obie dla pętli w czasie pętli. Skrypty pętli można łatwo rozdzielić od czasu pętli.
while true dofor currentBrightness = 0, 5, brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endfor currentBrightness = 5, 0, -brightnessChange dolight.Brightness = currentBrightnesstask.wait(timeChange)endendZagraj 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.Parentlight = lightPart.SpotLight-- Ile zmieni się jasność światła za każdym razemlocal brightnessChange = 1-- Jak często w sekundach światło będzie zmieniać jasnośćlocal timeChange = 0.2while true dofor count = 0, 5, brightnessChange dolight.Brightness = counttask.wait(timeChange)end-- Drugi pętel włączania światłafor count = 5, 0, -brightnessChange dolight.Brightness = counttask.wait(timeChange)endend
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.