Nwlapcug.com


Funzioni di loop in Flash AS3

ActionScript 3.0 consente agli sviluppatori di implementare flussi complessi di animazione in film e applicazioni Flash. I loop sono tra le strutture più utili e comuni negli script di AS3. Funzioni loop consentono di scorrere le strutture di dati ed effettuare trattamento ripetitiva senza dover ripetere le righe di codice. AS3 fornisce una gamma di cicli, ognuno dei quali è adatto a un diverso tipo di attività.

Ciclo for

Il ciclo "for" effettua elaborazione ripetitiva utilizzando una variabile contatore e un test condizionale. Nell'esempio di codice riportato di seguito viene illustrato un basic "ciclo for":
var contatore: int;
per (counter = 0; counter < 10; contatore + +) {
traccia ("Loop:" + contatore);
}

Questo ciclo verrà restituiti valori numerici da zero a nove. Quando il codice avvia il ciclo, la variabile contatore è impostata a zero. Ogni volta che il ciclo di iterazione, il programma controlla la variabile contatore. Se la variabile è ancora meno di dieci, il contenuto del loop viene eseguito, quindi la variabile contatore viene incrementata, aggiungendo un valore di uno ad esso. Il test condizionale è quindi eseguito nuovamente per controllare il valore del contatore. Quando il valore raggiunge 10, elaborazione si sposta dopo il ciclo.

Per ciclo

Il "nel" ciclo permette ai programmi di scorrere le strutture di dati come matrici. Il codice riportato di seguito viene illustrato:
var fruitCollection:Array = ["apple", "banana", "arancia", "melone"];
per (var frutta: String in fruitCollection) {
traccia ("frutta:" + frutta + "=" + fruitCollection[fruit]);
}

Questo codice stamperà ogni elemento della matrice a sua volta. Non c'è alcuna necessità di impostare un test condizionale verifica la lunghezza della matrice e il valore del contatore, come AS3 si fermerà automaticamente quando la struttura di matrice è esaurito.

Per ogni ciclo

"Per ciascuno nel" ciclo scorre anche collezioni, ma anziché utilizzare i valori di indice come riferimenti alle posizioni all'interno di strutture di dati come matrici, recupera i valori degli elementi stessi. Nell'esempio di codice riportato di seguito viene illustrato:
var fruitCollection:Array = ["apple", "banana", "arancia", "melone"];

per ogni (var fruitString in fruitCollection) {
traccia ("frutta:" + fruitString);
}

Non c'è nessuna necessità di utilizzare il valore di indice all'interno di questo ciclo, come il ciclo "for each" accede automaticamente all'elemento in ogni posizione nella struttura.

Ciclo while

Il ciclo "while" consente di eseguire l'elaborazione mentre alcune condizioni rimangono true. Come il ciclo "for", il ciclo "while" utilizza un test condizionale, come segue:
contatore di var: int = 0;
mentre (contatore < 10) {
traccia ("Loop:" + contatore);
contatore + +;
}

Questo ciclo ha lo stesso effetto come l'esempio "per" ciclo, ma un'implementazione diversa. Il contatore è inizializzato a zero prima del ciclo inizia, quindi il test condizionale determina se il contenuto del loop viene eseguito ogni volta. Il codice all'interno del ciclo incrementa il contatore come l'ultima linea di lavorazione.

Ciclo While

Il ciclo "while" è simile al ciclo "while", ma consente ai programmatori di assicurare che il contenuto del ciclo viene eseguito almeno una volta. Nell'esempio di codice riportato di seguito viene illustrato:
contatore di var: int = 10;
{
traccia ("Loop:" + contatore);
contatore + +;
} mentre (contatore < 10);

Se questa azione utilizzato un ciclo "while", il contenuto non eseguirà mai come la condizione potrebbe restituire false anche sulla prima iterazione. Questo ciclo viene eseguito una volta, poi continuerà solo se il test restituisce true, che non sarà in questo caso.