Muchas Gracias Eliseo2 por la nueva respuesta, sencillamente puse el nombre del movie clip vacio (escena_mc) antes de addChild(contenedor), y ahora si me muestra una foto o un swf externo al lado de la lista en un movie clip vacio.
Más abajo hay unas preguntas, por ahora muestro el código completo en AS3 y funcionando:
Código en AS3:
//Importo las clases necesarias
import flash.display.Loader;
import flash.net.URLLoader;
import flash.display.Sprite;
import flash.events.*;
import flash.net.URLRequest;
var contenedor:Loader=new Loader() ;
escena_mc.addChild(contenedor); // <-- Carga un swf externo en un Movie Clip vacio.
var loader:URLLoader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.load(new URLRequest("texts.txt"));
loader.addEventListener(Event.COMPLETE,carga);
loader.addEventListener(Event.COMPLETE,cargaArchivo);
//Funcion que carga un archivo plano en .txt
function carga(event:Event) {
cargatexto.htmlText = (loader.data.miVariable);
}
//Funcion que carga un swf o un jpg externa desde un archivo plano .txt
function cargaArchivo(evt:TextEvent):void {
contenedor.load(new URLRequest(evt.text));
}
cargatexto.addEventListener(TextEvent.LINK,cargaArchivo);
Si esta funcionando, pero sale como una advertancia en la salida del compilador, donde al hacer un 'trace muestra ahi en la salida', y es ese, pero no es nada grave:
--------------------------------------------------------------------------------------------
TypeError: Error #1034: Error de conversión forzada: no se puede convertir flash.events::Event@4db9b51 en flash.events.TextEvent.
at flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/flash.net:URLLoader::onComplete()
--------------------------------------------------------------------------------------------
Cómo cuadrar el error ó la advertencia ? porque al dar click al archivo swf también sale este errorcito.
-------------------------------------------
Ahora, estoy haciendo para cargar un swf externo con un XML, igualito al anterior que es con un .txt, y no he logrado que me muestre los datos de un XML en un SWF principal (en un text Area), pero si en la salida con un 'trace', en el archivo XML lo tengo asi: el nombre del XML es: cargadatos.xml
-----------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-15" ?>
<datos>
<info>
<![CDATA[listas de imagenes externas a cargar:<br> <a href="Event:imagenes/foto1.jpg">Cargar Foto 1</a><a href="Event:imagenes/foto2.jpg">Cargar Foto 2</a> <br>
Listas de SWF externas a cargar: <br> <a href="Event:swf/mi_swf1.swf">Cargar SWF 1</a><a href="Event:swf/mi_swf1.swf">Cargar SWF 2</a> ]]>
</info>
</datos>
--------------------------------------------------------------------------------------------------
Y el Código en AS3 para cargar un swf ó un jpg externo con el XML
//Importo las clases necesarias
import flash.display.Loader;
import flash.net.URLLoader;
import flash.display.Sprite;
import flash.events.*;
import flash.net.URLRequest;
var contenedor:Loader=new Loader() ;
escena_mc.addChild(contenedor); // <-- Carga un swf en un Movie Clip vacio.
//contenedor.contentLoaderInfo.addEventListener(Event.INIT,initHandler);
var loader:URLLoader=new URLLoader();
loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.load(new URLRequest("cargadatos.xml"));
loader.addEventListener(Event.COMPLETE,carga);
loader.addEventListener(Event.COMPLETE,cargaArchivo);
//Funcion que carga un archivo en .xml
function carga(event:Event):void {
var myXML:XML = new XML(event.target.data);
//cargatexto.htmlText = (loader.data.miVariable);
trace(myXML); //<-- por el momento me muestra el XML en la salida, pero no en el SWF principal.
}
//Funcion que carga una imagen ó swf externo desde un .xml
function cargaArchivo(evt:TextEvent):void {
contenedor.load(new URLRequest(evt.text));
}
cargatexto.addEventListener(TextEvent.LINK,cargaArchivo);
Entonces como hago para que me carge el XML en un SWF principal (Mostrando la lista de los enlaces) y que al dar click en uno de los enlaces, carga un swf o un imagen externa ?
Muchas Gracias ...