Ok, vedi è come ti dicevo, a seconda di come hai scritto la classe e di cosa questa rappresenti, la soluzione sarà diversa.
Nel tuo caso quella che hai scritto è con tutta probabilità una document class che usi nel tuo progetto flash collegandola al filmato nell'apposito campo di testo che si trova tra le proprietà del filmato.
Una document class è una classe che racchiude in se la timeline principale e ne diventa vettore per i comportamenti che appunto la main timeline dovrà seguire.
Praticamente diciamo che questa sostituirà la nostra root.
Ecco, il fatto che sostituisca la nostra root fa anche in modo di eliminare le variabili che abbiamo definito nella timeline rendendole nulle, se fai ad esempio una semplice prova con una document class ridotta all'osso e fai un trace della proprietà che avevi definito, oltre alla proprietà "root" otterrai null sulla prima e [object Main] sulla seconda. Spero che a questo punto sia comprensibile il motivo di questi risultati.
Codice PHP:
// sul filmato metto solo questa riga
var xml_string:String = "test.xml";
// gli collego la classe Main che avrà questa forma
package {
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip {
public function Main ():void {
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init (evt:Event = null):void {
removeEventListener(Event.ADDED_TO_STAGE, init);
trace(root.xml_string); // è uguale scrivere questa o la riga successiva
trace(xml_string);
trace(root);
trace(this); // restituisce lo stesso valore della riga precedente perché la classe Main, in quanto document class, equivale a root, ossia alla timeline principale del filmato
}
}
}
In finale, usare una variabile sulla timeline non ha senso in questo caso, considerato che la classe che usiamo sostituirà poi la stessa timeline, di conseguenza la cosa migliore sarà ancora quella di scrivere la stringa direttamente nel codice della classe.
Ora una domanda mi giunge spontanea rispetto a quello che ho visto e a quanto ti ho scritto: a cosa ti servirebbe scrivere il nome dell'xml sulla timeline invece che direttamente sulla classe?