Il bello di Flash è proprio la possibilità di riutilizzare lo stesso simbolo più volte, trascinandone un'istanza dalla Libreria sullo Stage.
Il problema è: se apporti delle modifiche all'istanza sullo stage, questa modifica viene replicata su tutte le istanze, per cui se crei un pulsante con dentro un campo di testo statico dove scrivi "HOME", tutte le istanze del pulsante (puoi crearne quante vuoi semplicemente, come detto sopra, trascinando il simbolo dalla libreria allo stage) avranno la dicitura "HOME" e, per lo stesso motivo, se modifica un'istanza cambiando il contenuto del campo di testo in "CONTACT" tutte le altre istanze verranno cambiate in CONTACT.
Come aggirare questo problema?
Soluzione 1.
Duplicare il simbolo in libreria tante volte quanto serve e modificare i duplicati (sempre operando dalla libreria) secondo le necessità.
SOluzione pratica ma non molto elegante, che aumenta il peso del filmato.
Soluzione 2.
Invece che un campo di testo statico, usare un campo di testo dinamico, assegnargli un nome-istanza quindi valorizzare il campo di testo con uno script.
Esempio su tre pulsanti che dovranno contenere: HOME, ABOUT, CONTACT.
> Il simbolo pulsante è uno solo in libreria.
> tramite il pannello delle proprietà assegni un nome istanza al campo di testo dinamico in esso contenuto (p.es. "voce");
> ne trascini 3 istanze sullo stage
> dal pannello delle proprietà assegni ad ogni istanza un nome (p.es.: P0, P1, P2)
> sul primo frame della timeline principale scrivi questo codice:
codice:
voceMenu = New Array("HOME", "ABOUT", "CONTACT");
for (i=0; i<voceMenu.length; i++) {
this["P"+i].voce.text = voceMenu[i];
}