Ripetere il codice con i cicli while

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Molte cose in informatica o nello sviluppo di giochi spesso si ripetono. Ad esempio, un'app potrebbe aggiornare il contenuto in un feed ogni pochi secondi, o un gioco potrebbe premiare i giocatori con un premio ogni giorno in cui sono connessi. Per realizzare questo comportamento, i programmatori utilizzano spesso cicli.

In informatica, un ciclo è un modello di codice che ripete un insieme di istruzioni, spesso fino a quando non viene soddisfatta una condizione specifica. Per esercitarti, programmerai una parte che cambia colori all'infinito. Le lezioni successive mostreranno come fermare il ciclo.

Imposta la parte e lo script

Usa qualsiasi progetto Roblox per questo esercizio. Una volta terminato, questa parte può essere utilizzata come modo per decorare un ambiente.

  1. Crea una nuova parte con un nome descrittivo. Questa lezione utilizza LoopingPart.

  2. In ServerScriptService, aggiungi un nuovo script chiamato LoopingScript.

  3. Nello script, cancella Hello World e scrivi un commento che dichiari lo scopo di questo script.


    -- Cambia il colore di LoopingPart ogni pochi secondi

Usa variabili per memorizzare una parte

Le variabili possono anche contenere riferimenti a oggetti oltre alle stringhe. Ad esempio, quando uno script conosce il riferimento a una parte, lo script può cambiarlo.

Invece di digitare workspace.NameOfYourPart più e più volte, quell'intera riga può essere memorizzata all'interno di una variabile locale. Le variabili locali vengono create digitando local e poi il nome della variabile.

Ad esempio: local nameOfVariable.

  1. Sotto il commento, crea una variabile locale digitando local loopingPart.


    -- Cambia il colore di LoopingPart ogni pochi secondi
    local loopingPart
  2. Imposta la variabile alla parte ciclica digitando = workspace.LoopingPart sulla stessa riga. Ricorda che l'operatore = imposta il valore di una variabile su ciò che si trova a destra di esso.


    -- Cambia il colore di LoopingPart ogni pochi secondi
    local loopingPart = workspace.LoopingPart

Cicli while

Prima di creare il ciclo while per la parte che cambia colore, è utile spiegare la sua sintassi. Un ciclo while ha tre componenti:

  • La parola chiave while.
  • Una condizione, sempre dopo la parola chiave.
  • Istruzioni, tra le parole chiave do e end.

Nei cicli, le condizioni possono essere una varietà di affermazioni logiche. Alcuni esempi potrebbero essere se due numeri sono uguali. Un ciclo verrà eseguito se la sua condizione è vera.

Nota nell'esempio qui sotto, la condizione è vera, il che significa che questo ciclo verrà eseguito per sempre. Nelle lezioni successive, programmerai condizioni specifiche che fermano il ciclo.


while true do
print("Questo ciclo è in esecuzione")
end

Codifica un ciclo while

Successivamente, imposterai il ciclo while per la parte che cambia colore.

  1. Sulla riga successiva digita while true do. Poi, premi Enter per completare automaticamente e aggiungere la parola end.


    -- Cambia il colore di loopingPart ogni pochi secondi
    local loopingPart = workspace.LoopingPart
    -- Codice di Looping
    while true do
    end

Aggiungi codice nel ciclo

Con il ciclo while creato, possono essere aggiunte istruzioni per cambiare il colore della parte nel tempo. All'interno del ciclo, aggiungi una riga di codice per ogni colore. Ogni colore utilizzerà valori RGB, un modo di memorizzare i colori come numeri in informatica.

  1. Tra while true do e end, imposta la proprietà Color della parte su Color3.fromRGB().


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB()
    end
  2. Impostare il colore può essere fatto utilizzando un selettore di colori in Studio. Per farlo, clicca a sinistra all'interno dei () accanto a fromRGB. Poi, fai clic sull'icona della ruota dei colori. Una volta scelto un colore desiderato, premi OK per aggiungere automaticamente il valore del colore nel codice.


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

Fai aspettare lo script

Se aggiungi una seconda riga di codice per cambiare colore proprio ora, cambierebbe il colore del mattone così rapidamente che potresti neanche vedere il primo colore passare. Per far aspettare lo script prima di eseguire la riga di codice successiva, utilizza una funzione task.wait().

  1. Sulla riga dopo aver cambiato il colore del mattone, digita task.wait(3). Qualsiasi numero posto dentro ai () è quanti secondi lo script aspetterà.


    local loopingPart = workspace.LoopingPart
    while true do
    loopingPart.Color = Color3.fromRGB(82, 227, 255)
    task.wait(3)
    end
  2. Sotto la funzione di attesa, ripeti lo stesso processo di aggiunta di un nuovo colore. Termina con un'ulteriore funzione di attesa.


    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. Prova il codice e verifica se i colori cambiano.

Note di risoluzione dei problemi
A questo punto, se la parte che cambia colore non funziona come previsto, prova una delle seguenti opzioni.

Problema: I colori vengono saltati

  • Assicurati di avere una funzione di attesa tra ogni cambiamento di colore, specialmente nell'ultima riga.
  • Controlla che tutto il codice per il cambiamento di colore e la funzione di attesa si trovi tra le sezioni while true do e end.

Problema: La parte è ancora grigia o non cambia colore come previsto

  • Assicurati che tutti i valori RGB abbiano numeri da 0 a 255, siano interi o decimali e siano separati da virgole.
  • I numeri all'interno dei () di una funzione di attesa dovrebbero essere maggiori di 1. È possibile che se un'attesa è troppo breve, potresti non vedere quel colore.

Script completo per il ciclo di colori


-- Crea una variabile per memorizzare la parte
local loopingPart = workspace.LoopingPart
-- Codice di Looping
while true do
-- Cambia il colore di loopingPart
loopingPart.Color = Color3.fromRGB(82, 227, 255)
-- Aspetta 3 secondi prima della prossima istruzione
task.wait(3)
loopingPart.Color = Color3.fromRGB(177, 52, 255)
task.wait(3)
end

I cicli sono un elemento comune nella maggior parte dei linguaggi di programmazione. Vengono utilizzati per ripetere istruzioni, a volte fino a quando non vengono soddisfatte determinate condizioni. In questo articolo, il ciclo while viene utilizzato per ripetere istruzioni per sempre. Per creare un ciclo while che si ripete all'infinito, utilizza la sintassi qui sotto, assicurandoti di includere le istruzioni tra le parole chiave do e end.


while true do
-- Istruzioni
end
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.