Ho fatto un test per riuscire a comprendere esattamente quello che ti succede e ho trovato un po' di difficoltà a risalire al filmato principale, dopo aver fatto due annidamenti.
Ho usato tre Document Class, una per ogni file annidato, che si presentano in questo modo:
Codice PHP:
// main.as
package {
import flash.display.Loader;
import flash.display.MovieClip;
import flash.net.URLRequest;
public class main extends MovieClip {
public function main () {
var l:Loader = addChild(new Loader()) as Loader;
l.load(new URLRequest("primo.swf"));
}
}
}
// primo.as
package {
import flash.display.Loader;
import flash.display.MovieClip;
import flash.net.URLRequest;
public class primo extends MovieClip {
public function primo () {
var l:Loader = addChild(new Loader()) as Loader;
l.load(new URLRequest("secondo.swf"));
}
}
}
// secondo.as
package {
import flash.display.MovieClip;
import flash.events.Event;
public class secondo extends MovieClip {
public function secondo () {
addEventListener(Event.ADDED_TO_STAGE, added);
}
private function added (event:Event) {
if (this['parent']['parent']['parent'] != null) {
trace(this['parent']['parent']['parent']['root']);
}
}
}
}
I primi due effettuano solo i caricamenti a catena, quindi main carica primo e primo carica secondo, mentre il codice incriminato è quello di secondo che deve trovare, attraverso un annidamento di "parent", quello principale, che nel nostro caso è appunto "main". Così ad ogni annidamento successivo, bisogna aggiungere i parent per poter rintracciare la timeline principale e raggiungere gli elementi che ci interessano in questo modo.
Direi che non è affatto comodo, ma è la soluzione più plausibile in un caso del genere.