Chi ha iniziato a sviluppare codice con linguaggi di scripting come Javascript o lo stesso Actionscript, potrebbe non conoscere affatto il concetto di tipo dato. Con alcuni linguaggi ad alto livello, infatti, si è abituati – nella migliore delle ipotesi – a dichiarare le variabili senza assegnargli un tipo dato specifico, senza contare quei linguaggi che non richiedono nessuna dichiarazione (come ad esempio il PHP – non nella versione strict 5). Chi viene dal C, al contrario, non saprebbe nemmeno come fare ad usare una variabile senza dichiararla in modo rigoroso.
Nell’esempio qui sotto vediamo la dichiarazione di due variabili senza specificare il tipo dato che conterranno:
1 2 | var mio_numero = 0; var mia_stringa = "stringa di testo"; |
Lo stesso Actionscript, come annunciato, prevede la non dichiarazione dei tipi e delle variabili! Quest’ultimo comportamento va forzato eliminando la spunta nella casella “Modalità rigorosa” della finestra di Impostazioni Actionscript 3.0:

Così facendo un codice come questo qui sotto non produrrà nessun errore:
1 2 3 | var mio_numero = 3; mio_nove = 9; trace( mio_nove + mio_numero + 5 ); |
Alla riga 2 la variabile mio_nove non solo non contiene il tipo, ma non è nemmeno stata dichiarata tramite la keyword var. Nonostante sia stata mantenuta la possibilità di dichiarare le variabili in questa modalità “blanda”, è estremamente più corretto, utile ed efficacie specificare il tipo dato associato alla nostra variabile:
1 2 |
Questo è il modo corretto per dichiarare le variabili, utile per migliorare le performance e la solidità della nostra applicazione.
Vantaggi nell’uso dei tipi
C’era un tempo in cui un programmatore doveva risparmiare memoria a livello bit! Quando il codice aveva pochi Kilobyte a disposizione, usare 8 bit per mantenere i mesi dell’anno era davvero uno spreco immane. Con 4 bit, infatti, possiamo memorizzare 16 valori, dallo 0 (0000) al 15 (1111). Oggi, evidentemente, i tempi sono cambiati. Un personal computer dispone in media di qualche Giga di RAM (il mio ne ha 8!). Diventa quindi di uso comune non fare più attenzione al “consumo” di RAM e risorse.
Ad un esame più attento, poi, il problema del consumo maggiore di RAM non riguarda solo uno “spreco” fine a se stesso; una cattiva gestione dei tipi può rendere il codice più lento in quanto obbliga compilatore, interprete ed eseguibile finale a lavorare su tipi più “capienti” del necessario.
Actionscript 3.0 ha introdotto alcuni tipi dati nuovi che permettono di sviluppare applicazioni sicuramente più performanti grazie all’indicazione – preventiva – della tipologia di dato da trattare. Un esempio classico riguarda i cicli for. Partendo da questa tabella:
Number: (64 bit) da -9.007.199.254.740.992 a 9.007.199.254.740.992 (per gli interi)int: (32 bit) da -2.147.483.648 (-231) a 2.147.483.647 (231 – 1)uint: (32 bit) da 0 a 4.294.967.295 (232 - 1)
Scrivere:
1 2 3 |
rappresenta palesemente uno “spreco di risorse”, molto meglio e sufficiente sarebbe:
1 2 3 |
In linea generale sarebbe buona regola fare riferimento a questa tabella:
Number: qualsiasi valore numerico, con o senza decimaliint: numero intero senza decimaliuint: numero intero senza segno, vale a dire un numero intero non negativo
Questo significa che se dobbiamo memorizzare valori interi, cioè non decimali, positivi, uint è il tipo dato perfetto! Se abbiamo necessità anche del “segno”, cioè valori interi negativi, possiamo avvalerci di int. Nei casi di numeri molto molto grandi e con decimali, allora il tipo Number è l’unica soluzione a nostro disposizione.








11
Ciao sto impazzendo.
Volevo sapere una volta per tutte se c’è modo con AS3 di entrare in una scena tramite un bottone?
Ovvero:
Ho 2 Scene
La prima si chiama HOME.
La seconda GALLERY
Io dalla HOME voglio andare nella GALLERY.
Ti prego…HELPAMI!!!!
@Alessandro: certo che puoi farlo! Basta che usi i classici comandi
gotoAndPlay(): il primo parametro è il nome della scena, di solito omesso quando si usa una scena sola. Vedi qui per un esempio@Giovambattista Fazioli: Ciao grazie mille per avermi risposto.
soltanto che io sto cercando il cambio scena da ActionScript 3.0, mentre invece quello che, molto
gentilmente mi hai indicato tu è per ActionScript 2.0
Ti ringrazio ancora..
@Alessandro: si ma è lo stesso anche per AS 3