Molte cose nella computer science o nello sviluppo dei giochi di solito si ripetono. Ad esempio, un'app potrebbe aggiornare il contenuto in un feed ogni pochi secondi, o un gioco potrebbe ricompensare i giocatori un premio ogni giorno che accedono. Per completare questo comportamento, i codici spesso usano loop .
In computer science, a loop è un pattern di codifica che ripetisce una serie di istruzioni, spesso fino a quando non viene soddisfatta una condizione specifica. Per praticare questo, codicherai una parte che cambia colori indefinitamente. Le lezioni successive mostreranno come fermare il looping.
Configurazione della parte e dello script
Usa qualsiasi progetto Roblox per questo esercizio. Quando hai finito, questa parte può essere utilizzata come un modo per decorare un Ambiente.
Crea una nuova parte con un nome descrittivo. Questa lezione usa LoopingPart .
In ServerScriptService , aggiungi uno script nuovo chiamato LoopingScript.
Nel script, elimina Hello World e scrivi un commento che dichiara lo scopo di questo script.
-- Changes the color of LoopingPart every few seconds
Uso delle 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 over e over, quella intera linea può essere memorizzata all'interno di una variabile locale. Le variabili locali vengono create facendo clic su local e poi sul nome della variabile.
Ad esempio: local nameOfVariable .
Sotto il Commentare, crea una variabile locale digitando local loopingPart .
-- Cambia il colore di LoopingPart ogni pochi secondilocal loopingPartImposta la variabile sulla parte ripetitiva facendo clic su = workspace.LoopingPart sulla stessa linea. Ricorda che l'operatore = imposta il valore di una variabile a qualsiasi valore a destra di essa.
-- Cambia il colore di LoopingPart ogni pochi secondilocal loopingPart = workspace.LoopingPart
Mentre Loops
Prima di creare il while loop per la parte che cambia colore, vale la pena spiegare la sua sintassi. Un while loop ha tre componenti:
- La parola chiave while .
- Una condizione, sempre dopo la parola chiave.
- Istruzioni, tra le parole chiave do e end.
In loop, le condizioni possono essere una varietà di dichiarazioni logiche. Alcuni esempi potrebbero essere se due numeri sono uguali. Un loop si eseguirà se la sua condizione è vera.
Nota nello screenshot seguente, la condizione è vera, il che significa che questo loop si eseguirà per sempre. In lezioni successive, inizierai a codificare condizioni specifiche che si fermano.
while true doprint("This loop is running")end
Codice a while loop
Successivamente, creerai il while loop per la parte che cambia colore.
Nella prossima riga, scrivi while true do . Quindi, premi Inserisci per completare automaticamente e aggiungere la parola end .
-- Cambia il colore di loopingPart ogni pochi secondilocal loopingPart = workspace.LoopingPart-- Codice di loopingwhile true doend
Aggiungere Codice in Loop
Con il mentre loop creato, istruzioni possono essere aggiunte per cambiare il colore della parte nel tempo. All'interno del loop, aggiungi una linea di codice per ogni colore. Ogni colore userà i valori RGB, un modo di archiviare i colori come numeri in computer science.
Tra while true do e end, imposta la proprietà Colore della parte su Color3.fromRGB() .
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB()endImpostare il colore può essere fatto utilizzando un raccoglitore di colori in Studio. Per farlo, fai clic con il pulsante sinistro all'interno del () accanto a fromRGB . Quindi, fai clic sull'Iconadella ruota dei colori. Una volta impostato il colore desiderato, premi OK per aggiungere automaticamente il valore del colore nel codice.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)end
Fare in modo che lo script abbia finito
Se aggiungi una seconda riga di codice che cambia colore in questo momento, cambierebbe il colore del Mattonein modo da potresti nemmeno vedere il primo colore andare via. Per fare in modo che lo script aspetti prima di eseguire la prossima riga di codice, usa una funzione task.wait() .
Dopo aver cambiato il colore del mattone, digita task.wait(3) . Qualsiasi numero posto all'interno del () è il numero di secondi che lo script aspetterà.
local loopingPart = workspace.LoopingPartwhile true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)endSotto la funzione di attesa, ripetere lo stesso processo di aggiungere un nuovo colore. Finiscilo con una funzione di attesa aggiuntiva.
while true doloopingPart.Color = Color3.fromRGB(82, 227, 255)task.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)endProva il codice e vedi se i colori cambiano.
Note di risoluzione dei problemi A questo punto, se la parte che cambia colore non funziona come previsto, prova uno dei seguenti metodi di seguito. Problema : I colori vengono saltati
Assicurati di avere una funzione di attesa tra ogni cambiamento di colore, specialmente nell'ultima riga.
Assicurati che tutto il cambiamento di colore e il codice di attesa sia 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 del () di una funzione di attesa dovrebbero essere maggiori di 1. È possibile che se un'attesa è troppo breve, potresti non vedere quel colore.
Completa lo script del ciclo di colorazione
-- Crea una variabile per memorizzare la partelocal loopingPart = workspace.LoopingPart-- Codice di loopingwhile true do-- Cambia il colore di loopingPartloopingPart.Color = Color3.fromRGB(82, 227, 255)-- Attendere 3 secondi prima della prossima istruzionetask.wait(3)loopingPart.Color = Color3.fromRGB(177, 52, 255)task.wait(3)end
Panoramica
I loop sono un elemento comune nella maggior parte dei linguaggi del computer. Vengono utilizzati per ripetere istruzioni, a volte fino a quando non vengono soddisfatte condizioni specifiche. In questo articolo, il while loop viene utilizzato per ripetere le istruzioni per sempre. Per creare un while loop che si ripetisce per sempre, utilizzare la sintassi seguente, assicurandosi di includere istruzioni tra il do e il end dei pulsanti.
while true do-- Istruzioniend