Design studio & media solutions

Utilizzare i Loops in ActionScript 3.0

as3 loop image
as3 loop

Un loop è uno strumento utilizzato per eseguire un segmento di codice più volte per un determinato numero di volte o mentre una certa condizione è soddisfatta. Utilizzando un ciclo si risparmia tempo e fatica evitando di riscrivere più volte lo stesso codice. Questo tutorial spiega l’uso di base dei cinque tipi di cicli disponibili per l’uso in ActionScript 3.0.  

Il ciclo “FOR”

Il ciclo FOR è ampiamente utilizzato a causa della sua forma molto compatta e semplice. Si può usare questo ciclo per eseguire una serie di istruzioni di codice più volte utilizzando questo formato: 

for (counter; condition; action){
statements;
}

Ogni ciclo FOR deve avere un contatore (detto anche iteratore ). Questo contatore può essere qualsiasi numero variabile. È possibile definire questo contatore quando si crea il loop.

for (var i:Number=0; i<10 , i++){
var my_mc = new MovieClip();
my_mc.name = "mc"+i;
addChild(my_mc);
}

Il ciclo “WHILE”

Il ciclo WHILE svolge esattamente la stessa funzione del ciclo for ma è scritto in un forma diversa. Invece di avere tutte le informazioni necessarie per eseguire il ciclo in un unico luogo, il ciclo while richiede solo la condizione per avviare il loop stesso lasciando il resto delle istruzioni al codice annidato in esso.

while (condition){
statements;
}

Per poter utilizzare questo ciclo è necessario creare un iteratore e l’istruzione per invalidare la condizione che ferma il loop.

var i: Number = 0;
while (i <10) {
nuovo MovieClip ();
i++;
}

Si dovrebbe notare che è molto facile creare un ciclo infinito per errore dimenticando di offrire le azioni necessarie per l’incremento dell’iteratore. Per i più distratti è quindi consigliabile utilizzare sempre il ciclo for al posto del while qualora il programma non lo richieda espressamente.  

Il ciclo “DO WHILE”

Il ciclo DO WHILE  è molto simile al ciclo while, l’unica differenza è che esegue le istruzioni almeno una volta prima di verificare se la condizione è soddisfatta o meno. Questo significa che se la condizione è stata soddisfatta il codice sarà eseguito sempre almeno una volta. Il formato generale di questo ciclo è la seguente:

do {
statements;
} while (condition);

L’utilizzo del ciclo do while è richiesto in programmi avanzati e non è consigliabile utilizzarlo in applicazioni semplici o per principianti. L’esempio di prima potrebbe essere riportato in questo modo:

var i:Number = 0;
do {
new MovieClip();
i++;
} while (i < 10);

Il ciclo “FOR EACH IN”

Il ciclo FOR EACH IN e il successivo for in non sono cicli regolari. Lo scopo di ciascuno di essi è di non ripetere qualsiasi insieme generale di codice, ma di esaminare un oggetto per recuperare il valore di tutte le proprietà associate ad esso. È scritto nel formato generalizzato così:

for each (var prop in obj){
trace(prop);
}

Ad esempio, supponiamo di avere un oggetto generico con due proprietà, myName e myAge: 

var myObject: Object = new Object ();
myObject.myName = "Carolina";
myObject.myAge = 21;

È possibile utilizzare il for each in loop per recuperare facilmente i valori di queste proprietà: 

var myObject:Object = new Object();
myObject.myName = "Carolina";
myObject.myAge = 21;
for each (var prop in myObject){
trace(prop);
}

Questo esempio potrebbe sembrare senza senso, perché conosciamo i nomi delle nostre proprietà e noi li potremmo recuperare manualmente, ma questo ciclo può essere utile quando si lavora con un oggetto per il quale non si conoscono le proprietà.  

Il ciclo “FOR IN”

Il ciclo FOR IN ha una funzione molto simile al ciclo FOR EACH IN, mentre il ciclo precedente viene utilizzato per recuperare i valori di tutte le proprietà di un oggetto, il ciclo FOR IN è utilizzato per recuperare i nomi delle proprietà. E ‘scritto genericamente nel seguente formato:

for (var prop in obj){
trace(prop);
}

Se usiamo lo stesso esempio di sopra con questo ciclo si potranno recuperare i nomi delle proprietà: 

var myObject:Object = new Object();
myObject.myName = "Carolina";
myObject.myAge = 21;
for (var prop in myObject){
trace(prop);
}

Come affermato precedentemente, i loop FOR EACH IN e FOR IN sono cicli avanzati utilizzati raramente in progetti per principianti e intermedi.  

Uso delle variabili nei LOOP

Una cosa importante da imparare circa i LOOP è la dichiarazione delle variabili. Dichiarare una variabile all’interno di un loop significa restringere l’accesso ad essa a tutto il codice esterno al loop inquanto quella variabile non esiste all’esterno del ciclo, inoltre tale variabile sparisce dopo ogni iterazione del loop stesso.

for (var i: Number = 0; i + +; i <10) {
var k: Number = i;
}
trace (k);

Questo codice genererà un errore. Se si desidera recuperare una variabile interna ad un loop sarà necessario dichiararla prima.   

var k: Number;
for (var i: Number = 0; i + +; i <10) {
k = i;
}
trace (k);

Ovviamente in questo caso il valore della nostra variabile (k) non farà più riferimento al valore impostato in precedenza ma sarà uguale al valore assegnatole nel lop, in questo caso sarà uguale ad i.



1 × one =

AS3 Cambiare colore

As3 colors In questo tutorial vedremo come cambiare colore a qualsiesi ...

Variabili, tipi di d

[caption id="attachment_162" align="alignleft" width="300" caption="print screen"][/caption] In questo tutorial analizzeremo gli ...

Impostazione del com

google_maps Le mappe interattive sono i migliori strumenti per illustrare qualsiesi ubicazione geografica. Creare da ...

AS3 Impostare profon

[caption id="attachment_142" align="alignleft" width="300" caption="profondità clip"][/caption] Il metodo setChildIndex Per impostare la ...

AS3 Interagire con l

In questo breve turotial vedremo come utilizzare la tastiera per ...

AS3 Cambiare colore

As3 colors In questo tutorial vedremo come cambiare colore a qualsiesi ...

Variabili, tipi di d

[caption id="attachment_162" align="alignleft" width="300" caption="print screen"][/caption] In questo tutorial analizzeremo gli ...

Impostazione del com

google_maps Le mappe interattive sono i migliori strumenti per illustrare qualsiesi ubicazione geografica. Creare da ...

AS3 Impostare profon

[caption id="attachment_142" align="alignleft" width="300" caption="profondità clip"][/caption] Il metodo setChildIndex Per impostare la ...

AS3 Interagire con l

In questo breve turotial vedremo come utilizzare la tastiera per ...