Powtarzanie kodu z while loopami

*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.

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.

  1. Utwórz nową część z opisującym imieniem. Ta lekcja używa LoopingPart .

  2. W ServerScriptService dodaj nowy skrypt nazyający się LoopingScript.

  3. 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 .

  1. Pod komentowaćutwórz lokalną zmienne, wpisując local loopingPart .


    -- Zmienia kolor LoopingPart co kilka sekund
    local loopingPart
  2. Ustaw 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 sekund
    local 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 do
print("This loop is running")
end

Kodowanie pętli while

Następnie ustawisz pętę pożyteczną dla części zmieniającej kolor.

  1. 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 sekund
    local loopingPart = workspace.LoopingPart
    -- Kod pętania
    while true do
    end

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.

  1. Pomiędzy while true do i end, ustaw kolor części na Color3.fromRGB() .


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB()
    end
  2. Ustawienie 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.LoopingPart
    while true do
    loopingPart.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().

  1. Po zmianie koloru klocka, wpisz task.wait(3). Liczba umieszczona w () jest liczbą sekund, jaką czeka skrypt.


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    end
  2. Pod funkcją czekania powtarzaj ten sam proces dodawania nowego koloru. Zakończ go dodatkową funkcją czekania.


    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    loopingPart.Color = Color3.fromRGB(177, 52, 255)
    task.wait(3)
    end
  3. Sprawdź 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ętania
while true do
-- Zmienia kolor pętli części
loopingPart.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
-- Instrukcje
end