Wiele rzeczy w nauce o komputerach lub rozwoju gier często się powtarza. Na instancjaaplikacja może aktualizować treści w każdym kilku sekundach, lub gra może nagradzać graczy nagrodą każdego dnia, w którym się zalogują. Aby osiągnąć ten efekt, kodowanie często używa pętli .
W nauce komputerowej pętla jest wzorem kodowania, który powtarza zestaw instrukcji, często do czasu spełnienia określonego warunku. Aby praktykować to, zapiszesz część, która zmienia kolory niezależnie. Późniejsze lekcje pokażą, jak zatrzymać pętanie.
Ustawienie części i skryptu
Użyj dowolnego projektu Roblox dla tego ćwiczenia. Po zakończeniu można tę część używać jako sposób na ozdobę środowisko.
Utwórz nową część z opisującym imieniem. Ta lekcja używa LoopingPart .
W ServerScriptService dodaj nowy skrypt nazyający się LoopingScript.
W skrypcie usuń Hello World i napisz komentarz z określeniem celu tego skryptu.
-- Changes the color of LoopingPart every few seconds
Używanie zmiennej, aby przechować część
Zmienne mogą również zawierać odniesienia do obiektów poza ciągami. Na przykład, gdy skrypt zna odniesienie do części, skrypt może go zmienić.
Zamiast wpisywać workspace.NameOfYourPart over and over, całą linię można zapisać w lokalnej zmiennej. Lokalne zmienne są tworzone przez wpisanie local i następnie nazwę zmiennej.
Na przykład: local nameOfVariable .
Pod komentowaćutwórz lokalną zmienne, wpisując local loopingPart .
-- Zmienia kolor LoopingPart co kilka sekundlocal loopingPartUstaw zmienne na część powtarzającą się poprzez wpisanie = workspace.LoopingPart na tej samej linii. Pamiętaj, że operator = ustawia wartość zmiennej zmiennej na wartość prawą.
-- Zmienia kolor LoopingPart co kilka sekundlocal loopingPart = workspace.LoopingPart
Podczas gdy Loops
Zanim stworzysz pętę dla części zmieniającej się kolorem, warto wyjaśnić jej strukturę. Pętla while ma trzy komponenty:
- Konwerter while
- Kondycja, zawsze po słowie kluczowym.
- Instrukcje, pomiędzy do i end słowami kluczowymi.
W pętliach może być wiele różnych stwierdzeń logicznych. Niektóre przykłady mogą być, jeśli dwa liczby są tych samych. Pętla będzie działać, jeśli jego warunek jest prawdziwy.
Zauważ w poniższym przykładzie, że kondycja jest prawdziwa, co oznacza, że ten pętel będzie się wykonuje wiecznie. W późniejszych lekcjach będziesz kodować określone kondycje, które się zatrzymują.
while true doprint("This loop is running")end
Kodowanie pętli while
Następnie ustawisz pętę pożyteczną dla części zmieniającej kolor.
W następnej linii wpisz while true do . Następnie naciśnij Enter , aby autoryzować i dodać słowo end .
-- Zmienia kolor pętli co kilka sekundlocal loopingPart = workspace.LoopingPart-- Kod pętaniawhile true doend
Dodawanie kodu do pętli
Z utworzonym pętlem czasowym można dodać instrukcje, aby zmienić kolor części w czasie. W pętlu dodaj linę kodu dla każdego koloru. Każdy kolor będzie używał wartości RGB, sposób przechowywania kolorów jako liczb w nauce komputerowej.
Pomiędzy while true do i end, ustaw kolor części na Color3.fromRGB() .
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endUstawienie koloru można wykonać używając wybierarki kolorów w Studio. Aby to zrobić, kliknij lewy przycisk w () koło fromRGB . Następnie kliknij na ikonakoła kolorów. Gdy masz pożądany kolor, kliknij OK, aby automatycznie dodać wartość koloru w kodzie.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Zmniejszanie czasu oczekiwania na skrypt
Jeśli dodasz drugą linię zmieniającą kolor kodu w tej chwili, zmieni kolor cegły tak szybko, że nawet nie zobaczysz pierwszy kolor do końca. Aby uczynić skrypt czekającym przed uruchomieniem następnej linii kodu, użyj funkcji task.wait().
Po zmianie koloru klocka, wpisz task.wait(3). Liczba umieszczona w () jest liczbą sekund, jaką czeka skrypt.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endPod funkcją czekania powtarzaj ten sam proces dodawania nowego koloru. Zakończ go dodatkową funkcją czekania.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endSprawdź kod i zobacz, czy kolory się zmieniły.
Notatki o rozwiązywaniu problemów W tym momencie, jeśli część zmieniająca kolor nie działa tak, jak powinna, spróbuj jednej z poniższych opcji. Wyпуść : Kolory są pomijane
Upewnij się, że masz funkcję czekania pomiędzy każdym zmianą koloru, szczególnie na ostatniej linii.
Sprawdź, czy wszystkie zmiany koloru i kod czekania są pomiędzy sekcjami while true do i end. Problem : część nadal jest szara lub nie zmienia koloru, jak zaplanowany
Upewnij się, że wszystkie wartości RGB mają liczby od 0 do 255, są całkowite lub dziesięciocątki i są oddzielane przez przecinki.
Liczby w () funkcji oczekiwania powinny być większe niż 1. Możliwe jest, że jeśli oczekiwanie jest zbyt krótkie, nie zobaczysz tego koloru.
Ukończ skrypt części kolorowej
-- Utwórz zmienne, aby przechować częśćlocal loopingPart = workspace.LoopingPart-- Kod pętaniawhile true do-- Zmienia kolor pętli częściloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Poczekaj 3 sekundy przed następną instrukcjątask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Podsumowanie
Pętle są powszechnym elementem w większości języków komputerowych. Są one używane do powtarzania instrukcji, czasami do końca spełnionych warunków. W tym artykule pętla while jest używana do powtarzania instrukcji na zawsze. Aby stworzyć pętło while, które powtarza na zawsze, użyj poniższej sintaksy, z pewnością upewnij się, że instrukcje znajdują się
while true do-- Instrukcjeend