Il comando corretto è:
_root.testi.loadmovie("galleria_xml.swf");
senza il "2".
A parte questo, è un problema di percorsi. Quando carichi il filmato in un movieclip, la _root non è più quella del filmato esterno, ma quella del filmato principale. Quindi devi cambiare, nel filmato esterno, tutti i riferimenti assoluti:
codice:
//allinterno di galleria_xml.swf primo frame
stop();
fscommand("allowscale", false);
fscommand("showmenu", false);
// preparazione al caricamento file esterno xml
myXML = new XML();
// ignoro gli spazi bianchi della formattazione del file xml
myXML.ignoreWhite = true;
// carico il file
myXML.load("galleriafoto.xml");
// prima di proseguire verifico che tutto il file sia caricato
myXML.onLoad = function()
{
trace("test = " + myXML.firstChild.nodeName + " ... XML caricato");
gotoAndStop(2);
};
//allinterno di galleria_xml.swf secondo frame
stop();
// variabili dinamiche
numerofoto = myXML.childNodes[0].childNodes.length;
quadri = myXML.childNodes[0].attributes.quadri;
passo = myXML.childNodes[0].attributes.passo;
// posizionamento quadri vuoti
distanza = 0;
livello = 1;
for (l = 1; l < quadri + 1; l++) {
livello++;
this.attachMovie("quadro", "quadro" + livello, livello);
this["quadro" + livello]._x = 15 * l + (-15) + 10;
this["quadro" + livello]._y = 0 + distanza + 110;
if (l == passo) {
distanza += 15;
l = 0;
quadri -= passo;
}
}
// posizionamento clip, numeri e link per le immagini
distanza = 0;
livello = 100;
for (l = 1; l < numerofoto + 1; l++) {
livello++;
this.attachMovie("clip", "clip" + livello, livello);
this["clip" + livello]._x = 15 * l + (-15) + 10;
this["clip" + livello]._y = 0 + distanza + 110;
this["clip" + livello].mytext = livello - 100;
this["clip" + livello].pos = myXML.childNodes[0].childNodes[livello - 101].attributes.pos;
this["clip" + livello].nome = myXML.childNodes[0].childNodes[livello - 101].attributes.nome;
if (l == passo) {
distanza += 15;
l = 0;
numerofoto -= passo;
}
}