Hosting & Domini

 
HOME DOMINI HOSTING SERVER SUPPORTO

Creazione di script con ActionScript > Uso di operatori per la gestione dei valori nelle espressioni

Uso di operatori per la gestione dei valori nelle espressioni


Un'espressione è qualsiasi istruzione valutabile da Flash che restituisce un valore. È possibile creare un'espressione combinando operatori e valori oppure chiamando una funzione. Quando si scrive un'espressione nel pannello Azioni in Modalità normale, verificare che la casella Espressioni nel riquadro dei parametri sia selezionata. In caso contrario il campo conterrà il valore letterale di una stringa.

Gli operatori sono caratteri che specificano la modalità di combinazione, confronto o modifica dei valori di un'espressione. Gli elementi sui quali ha effetto l'operatore sono detti operandi. Ad esempio, nell'istruzione seguente l'operatore + somma un valore numerico al valore della variabile foo; foo e 3 sono gli operandi:

foo + 3 

Il presente argomento descrive le regole generali relative agli operatori comuni. Per ulteriori informazioni su ogni operatore citato di seguito e su operatori speciali non appartenenti alle categorie descritte, vedere Dizionario di ActionScript: panoramica.


 
Precedenza degli operatori

Quando nella stessa istruzione vengono usati due o più operatori, alcuni operatori hanno la precedenza su altri. In ActionScript una gerarchia precisa specifica la precedenza degli operatori da eseguire. Ad esempio, la moltiplicazione viene sempre eseguita prima dell'addizione; tuttavia gli elementi tra parentesi hanno la precedenza sulla moltiplicazione. In assenza di parentesi, nell'esempio seguente la prima operazione eseguita è la moltiplicazione:

total = 2 + 4 * 3;

Il risultato è 14.

Se l'operazione di addizione è racchiusa tra parentesi, viene eseguita prima della moltiplicazione:

total = (2 + 4) * 3;

Il risultato è 18.

Per una tabella contenente tutti gli operatori e l'ordine di precedenza, vedere Lista operatori.


 
Associatività degli operatori

Quando due o più operatori hanno lo stesso livello di precedenza, la loro associatività determina l'ordine di esecuzione. L'associatività può essere da sinistra a destra o da destra a sinistra. Ad esempio l'operatore di moltiplicazione ha un'associatività da sinistra a destra. Di conseguenza le due istruzioni che seguono sono equivalenti:

total = 2 * 3 * 4;
total = (2 * 3) * 4;

Per una tabella contenente tutti gli operatori e l'associatività, vedere Lista operatori.


 
Operatori numerici

Gli operatori numerici consentono di eseguire operazioni di somma, sottrazione, moltiplicazione, divisione e altre operazioni aritmetiche. Le parentesi e il segno meno sono operatori aritmetici. La tabella seguente elenca gli operatori numerici di ActionScript.
Operatore Operazione eseguita

+

Addizione

*

Moltiplicazione

/

Divisione

%

Modulo

-

Sottrazione

++

Incremento

--

Decremento



 
Operatori di confronto

Gli operatori di confronto confrontano i valori delle espressioni e restituiscono un valore booleano (true o false). Tali operatori vengono usati soprattutto nei cicli e nelle istruzioni condizionali. Nell'esempio seguente se la variabile score è 100 viene caricato un determinato filmato; in caso contrario viene caricato un altro filmato:

if (score == 100){
	loadMovie("winner.swf", 5);
} else {
	loadMovie("loser.swf", 5);
	}

La tabella seguente elenca gli operatori di confronto di ActionScript.
Operatore Operazione eseguita

<

Minore di

>

Maggiore di

<=

Minore o uguale a

>=

Maggiore o uguale a



 
Operatori stringa

Quando viene applicato a stringhe, l'operatore + ha un effetto particolare, in quanto determina il concatenamento tra i due operandi stringa. Ad esempio, la seguente istruzione aggiunge:

"Congratulations," a "Donna!":
"Congratulations, " + "Donna!"

Il risultato è "Congratulations, Donna!". Se soltanto uno degli operandi dell'operatore + è una stringa, l'altro operando viene convertito automaticamente in stringa.

Anche gli operatori di confronto >, >=, < e <= funzionano in modo particolare se applicati a stringhe. Questi operatori confrontano due stringhe per determinare qual è la prima in ordine alfabetico. Gli operatori di confronto confrontano le stringhe soltanto se entrambi gli operandi sono stringhe. Se soltanto un operando è una stringa, ActionScript converte entrambi gli operandi in numeri ed esegue un confronto numerico.

Nota: Le funzionalità dei tipi di dati di ActionScript in Flash 5 consentono l'uso degli stessi operatori su tipi di dati diversi. Non è più necessario usare gli operatori stringa di Flash 4 (ad esempio eq, ge e lt), salvo se si desidera esportare il filmato come Flash 4.


 
Operatori logici

