Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2010, 00:13
Avatar de annirami
annirami
 
Fecha de Ingreso: septiembre-2009
Ubicación: Lima, Perú
Mensajes: 53
Antigüedad: 15 años, 2 meses
Puntos: 3
Mensaje cargar swf externo con menu hecho en XML (AS3)

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 original
  1. package
  2. {
  3.     import flash.display.Sprite;
  4.     import flash.events.Event;
  5.     import flash.events.IOErrorEvent;
  6.     import flash.events.MouseEvent;
  7.     import flash.net.URLRequest;
  8.     import flash.net.URLLoader;
  9.     import flash.net.*;
  10.  
  11.     public class MenuDinamico extends Sprite
  12.     {
  13.         public var datos:XML;
  14.  
  15.         public function MenuDinamico():void
  16.         {
  17.             var loader:URLLoader = new URLLoader();
  18.             loader.addEventListener(Event.COMPLETE, cargado);
  19.             loader.addEventListener(IOErrorEvent.IO_ERROR, error);
  20.             loader.load(new URLRequest("datos.xml"));
  21.         }
  22.  
  23.         private function error(e:IOErrorEvent):void
  24.         {
  25.             trace("error al cargar el XML: " + e);
  26.         }
  27.  
  28.         private function cargado(e:Event):void
  29.         {
  30.             datos=new XML(e.target.data);
  31.             montar();
  32.         }
  33.  
  34.         private function montar():void
  35.         {
  36.             var boton:ElementoMenu;
  37.             for (var i:uint = 0; i < datos.elementos.elemento.length(); i++)
  38.             {
  39.                 boton = new ElementoMenu();
  40.                 boton.Texto_txt.text=datos.elementos.elemento[i].titulo;//llama texto de xml
  41.                 boton.enlace=datos.elementos.elemento[i].enlace;//llama enlace de xml
  42.                 boton.movie=datos.elementos.elemento[i].movie;//llama swf xml
  43.                 boton.x=i*200;
  44.                 boton.y=5;
  45.  
  46.                 boton.buttonMode=true;
  47.                 boton.mouseChildren=false;
  48.                 boton.addEventListener(MouseEvent.CLICK, navegar);
  49.                 //boton para llamar swf
  50.                 boton.addEventListener(MouseEvent.MOUSE_OVER, cargarswf);
  51.                 addChild(boton);
  52.             }
  53.         }
  54.         private function navegar(e:MouseEvent):void
  55.         {
  56.             navigateToURL(new URLRequest(e.currentTarget.enlace), "_blank");
  57.         }
  58.  
  59.         private function cargarswf(e:MouseEvent):void
  60.         {
  61.             /*aqui es donde he querido cargar y
  62.             visualizar el swf externo...y no he podido*/
  63.             trace(e.currentTarget.movie);
  64.         }
  65.     }
  66. }

Espero me hayan entendido bien, y puedan ayudarme.
saludos y gracias :]