Originariamente inviato da cleverboy
Vi ripeto... è pseudocodice... si fa per capirci!
Se non l'avessi specificato ti avrei detto che dovevi postare la funzione "crea_text_field"
Allora io ti do la soluzione che preferisco, anche se non è detto che a te possa andare bene.
Quando devo creare oggetti legati ad un indice, utilizzo un array per stiparli in modo tale che in qualsiasi momento dopo averli creati e in qualsiasi altra parte del filmato, avrò disponibile un puntatore ad ogni oggetto creato, semplicemente richiamando l'array con il suo indice.
Intanto in AS3 per creare un textfield si usa il costruttore e non più la funzione "createTextField". Detto questo, bisogna ricordarsi che prima si crea il campo e poi lo si deve aggiungere alla visualizzazione con addChild.
Codice PHP:
var myTextField:TextField = new TextField();
addChild(myTextField);
In una riga si può creare il campo e aggiungerlo allo stage in questo modo:
Codice PHP:
var myTextField:TextField = addChild(new TextField()) as TextField;
Per aggiungere ad esempio 10 textfield, ci creiamo il nostro array e poi con un ciclo, aggiungiamo all'array con un push (e automaticamente ci ritroveremo i campi anche sullo stage)
Codice PHP:
var tfArray:Array = [];
for (var i:uint=0; i<10; i++) {
tfArray.push (addChild(new TextField()) as TextField);
tfArray[i].width = 100;
tfArray[i].height = 20;
tfArray[i].y = 20*i;
tfArray[i].border = true;
tfArray[i].background = true;
tfArray[i].text = "testo"+i;
}
Come puoi notare, basta richiamare l'array con l'indice per assegnare al textfield tutte le proprietà di cui dispone e gestirlo in piena libertà e in autonomia rispetto alla timeline di appartenenza.