Comunidad de diseño web y desarrollo en internet online

cargar imagenes desde una xml en as3

Citar            
MensajeEscrito el 09 Jul 2010 02:08 am
Hola tu:

Necesito ayuda:

Ando desesperado, no logro hacer que se visualisen las imagenes de mi xml en as3, ya no se que mas intentar, si alguien pudiera corregir y en el dado caso completar mi codigo, estare muy agredecido, creanme ya estoy vuelto loco, ahhh!

Tambien quisiera saber, como poner los elementos de mi xml es un arreglo. En este caso los elementos del xml son imagenes.

Gracias.

Pablo. :shock:

Pd: les dejo el codigo del xml y del as3.

XML:

Código XML :

<?xml version="1.0" encoding="UTF-8"?>
<imagenes>
  <img src="imagenessss/img1.jpg"/>
  <img src="imagenessss/img2.jpg"/>
</imagenes>



AS3:

Código ActionScript :

import flash.display.Sprite;
import flash.display.Loader;
import flash.events.*;
import flash.net.URLRequest;

var nombre_archivo:String="imagenes2.xml";
var ach_imagen:XML=new XML  ;
var llamar_xml:URLRequest=new URLRequest(nombre_archivo);
var cont_xml:URLLoader=new URLLoader(llamar_xml);
var contenedorImagenes:Sprite = new Sprite();
var arreglo:Array;

cont_xml.addEventListener(Event.COMPLETE, xmlLoaded);

addChild(contenedorImagenes);
contenedorImagenes.x=0;
contenedorImagenes.y=0;
contenedorImagenes.width=500;
contenedorImagenes.height=400;
contenedorImagenes.visible=true;



function xmlLoaded(event:Event):void
{
    ach_imagen = XML(cont_xml.data);
    arreglo=ach_imagen.descendants("img");
    
}

Por DarkLordDragon

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Jul 2010 02:53 pm
Movido al foro de AS3.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 11 Jul 2010 06:11 am
No man, eso no esta nada bien. No sabría por donde empezar a corregirte, mejor leete como usar XML con AS3 (http://www.cristalab.com/tips/xml-en-actionscript-3-con-e4x-c39755l/) y como cargar imagenes en AS3 (http://foros.cristalab.com/cargar-imagen-en-as3-de-la-forma-mas-as2-posible-t65039/).

Más allá de saber realmente manipular eso, debes saber, que tendrías que crear algun tipo de lógica para mostrar esas imagenes en tu escenario, mágicamente no se ordenarán.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 11 Jul 2010 05:05 pm
mira te pongo un ejemplo muy simple para q lo completes como necesitas
el xml

Código XML :

<?xml version="1.0" encoding="UTF-8"?> 
<imagenes> 
  <img src="http://upload.wikimedia.org/wikipedia/commons/c/c5/J-Eje_Ambiental.png"/> 
  <img src="http://www.gnomys.es/images2/LTF06050.gif"/> 
</imagenes>


y en el fla

Código ActionScript :

var loadXML:URLLoader=new URLLoader(new URLRequest("test.xml"))
var loadIMG:Loader
var xml:XML


loadXML.addEventListener(Event.COMPLETE, onLoadXML)

function onLoadXML(e:Event)
{
   xml= new XML (loadXML.data)
   for each(var img:XML in xml..img)
   {
      trace(img..@src)
      loadIMG=new Loader
      loadIMG.load(new URLRequest(img..@src))
      addChild(loadIMG)
   }
   
}

Y otra cosa no es necesario, q conviertas tu XML en un Array, ya q este funciona como un Array, si quieres acceder solo a un elemento puedes hacer como lo harias en el Array, por ejemplo asi : trace(xml..@src[0])

Saludos

Por el_putas

58 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 Feb 2011 01:46 pm
sencillo el codigo... pero podrias comentar algiunas lineas para que se pueda usar como aprendizaje? por ejemplo que es lo que haces en el for each cuando creas una variable?
o que son esas @ en el scr? perdon pero me confunde y no logro hacerlo andar..
gracias.

Por di3

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Feb 2011 02:58 pm

Código ActionScript :

var loadXML:URLLoader=new URLLoader(new URLRequest("test.xml")) //leo el XML
var loadIMG:Loader  // creo el objecto q carga las imagenes
var xml:XML  // creo el objecto XML
 
 
loadXML.addEventListener(Event.COMPLETE, onLoadXML)  // añodo un listenes para saber cuando completa la carga
 
function onLoadXML(e:Event) 
{ 
   xml= new XML (loadXML.data) //lleno el objeto XML con la data del XML
   for each(var img:XML in xml..img) //creo otro objeto XML y lo lleno con los nodos img del objeto xml 
   { 
      trace(img..@src)
 /* hago un trace de mi nuevo XMl (img) y ingreso a los nodos q se llame src, por eso el arroba ".@" para atributo y "." para nodo, ".." para un nodo en cualquier lugar hacia abajo del XML y "..@" para un atributo para cualquier nodo hacia abajo en el XML*/
      loadIMG=new Loader  // seteo el objecto de carga
      loadIMG.load(new URLRequest(img..@src)) // y lo lleno con la imagen 
      addChild(loadIMG) //lo añado al escenario
   } 
    
}


Bueno espero te quede claro asi
Saludos

Por el_putas

58 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 Feb 2011 04:25 pm
aun no lo probe... desde ya MILLONES DE GRACIAS QUEDO muy claro.. ;)
y los comentarios perfectos ;) gracias!

Por di3

33 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.