Cicli
I cicli rappresentano un potente strumento della OOP ( Programmazione Orientata ad Oggetti ).
I cicli permettono di effettuare una operazione multipla su più elementi.
Questo insieme di operazioni viene svolto istantaneamente ed a velocità elevatissime (in rapporto al Processore dell'utente)
Per questo NON useremo i cicli per operazioni da effettuare azioni dilazionate nel tempo (ci sono appositi gestori come il setInterval) ma bensì per effettuare operazioni istantanee.
In ActionScript abbiamo i seguenti cicli:
ciclo for
sinossi:
for (inizio,fine,incremento){
}
un ciclo ci permette di esplorare o modificare facilmente un Array:
for(i=0; i<10; i++) {
array [i] = (i + 5)*10;
trace(array[i]);
}
ci restituirà:
50
60
70
80
90
100
110
120
130
140
Il ciclo for...in ci permette di ciclare solo se si verificano certe condizioni:
sinossi:
for (inizio, condizione, incremento) {
}
se la inizio viene omesso, inizia da 0, se l'incremento viene omesso incrementa di 1.
L'argomento fondamentale è la condizione.
esempio, il seguente ciclo:
for (name in _root) {
if (typeof (_root[name])== "movieclip") {
n++;
trace ("Sulla root l'mc "+n+" si chiama:" + name);
}
}
andrà ad estrarre tutti i nomi degli MC presenti sulla _root
Questo ci fa capire le potenzialità dei cicli.
Flash in realtà, durante la esportazione compila l'swf trasformando i cicli for in cicli while.
Il ciclo while
sinossi:
while(condizione) {
azione fino a condizione verificata;
}
esempio, su un pulsante potremmo mettere il ciclo:
on(release) {
f = 0;
while(f < 5) {
duplicateMovieClip("fiore", "mc" + f, f); // fiore è il nome istanza dell'MC
eval("mc" + f)._x=random(275);
eval("mc" + f)._y=random(275);
eval("mc" + f)._alpha=random(100);
eval("mc" + f)._xscale=random(200);
eval("mc" + f)._yscale=random(200);
f++;
}
}
per creare ad ogni pressione un mazzo di 5 fiori diversi.
Ciclo dowhile
Il ciclo do... while ha un funzionamento analogo al while, solo che la condizione è alla fine
del ciclo:
sinossi:
do {
azione fino a condizione verificata;
} while (condizione)
Torna su
Menu Actionscript
Lezione precedente: Classi e Oggetti
Lezione successiva: Oggetto Sound