Hola que tal, saqué un ejemplo de este
tutorial, que era crear un menu dinámico con as3 y xml. Cada botón se crea y linkea mediante una lista xml. Lo que he querido agregar es que aparte de linkear y direccionar hacia una página, es que cargue un swf externo al hacer mouse_over al botón, asi como ésta imagen:
Pero esa es la parte en que no he podido resolver, aunque se como se hace una carga externa con as3 y he aplicado eso, me para saliendo error.
Aqui muestro el código:
Código actionscript:
Ver originalpackage
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.net.*;
public class MenuDinamico extends Sprite
{
public var datos:XML;
public function MenuDinamico():void
{
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, cargado);
loader.addEventListener(IOErrorEvent.IO_ERROR, error);
loader.load(new URLRequest("datos.xml"));
}
private function error(e:IOErrorEvent):void
{
trace("error al cargar el XML: " + e);
}
private function cargado(e:Event):void
{
datos=new XML(e.target.data);
montar();
}
private function montar():void
{
var boton:ElementoMenu;
for (var i:uint = 0; i < datos.elementos.elemento.length(); i++)
{
boton = new ElementoMenu();
boton.Texto_txt.text=datos.elementos.elemento[i].titulo;//llama texto de xml
boton.enlace=datos.elementos.elemento[i].enlace;//llama enlace de xml
boton.movie=datos.elementos.elemento[i].movie;//llama swf xml
boton.x=i*200;
boton.y=5;
boton.buttonMode=true;
boton.mouseChildren=false;
boton.addEventListener(MouseEvent.CLICK, navegar);
//boton para llamar swf
boton.addEventListener(MouseEvent.MOUSE_OVER, cargarswf);
addChild(boton);
}
}
private function navegar(e:MouseEvent):void
{
navigateToURL(new URLRequest(e.currentTarget.enlace), "_blank");
}
private function cargarswf(e:MouseEvent):void
{
/*aqui es donde he querido cargar y
visualizar el swf externo...y no he podido*/
trace(e.currentTarget.movie);
}
}
}
Espero me hayan entendido bien, y puedan ayudarme.
saludos y gracias :]