Come avrete capito questo stratagemma che nn riesco a far funzionare mi farebbe risparmiare parecchio tempo e byte xhe creo solo un oggetto PIPPO e lo metto tutte le volte che mi serve : morale se avessi 50 variabili da leggere dovrei fare 50 PIPPO mentre così ne faccio uno solo e addirittura se voglio cambiare sfondo o colore, modificando 1 solo PIPPO mi si modificano tutti 50 !
Ovviamente.. questo è il procedimento base che si utilizza con la programmazione ad oggetti.
Come ha scritto crescenzo puoi istanziare il clip via action script.. oppure, come hai fatto tu, lo puoi posizionare sullo stage e istanziarlo a mano quante volte vuoi. A quel punto puoi richiamare ogni istanza (tramite il relativo nome istanza) e passare variabili, manipolare le relative timeline, applicare funzioni e via dicendo...
Io però non capisco cos'è che ti viene difficile fare di tutto questo..
Prendendo l'ultimo tuo esempio.
Hai posto un campo di testo dentro PIPPO (che è un clip filmato nella libreria).
Per scrivere dinamicamente (cioè via script), nel campo di testo, devi fare alcune cosette:
- assicurarti che il campo di testo sia dinamico (o eventualmente di input)
- includere eventualmente i caratteri se c'è bisogno (ad esempio se utilizzi caratteri non standard o se applichi delle maschere al campo di testo o in altre occasioni in cui è richiesto includere i caratteri)
- dare un nome istanza al campo di testo (più consigliato) oppure assegnargli una variabile (meno consigliato)
Supponendo ad esempio di aver dato un nome istanza al campo di testo (che è più consigliato rispetto all'associare una variabile) ad esempio lo chiami "campo", e supponendo che un'istanza del clip PIPPO si chiami "LED1", a quel punto puoi scrivere, via script, sul campo di testo in questo modo:
codice:
LED1.campo.text = "io sono LED1";
text è la proprietà che permette di accedere al valore del campo di testo.
Nel caso tu abbia associato una variabile al campo di testo (ad esempio FRANCO), dovrai scrivere una cosa del genere:
codice:
LED1.FRANCO = "quello che vuoi";
Ora .. cos'è che non ti è chiaro di tutto questo procedimento?
Tornando al tuo ultimo esempio, se devi passare il valore della variabile _level0.led1, dovrai scrivere semplicemente:
codice:
LED1.FRANCO = _level0.led1;
Questo, sia chiaro, che lo dovrai scrivere fuori dal clip PIPPO, ad esempio in un frame della stessa timeline dove risiede l'istanza LED1
Avendo più istanze e volendo passare in modo dinamico e automatico i valori delle relative variabili, puoi utilizzare un cliclo for, come ha accennato crescenzo.
Ad esempio:
codice:
for (var i=1; i<=50; i++){
this["LED"+i].FRANCO = _level0["led"+i];
}
Tu però, da quanto mi è sembrato di capire, stavi valutando un'altra soluzione. Cioè leggere le variabili _level0.led_N da dentro le relative istanze LED_N
In questo caso, all'interno di PIPPO, puoi scrivere una cosa del genere:
codice:
FRANCO = _level0[this.toLowerCase(this._name)];
NOTA: ActionScript2 è caseSensitive perciò ho utilizzato la funzione toLowerCase per rendere minuscola la stringa ottenuta passando il nome dell'istanza.
Era questo ciò che cercavi di fare, giusto?