Vamos allá...
Tengo el siguiente problema para cargar archivos xml sin utilizar la linea de tiempo. Estoy utilizando hojas de código que no están sobre la linea de tiempo y no tengo fotogramas en el escenario. En la biblioteca tengo dos botones exportados para action script como Avanzar y Retroceder. También tengo un movie clip exportado con nombre de Paginas, que es donde quiero que se cargue el xml. Los botones son para avanzar y retroceder las fotos que están almacenadas en la carpeta imágenes, que se encuentra almacenada junto al archivo fla y al archivo xml. Las clases están en una otra carpeta denominada Clases. En clases tengo los siguientes archivos as.:
Código ActionScript :
//este es el botón Avanzar.as package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; public class Avanzar extends SimpleButton { public function Avanzar() { x=0; y=100; } } }
Código ActionScript :
//este es el botón Retroceder.as package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; public class Retroceder extends SimpleButton{ public function Retroceder() { x = 0; y = 0; } } }
En paginas, como no comente arriba. Tengo un texto dinamico con propriedades de descripcion y otro clip de película con nombre de foto y con propiedades también de foto. Ninguno de los dos esta exportado para action script porque ya se encuentran en Paginas que si que esta exportada, como mencione arriba. Por favor me corrijan se estoy equivocado en esto también, en el caso de que tuviera que exportarlos y crearles clases a cada uno de ellos.
Código ActionScript :
//Este es el documento denominado Noticias.as que es documento principal del proyecto. package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; public class Noticias extends MovieClip { public var avanzar:Avanzar; public var retroceder:Retroceder; public var paginas:Paginas; public function Noticias() { avanzar = new Avanzar(); avanzar.addEventListener(MouseEvent.CLICK,siguiente); addChild(avanzar); retroceder= new Retroceder(); retroceder.addEventListener(MouseEvent.CLICK, atras); addChild(retroceder); paginas= new Paginas(); addChild(paginas); } public function siguiente(event:MouseEvent) { if (i<total-1) { i++; } descripcion.text=lista[i].attribute("descripcion"); fotos.load(new URLRequest(lista[i].attribute("imagen"))); } public function atras(event:MouseEvent) { if (i>0) { i--; } descripcion.text=lista[i].attribute("descripcion"); fotos.load(new URLRequest(lista[i].attribute("imagen"))); } } }
Código ActionScript :
//Este es el documento Paginas.as donde quiero que se carguen los XML. package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; import fl.containers.UILoader; import flash.net.URLRequest; import flash.net.URLLoader; import fl.data.DataProvider; public class Paginas extends MovieClip { public var loader:URLLoader = new URLLoader(); public var XmlExterno:XML; public var i:Number=0; public var lista:XMLList; public var total:Number; public var fotos = new Loader(); addChild(fotos); fotos.x=100; fotos.y=50; loader.addEventListener(Event.COMPLETE,cargarXML); loader.load(new URLRequest("galeria.xml")); public function Paginas() { x=300; y=200; } public function cargarXML(event:Event) { //Aqui el error 1046 var cargador:URLLoader=event.target as URLLoader; XmlExterno=new XML(cargador.data); lista=XmlExterno.children();//Aqui el error 3594 dice que children no es reconocido en XMLList total=lista.length();//Aqui el error 3594 método no reconocido de la clase dinamica XMLList var foto = new Loader(); addChild(foto); descripcion.text=lista[i].attribute("descripcion"); fotos.load(new URLRequest(lista[i].attribute("imagen"))); } } }
En el compilador me aparecen los siguientes errores......:
1046: No se encontró el tipo o no es una constante en tiempo de compilación: Event.
Warning: 3594: children no es un método reconocido de la clase dinámica XML.
Warning: 3594: length no es un método reconocido de la clase dinámica XMLList.