Hosting & Domini

 
HOME DOMINI HOSTING SERVER SUPPORTO

Creazione di script con ActionScript > Controllo del flusso negli script

Controllo del flusso negli script


ActionScript usa le azioni if, for, while, do...while e for...in per eseguire un'azione in base all'esistenza di una condizione.


 
Uso di istruzioni if

Le istruzioni che verificano se una condizione è vera o falsa iniziano con il termine if. Se la condizione è soddisfatta, ActionScript esegue la seguente istruzione. Se la condizione non è soddisfatta, ActionScript passa all'istruzione successiva al di fuori del blocco di codice.

Per ottimizzare le prestazioni del codice è opportuno verificare prima le condizioni più probabili.

Le seguenti istruzioni verificano varie condizioni. Il termine else if specifica verifiche alternative da effettuare se le condizioni precedenti non risultano vere.

if ((password == null) || (email == null)){
	gotoAndStop("reject");
}	else {
	gotoAndPlay("startMovie");
}


 
Ripetizione di un'azione

ActionScript può ripetere un'azione per un determinato numero di volte o quando una condizione specifica risulta soddisfatta. Per creare cicli usare le azioni while, do...while, for, e for...in.

Per ripetere un'azione finché una condizione viene soddisfatta:

Usare l'istruzione while.

Un ciclo while valuta l'espressione e, se l'espressione è true, esegue il codice nel corpo del ciclo. Dopo l'esecuzione di tutte le istruzioni nel corpo l'espressione viene nuovamente valutata. Nell'esempio seguente il ciclo viene eseguito per quattro volte:

i = 4
while (i > 0) {
	myMC.duplicateMovieClip("newMC" + i, i );
	i --;
}

È possibile usare l'istruzione do...while per creare un tipo di ciclo analogo al ciclo while. In un ciclo do...while l'espressione viene valutata alla fine del blocco di codice, per cui il ciclo viene sempre eseguito almeno una volta, come nell'esempio seguente:

i = 4
do {
	myMC.duplicateMovieClip("newMC" +i, i );
	i --;
} while (i > 0);

Per ripetere un'azione tramite un contatore incorporato:

Usare l'istruzione for.

Nella maggior parte dei cicli un contatore verifica il numero di ripetizioni dell'esecuzione. È possibile dichiarare una variabile, quindi scrivere un'istruzione che ne incrementa o decrementa il valore ad ogni esecuzione del ciclo. Nell'azione for il contatore e l'istruzione che incrementa il contatore fanno parte dell'azione, come nel codice seguente:

for (i = 4; i > 0; i--){
	myMC.duplicateMovieClip("newMC" + i, i + 10);
}

Per eseguire un ciclo tra gli elementi secondari di un clip filmato o di un oggetto:

Usare l'istruzione for..in.

Gli elementi secondari sono altri clip filmato, funzioni, oggetti e variabili. Nell'esempio seguente trace viene usata per stampare i risultati nella finestra Output:

myObject = { name:'Joe', age:25, city:'San Francisco' };
for (propertyName in myObject) {
  trace("myObject has the property: " + propertyName + ", with the value: " + myObject[propertyName]);
}

Questo esempio produce i seguenti risultati nella finestra Output:

myObject has the property: name, with the value: Joe
myObject has the property: age, with the value: 25
myObject has the property: city, with the value: San Francisco

Se si richiede che lo script esegua un'iterazione su un determinato tipo di elemento secondario (ad esempio soltanto su clip filmato secondari) usare l'istruzione for...in unitamente all'operatore typeof.

for (name in myMovieClip) {
  if (typeof (myMovieClip[name]) == "movieclip") {
    trace("I have a movie clip child named " + name);
  }
}

Nota: L'istruzione for..in esegue le iterazioni sulle proprietà degli oggetti della catena di prototipi dell'oggetto base dell'iterazione. Se il prototipo di un oggetto secondario è parent, for..in esegue iterazioni anche sulle proprietà di parent. Consultare Creazione dell'ereditarietà.

Per ulteriori informazioni su ciascuna azione, vedere le singole voci nel Dizionario di ActionScript: panoramica.



Home | Mappa del sito | Condizioni di utilizzo | Privacy
 
Copyright © Hostek Srl. P.Iva 05434210489