Foros del Web » Creando para Internet » Flash y Actionscript »

Creacion dinamica de objetos AS3

Estas en el tema de Creacion dinamica de objetos AS3 en el foro de Flash y Actionscript en Foros del Web. jejej pues bueno, yo otra ves molestando, el problema que tengo ahora es el siguiente: Quiero crear "N" objetos apartir de una lista que tengo ...
  #1 (permalink)  
Antiguo 20/08/2010, 15:10
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 2
Creacion dinamica de objetos AS3

jejej pues bueno, yo otra ves molestando, el problema que tengo ahora es el siguiente:

Quiero crear "N" objetos apartir de una lista que tengo en un archivo xml, hasta ahurita lo que tengo es esto:

Código actionscript:
Ver original
  1. var loader:URLLoader = new URLLoader();
  2. var XmlExterno:XML;
  3. var i:Number=0;
  4. var lista:XMLList;
  5. var total:Number;
  6.  
  7. function cargarXML(e:Event):void{
  8.     var cargador:URLLoader = URLLoader(e.target);
  9.     XmlExterno = new XML(cargador.data);
  10.    
  11.     lista=XmlExterno.children();
  12.     total=lista.length();
  13.    
  14.     descripcion.text=lista[i].attribute("descripcion");
  15.     for (i; i<total; i++)
  16.     {
  17.         var fotos:UILoader = new UILoader();
  18.         fotos.name = "img"+i;
  19.         fotos["img"+i].source = lista[i].attribute("imagen");
  20.         fotos["img"+i].x = Math.random();  
  21.         fotos["img"+i].y = Math.random();
  22.         addChild(fotos);
  23.     }
  24. }

Pero cada ves que pruebo me sale el siguiente error:
"No se encontró la propiedad img0 en fl.containers.UILoader y no hay ningún valor predeterminado."

jeje alguien sabe que puedo hacer al respecto????
De antemando gracias ^^
  #2 (permalink)  
Antiguo 20/08/2010, 23:14
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Creacion dinamica de objetos AS3

Hola
bueno, intenta solo usar ["img"+i] luego que asignas el name en vez de fotos["img"+i]
si con esto persiste, entonces podrías publicar el xml y comentar un poco más sobre como esta distribuido el fla o podrías subirlo a una url para descargarlo?
nos comentas, saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 21/08/2010, 01:39
 
Fecha de Ingreso: enero-2010
Mensajes: 34
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: Creacion dinamica de objetos AS3

GRACIAS POR TU RESPUESTA MORTI¡¡¡¡¡¡ otra ves salvandome la cabellera(jeje literalmente porque ya me estaba arrancando los pelos de la cabeza)...otra ves tus sabias palabras me dieron la idea de como resolverlo, antes comentar que con tu respuesta no funciono, pero al decirme que no era necesario usar el "fotos["img"+i]" y tras 10 minutos de observacion y prueba/error (mas error que prueba)...llegué a la conclución magica:

Estoy creando un objeto uiloader por medio de una variable (que esta es la parte esencial del problema), al cual le estoy asignando un nombre, entonces para asignarle un nombre al objeto, se pasa por medio de la variable, tns al final lo unico que realmente debo de hacer es agregar la variable, pk a fin de cuentas, al reiniciar el ciclo for, la variable se resetea....jejejejje ahora con un poco de codigo para que se entienda:

Código actionscript:
Ver original
  1. var loader:URLLoader = new URLLoader();
  2. var XmlExterno:XML;
  3. var i:Number=0;
  4. var lista:XMLList;
  5. var total:Number;
  6. var fotos:UILoader;
  7.  
  8. loader.addEventListener(Event.COMPLETE,cargarXML);
  9. loader.load(new URLRequest("galeria.xml"));
  10.  
  11. function cargarXML(e:Event):void{
  12.     var cargador:URLLoader = URLLoader(e.target);
  13.     XmlExterno = new XML(cargador.data);
  14.    
  15.     lista=XmlExterno.children();
  16.     total=lista.length();
  17.    
  18.     descripcion.text=lista[i].attribute("descripcion");
  19.     for (i=0; i<total; i++)
  20.     {
  21.         fotos = new UILoader();
  22.         fotos.name = "img"+i.toString();
  23.         fotos.source = lista[i].attribute("imagen");
  24.         fotos.x = 50;
  25.         fotos.y = 60;
  26.         addChild(fotos);
  27.         //trace(fotos.name);
  28.     }
  29. }

RESUMIENDO: la variable es la que crea el objeto,y toda propiedad del objeto recien creado lo paso por medio de la variable, y listo, jejej eso es todo.

MORTI muchas gracias otra ves por tu ayuda y te vuelvo a repetir, lo que dijiste fue lo que me llevo al camino correcto ^^

Etiquetas: dinamica, objetos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:00.