Problema swf externo a través de xml
¡Hola todos!
Estoy intentando resolver un problema con un swf externo que no consigo visualizar correctamente.
Tengo un swf principal que llama a un swf externo a través de un xml.
Si quiero llamar a una imagén o a un swf todo funciona correctamente pero si el swf externo llama a imágenes externas o tiene que ejecutar flv no funciona.
Además no entiendo por qué ejecutando desde flash el swf principal me sale como output de error justamente las 3 imagenes que tendría que cargar el archivo externo.
He intentado también, aunque no hace falta porque no he puesto ninguna "_root", poner this._lockroot = true; en el falsh externo pero nada....
¿Alguien sabría decirme donde está el error, si le ha pasado algo parecido? Esta es la llamada muy sencilla a los archivos externos...
my_xml = new XML();
my_xml.load("config.xml");
my_xml.onLoad = my_function;
my_xml.ignoreWhite = 1;
function my_function() {
btn1.text_field_1.text = my_xml.firstChild.childNodes[0].attributes.product_name;
imagen1 = my_xml.firstChild.childNodes[1].attributes.image_name;
imagen1b = my_xml.firstChild.childNodes[2].attributes.image_name;
var link1a = my_xml.firstChild.childNodes[3].firstChild.nodeValue;
var link1b = my_xml.firstChild.childNodes[4].firstChild.nodeValue;
var link1 = my_xml.firstChild.childNodes[5].firstChild.nodeValue;
btn2.text_field_1a.text = my_xml.firstChild.childNodes[6].attributes.product_name;
imagen2 = my_xml.firstChild.childNodes[7].attributes.image_name;
imagen2b = my_xml.firstChild.childNodes[8].attributes.image_name;
var link2a = my_xml.firstChild.childNodes[9].firstChild.nodeValue;
var link2b = my_xml.firstChild.childNodes[10].firstChild.nodeValue;
var link2 = my_xml.firstChild.childNodes[11].firstChild.nodeValue;
_root.imageframe1.carg.loadMovie(imagen1);
_root.link1 = link1;
_root.link1a = link1a;
_root.link1b = link1b;
_root.imageframe2.carg.loadMovie(imagen2);
_root.link2 = link2;
_root.link2a = link2a;
_root.link2b = link2b;
}
Muchas gracias.
lukanicos
BuenAS:
Veo que estás utilizando _root para hacer referencia a algunos símbolos/variables. Es estos casos es conveniente hacer en el swf cargado(también se puede escribir en el swf cargador):
this._lockroot = true;
Esto hace que cuando te refieras a _root realmente sea el _root del swf cargado.
Por otro lado, y como norma general, es buena práctica intentar en la medida de lo posible no utilizar referencias absolutas a través de _root.
Un saludo.
marco_sansa
Hola Lukánicos, gracias por tu respuesta.
_root lo he utilizado en el swf principal y no en el swf externo, además hice la prueba
también como has dicho tu utilizando _lockroot en el archivo externo pero nada.
lukanicos
...si, me he dado cuenta después que ya comentabas que habías utilizado _lockroot