Powtarzanie kodu za pomocą pętli while

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

W informatyce lub tworzeniu gier wiele rzeczy często się powtarza. Na przykład aplikacja może aktualizować treść w strumieniu co kilka sekund, lub gra może nagradzać graczy nagrodą za każdy dzień, w którym są zalogowani. Aby osiągnąć takie zachowanie, programiści często używają pętli.

W informatyce pętla to wzór kodowania, który powtarza zestaw instrukcji, często do momentu spełnienia określonego warunku. Aby to poćwiczyć, napiszesz kod, który zmienia kolory w nieskończoność. Późniejsze lekcje pokażą, jak zatrzymać pętlę.

Ustaw część i skrypt

Użyj dowolnego projektu Roblox do tego ćwiczenia. Po zakończeniu, ta część może być użyta jako element dekoracyjny w środowisku.

  1. Utwórz nową część z opisową nazwą. Ta lekcja używa LoopingPart.

  2. W ServerScriptService, dodaj nowy skrypt o nazwie LoopingScript.

  3. W skrypcie, usuń Hello World i napisz komentarz, określający cel tego skryptu.


    -- Zmienia kolor LoopingPart co kilka sekund

Użyj zmiennych do przechowywania części

Zmiennych można również używać do przechowywania odniesień do obiektów poza łańcuchami znaków. Na przykład, gdy skrypt zna odniesienie do części, może ją zmienić.

Zamiast pisać workspace.NameOfYourPart w kółko, cały ten wiersz można przechować w lokalnej zmiennej. Lokalne zmienne są tworzone przez wpisanie local, a następnie nazwy zmiennej.

Na przykład: local nameOfVariable.

  1. Pod komentarzem, utwórz lokalną zmienną wpisując local loopingPart.


    -- Zmienia kolor LoopingPart co kilka sekund
    local loopingPart
  2. Ustaw zmienną na pętlę, wpisując = workspace.LoopingPart w tym samym wierszu. Pamiętaj, że operator = ustawia wartość zmiennej na to, co jest po jego prawej stronie.


    -- Zmienia kolor LoopingPart co kilka sekund
    local loopingPart = workspace.LoopingPart

Pętle while

Zanim stworzysz pętlę while dla zmieniającej się koloru części, warto wyjaśnić jej składnię. Pętla while ma trzy składniki:

  • Kluczowe słowo while.
  • Warunek, zawsze po kluczowym słowie.
  • Instrukcje, między słowami kluczowymi do a end.

W pętlach warunki mogą być różnymi zdaniami logicznymi. Na przykład może to być, czy dwie liczby są takie same. Pętla będzie działać, jeśli jej warunek jest prawdziwy.

Zauważ, że w poniższym przykładzie, warunek jest prawdziwy, co oznacza, że ta pętla będzie działać w nieskończoność. W późniejszych lekcjach napiszesz konkretne warunki, które zatrzymują pętlę.


while true do
print("Ta pętla działa")
end

Napisz pętlę while

Następnie skonfigurujesz pętlę while dla zmieniającej się koloru części.

  1. W następnym wierszu wpisz while true do. Następnie naciśnij Enter, aby autouzupełnić i dodać słowo end.


    -- Zmienia kolor loopingPart co kilka sekund
    local loopingPart = workspace.LoopingPart
    -- Kod pętli
    while true do
    end

Dodaj kod w pętli

Gdy pętla while została stworzona, można dodać instrukcje do zmiany koloru części w czasie. Wewnątrz pętli, dodaj linię kodu dla każdego koloru. Każdy kolor będzie korzystał z wartości RGB, sposobu przechowywania kolorów jako liczb w informatyce.

  1. Między while true do a end, ustaw właściwość koloru części na Color3.fromRGB().


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB()
    end
  2. Ustawianie koloru można wykonać za pomocą wskaźnika koloru w Studio. W tym celu kliknij lewym przyciskiem myszy wewnątrz () obok fromRGB. Następnie kliknij na ikonę koła kolorów. Gdy uzyskasz pożądany kolor, naciśnij OK, aby automatycznie dodać wartość koloru w kodzie.


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    end

Spraw, aby skrypt czekał

Jeśli teraz dodasz drugą linię kodu zmieniającego kolor, zmieniłby kolor cegły tak szybko, że mógłbyś nawet nie zobaczyć pierwszego koloru. Aby skrypt czekał przed uruchomieniem następnej linii kodu, użyj funkcji task.wait().

  1. W wierszu po zmianie koloru cegły, wpisz task.wait(3). Liczba umieszczona wewnątrz () określa, ile sekund skrypt będzie czekać.


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    end
  2. Pod funkcją wait, powtórz tę samą procedurę dodawania nowego koloru. Zakończ ją dodatkowymi funkcjami wait.


    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. Przetestuj kod i sprawdź, czy kolory się zmieniają.

Notatki dotyczące rozwiązywania problemów
Na tym etapie, jeśli zmieniająca się kolor część nie działa zgodnie z zamierzeniami, spróbuj jednego z poniższych rozwiązań.

Problem: Kolory są pomijane

  • Upewnij się, że masz funkcję wait między każdym zmianą koloru, zwłaszcza w ostatniej linii.
  • Sprawdź, czy cały kod zmiany koloru i czekania znajduje się między sekcjami while true do a end.

Problem: Część nadal jest szara lub nie zmienia koloru zgodnie z zamierzeniami

  • Upewnij się, że wszystkie wartości RGB mają liczby od 0 do 255, są całkowite lub dziesiętne i są oddzielone przecinkami.
  • Liczby wewnątrz () funkcji wait powinny być większe niż 1. Możliwe, że jeśli czas oczekiwania jest zbyt krótki, nie zobaczysz tego koloru.

Pełny skrypt do pętli zmieniającej kolor


-- Utwórz zmienną do przechowywania części
local loopingPart = workspace.LoopingPart
-- Kod pętli
while true do
-- Zmienia kolor loopingPart
loopingPart.Color = Color3.fromRGB(82, 227, 255)
-- Czeka 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łużą do powtarzania instrukcji, czasami aż do spełnienia konkretnych warunków. W tym artykule użyto pętli while do wiecznego powtarzania instrukcji. Aby stworzyć pętlę while, która powtarza się w nieskończoność, użyj poniższej składni, upewniając się, że instrukcje są zawarte między słowami kluczowymi do i end.


while true do
-- Instrukcje
end
©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.