Per chi inizia a studiare Actionscript 3 è molto utile comprendere la differe nza di fondo tra MovieClip e istanze:
quando creaimo un MovieClip e lo mettiamo nella libreria, otteniamo una classe di oggetti, mentre quando ne richiamiamo uno lavoriamo su un'istanza concreta di quella classe.
Per chiarire meglio il concetto facciamo un esempio: creiamo il più semplice dei MovieClip: prima tracciamo un quadratino sullo stage, poi clicchiamo con il tasto destro e selezioniamo converti in simbolo
.
Nella finestra che appare scriviamo il nome del MovieClip, che chiamiamo quadrato
.
Ora quadrato
è un tipo di MovieClip e rappresenta la "classe" di MovieClip che ha come caratteristica quella di tracciare un quadratino.
A questo punto possiamo trovare quadrato
anche tra gli elementi della libreria, ma è rimasto un quadratino nero anche sullo stage. Ebbene, quel quadratino è un caso particolare di quadrato
, quello che si definisce un'istanza.
È la stessa differenza che passa tra avere l'idea di un cane bassotto (classe) ed avere un cane in carne ed ossa che si chiama Pluto (istanza).
Visto che abbiamo già l'istanza sullo stage diamole un nome. Dal pannello delle proprietà scriviamo nella casella di testo nome istanza
il nome Pluto
.
Per completare l'esempio dalla libreria trasciniamo di nuovo il quadrato nello stage, creando così una nuova istanza che chiamiamo Pippo
e riduciamo Pippo
fino a farlo diventare la metà di pluto.
Questa trasformazione riguarda soltanto l'istanza Pippo
e quindi non avrà nessun effetto su Pluto
.
Vediamo invece che succede se modifichiamo le caratteristiche base del MovieClip, le differenze si applicano a tutta le istanze.
Clicchiamo due volte sul MovieClip quadrato
nella libreria. Entriamo nella scena principale del MovieClip. Qui troviamo di nuovo la nostra forma, il quadrato che abbiamo disegnato inizialmente. Modifichiamolo facendolo diventare un rettangolo, quindi torniamo alla scena cliccando su Scena 1
e vedremo entrambe le istanze di quadrato modificate: sia Pluto
, sia Pippo
sono diventati rettangoli, ma ciascuna istanza mantiene le relative proporzioni.
Questo concetto è molto utile quando si vogliono fare delle generalizzazioni e dei casi particolari e non è da sottovalutare anche per chi si avvicina ad ActionScript per la prima volta.