Flash: nome istanza con ciclo for e array

Di: Joint | 26/09/2020 18:13:19
Salve...
ho 81 combobox che hanno, ovviamente, 81 nomi di istanza diversi.
vorrei tracciarne la label (o il valore data) analizzando il nome istanza con dei cicli for e degli array.
ho fatto una cosa simile con questo codice:
stop();
//array problema
var c:Array = new Array("a", "b", "c", "d", "e", "f", "g", "h", "i");
for (var i:Number = 0; i<9; i++) {
var r:Array = new Array("1", "2", "3", "4", "5", "6", "7", "8", "9");
for (var o:Number = 0; o<9; o++) {
sel = c[i]+"p"+r[o];
trace(sel+" - "+this.sel.label);
}
}
ma ovviamente il codice in grassetto mi da come risultato "undefined" perchè non esiste nessun combobox chiamato "se".
come faccio a tracciare la label o i dati di una combobox il cui nome istanza deve risultare dal ciclo for. (ovvero come faccio a far capire all'interprete actionscript che "se" dell'istruzione "this.sel.labe" è una variabile e non un nome specifico?).
grazie a tutti.

Risposte



hai provato con eval()?
Dalla guida di Flash:
Uso
eval(expression)
Operandi
expression Il nome della variabile, della proprietà, dell'oggetto o del clip filmato da recuperare.
Descrizione
Funzione; accede a variabili, proprietà, oggetti e clip filmato in base al nome. Se expression è una variabile o una proprietà, viene restituito il valore della variabile o della proprietà. Se expression è un oggetto o un clip filmato, viene restituito un riferimento all'oggetto o al clip filmato. Se l'elemento nominato in expression non viene trovato, viene restituito il valore undefined.
quindi
trace(sel+" - "+eval("this."+sel).label);
dovrebbe funzionare.

Di: Professore | 26/09/2020 18:14:19