Gli operatori logici confrontano valori booleani (true e false) e restituiscono un terzo valore booleano. Se ad esempio entrambi gli operandi restituiscono true, l'operatore logico AND (&&) restituisce true. Se uno o entrambi gli operandi restituiscono true, l'operatore logico OR (||) restituisce false. Gli operatori logici vengono spesso usati insieme agli operatori di confronto per determinare la condizione di un'azione if. Ad esempio, se nello script seguente entrambe le espressioni sono true, verrà eseguita l'azione if:

if ((i > 10) && (_framesloaded > 50)){
	play()
}

La tabella seguente elenca gli operatori logici di ActionScript.
Operatore Operazione eseguita

&&

AND logico

||

OR logico

!

NOT logico



 
Operatori bit a bit

Gli operatori bit a bit gestiscono internamente i numeri in virgola mobile convertendoli in interi a 32 bit, più semplici da usare. L'operazione bit a bit eseguita dipende dall'operatore, ma tutte le operazioni bit a bit valutano separatamente ogni cifra di un numero in virgola mobile per calcolare un nuovo valore.

La tabella seguente elenca gli operatori bit a bit di ActionScript.
Operatore Operazione eseguita

&

AND bit a bit

|

OR bit a bit

^

XOR bit a bit

~

NOT bit a bit

<<

Spostamento a sinistra

>>

Spostamento a destra

>>>

Spostamento a destra con inserimento zero



 
Operatori di uguaglianza e assegnazione

È possibile usare l'operatore di uguaglianza (==) per determinare se i valori o le identità di due operandi sono uguali. Il confronto restituisce un valore booleano (true o false). Se gli operandi sono stringhe, valori numerici o valori booleani, vengono confrontati in base al valore. Se gli operandi sono oggetti o matrici, vengono confrontati in base al riferimento.

L'operatore di assegnazione (=) consente di assegnare un valore a una variabile, come nell'esempio seguente:

password = "Sk8tEr";

È inoltre possibile usare questo operatore per assegnare più variabili nella stessa espressione. Nell'istruzione seguente il valore di b viene assegnato alle variabili c e d:

a = b = c = d;

Inoltre gli operatori di assegnazione composti consentono di combinare più operazioni. Gli operatori composti vengono eseguiti su entrambi gli operandi e assegnano il nuovo valore al primo operando. Ad esempio, le seguenti due istruzioni sono equivalenti:

x += 15;
x = x + 15;

La tabella seguente elenca gli operatori di uguaglianza e assegnazione di ActionScript.
Operatore Operazione eseguita

==

Uguaglianza

!=

Diseguaglianza

=

Assegnazione

+=

Addizione e assegnazione

-=

Sottrazione e assegnazione

*=

Moltiplicazione e assegnazione

%=

Modulo e assegnazione

/=

Divisione e assegnazione

<<=

Spostamento a sinistra bit a bit e assegnazione

>>=

Spostamento a destra bit a bit e assegnazione

>>>=

Spostamento a destra con inserimento zero e assegnazione

^=

XOR bit a bit e assegnazione

|=

OR bit a bit e assegnazione

&=

AND bit a bit e assegnazione



 
Operatori punto e accesso matrice

È possibile usare l'operatore punto (.) e l'operatore accesso matrice ([]) per accedere a qualsiasi proprietà oggetto predefinita o personalizzata di ActionScript, comprese le proprietà di un clip filmato.

L'operatore punto richiede a sinistra il nome di un oggetto e a destra il nome di una proprietà o di una variabile. Il nome della proprietà o della variabile non può essere una stringa o una variabile che restituisce una stringa, ma deve essere un identificatore. Gli esempi seguenti illustrano l'uso dell'operatore punto:

year.month = "June";
year.month.day = 9;

L'operatore punto e l'operatore accesso matrice hanno la stessa funzione, ma l'operatore punto richiede come proprietà un identificatore, mentre l'operatore accesso matrice valuta il contenuto in un nome, quindi accede il valore della proprietà con tale nome. Ad esempio, le due linee di codice seguenti accedono alla stessa variabile velocity nel clip filmato rocket:

rocket.velocity;
rocket["velocity"];

L'operatore accesso matrice consente di impostare e recuperare dinamicamente nomi di istanza e variabili. Ad esempio, nel codice seguente l'espressione contenuta nell'operatore [] viene valutata, quindi il risultato viene usato come nome della variabile del clip filmato name da accedere:

name["mc" + i ]

Se si ha familiarità con la sintassi di ActionScript di Flash 4, lo stesso risultato è ottenibile tramite la funzione eval , come nell'esempio seguente:

eval("mc" & i);

L'operatore accesso matrice può essere usato anche sul lato sinistro di un'istruzione di assegnazione, consentendo l'impostazione dinamica di nomi di istanza, variabile e oggetto, come nell'esempio seguente:

name[index] = "Gary";

Questa operazione è equivalente alla seguente sintassi di ActionScript di Flash 4:

Set Variable: "name:" & index = "Gary"

L'operatore accesso matrice può essere annidato in se stesso, per simulare matrici a più dimensioni.

chessboard[row][column]

Ciò equivale alla seguente sintassi:

eval("chessboard/" & row & ":" & column)

Nota: Per creare codice ActionScript compatibile con Flash 4 Player è possibile usare l'azione eval con l'operatore add.



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