Comunidad de diseño web y desarrollo en internet online

Carga de imagenes desde xml.

Citar            
MensajeEscrito el 29 Sep 2008 11:07 am
Tengo un menú vertical y querría que por cada boton del menú se cargue una imagen adjunta. Las imágenes se cargan desde xml.
Mi programación es esta:

Código :

menuxml = new XML();
menuxml.load("xml-sidemenu-2.xml");
menuxml.ignoreWhite = true;
menuxml.onLoad = function(success) {
   if (success) {
      // MAIN MENU
      xmldata = menuxml.firstChild.childNodes;
      maxnum1 = xmldata.length;
      for (m=0; m<maxnum1; m++) {
         specs1 = xmldata[m];
         duplicateMovieClip(clip0, "clip"+(m+1), m);
         menuclip = eval("clip"+(m+1));
         trace(eval("clip"+(m+1)));
         menuclip.nextheight = nextheight;
         menuclip.thetitle = specs1.attributes.name;
         menuclip.theurl = specs1.attributes.url;
         galeria = specs1.attributes.imagen; --> AKI ESTA EL PROBLEMA
         trace(galeria);
         // -- creo un clip de película vacio
         var diapo:MovieClip=this.createEmptyMovieClip("diapo"+m, m+100);
         // -- cargo la imágen el clip vacio
         item = _root["diapo"+m];
         item.loadMovie(galeria);
         // -- indico posición  x - y
         item._x = 250;
         item._y = 38;
         trace(nextheight+"holitahola");
         
         menuclip.thenum = m+1;
         menuclip.above = eval("clip"+(m));
         //SUB
         maxnum2 = xmldata[m].childNodes.length;
         menuclip.totalsubs=maxnum2;
         for (s=0; s<maxnum2; s++) {
            specs2 = xmldata[m].childNodes[s];
            duplicateMovieClip(menuclip.sub.sub0, "sub"+(s+1), s);
            menuclip2 = eval("clip"+(m+1)+".sub.sub"+(s+1));
            menuclip2._y = menuclip.sub.sub0._height*s;
            menuclip2.thetitle = specs2.attributes.name;
            menuclip2.theurl = specs2.attributes.url;      
         }
         menuclip.sub.sub0._visible = false;
         nextheight = menuclip._y+menuclip._height;
         play();
      }


El problema es que no se me cargan las imágnes, alguien sabe por qué?
Espero alguien me pueda ayudar, lo agradecería mucho.
Un saludo gracias

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Sep 2008 11:27 am
trace(galeria);


¿Que sale en el trace?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Sep 2008 11:41 am
Me salen los nombres de las imágenes que he puesto en el xml. Lo que me resulta muy curioso, porque luego no se cargan.

_level0.clip1
imagen.jpg
_level0.clip2
imagen.jpg
_level0.clip3
imagen.jpg
_level0.clip4
imagen.jpg
_level0.clip5
imagen.jpg
_level0.clip6
simbolo.png
_level0.clip7
simbolo.png
_level0.clip8
simbolo.png

esto es exactamente lo que me sale.
No sé si será cuestión de niveles o qué.

Gracias por contestar.

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Sep 2008 11:57 am
En vez de:

item.loadMovie(galeria);

Usa

diapo.loadMovie(galeria);

Y el trace:

trace("Cargo "+galeria+" en "+diapo)

Luego ya si los datos son coherentes, hay que ver que no haya nada que lo taqpe o que sobreescriba el nivel

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 29 Sep 2008 12:08 pm
No me funciona.

Ahora le he puesto esto:
var diapo:MovieClip = this.createEmptyMovieClip("diapo", 100);
item = ["diapo"+m];
item.loadMovie(galeria);
item._x = 250;
item._y = 100;
trace(["diapo"+m]); //aki traza el num de diapo
trace("Cargo "+galeria+" en "+diapo)// y aki el num de imagen correctamente.

Gracias por estar ayudandome.
Simplemente no carga.

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Sep 2008 12:34 pm
A lo mejor no fui suficientemente claro, yo te dije que remplaces:

diapo.loadMovie(galeria);

Y tu pusiste

item = ["diapo"+m];
etc

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2008 06:42 am
Si si, lo hice, y no funcionó y entonces después hice lo que yo puse.
¿Es posible que me des tu email y te envio el .fla? llevo 3 semanas con esta botonera y no sé que día acabaré con ella. Solo me queda este pequeño detalle.

Un saludo, gracias.

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Sep 2008 09:26 am
¿Es posible que me des tu email y te envio el .fla?


http://www.cristalab.com/foros/t56378_baja-y-arregla-mi-archivo.html

Siguiendo con el tema, sabrás que el 90% de las veces, la respuesta a una sugerencia es "no me funcionó". Pero ahora tenemos la oportunidad de superar ese simplón nivel de análisis e ir mas allá, buscando el por que. Yo sugerí:

diapo.loadMovie(galeria);
trace("Cargo "+galeria+" en "+diapo)

... y no funcionó, ¿que sale en el trace?

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2008 10:10 am
Me parece bien lo que dices.
Hice lo que me dijiste de nuevo.

Código :

galeria = specs1.attributes.imagen;//aki tendría q adjuntar la imagen.
         //trace(galeria);
         // -- creo un clip de película vacio
         var diapo:MovieClip = this.createEmptyMovieClip("diapo", m);
         item = ["diapo"+m];
         diapo._x = 40;
         diapo._y = 20;
         diapo.loadMovie(galeria);
         trace("Cargo "+galeria+" en "+diapo+m)// le añadí esta m xa q dijera dnd exactamnte.


y en el trace me sale esto:

Cargo imagen.jpg en 0
1
Cargo imagen.jpg en 1
2
Cargo imagen.jpg en 2
3
Cargo imagen.jpg en 3
4
Cargo icono-activitats.png en 4
5
Cargo icono-administracio en 5
6
Cargo imagen.jpg en 6
7
Cargo imagen.jpg en 7
8
Me extraña que en el trace haga todo pero yo luego no vea la imagen.
Lo que tengo es un menu vertical que carga sus secciones y subsecciones x xml, y me carga bien las secciones y subsecciones con sus respectivos nombres de boton y sus urls, pero no me carga la imagen adjunta que quiero incluir en los botones de las subsecciones. ¿comprendes? La cosa es atachar una imagen junto con las otras cosas del xml..

Gracias por seguir ayudándome.

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Sep 2008 10:25 am
Bien, no se está creando el contenedor, no se porque agregaste la m, pero si la quitas y dejas esto:

trace("Cargo "+galeria+" en "+diapo)

Saldría:

"Cargo imagen.jpg en "

No puedes usar el mismo nombre para todos, debería ser:

var diapo:MovieClip = this.createEmptyMovieClip("diapo"+m, m+1);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2008 10:36 am
mm sigue sin funcionar. La cosa queda igual:

Código :

var diapo:MovieClip = this.createEmptyMovieClip("diapo"+m, m+1);
         //item = ["diapo"+m];
         diapo._x = 40;
         diapo._y = 20;
         diapo.loadMovie(galeria);
         trace("Cargo "+galeria+" en "+diapo)


con este trace:
Cargo imagen.jpg en
1
Cargo imagen.jpg en
2
Cargo imagen.jpg en
3
Cargo imagen.jpg en
4
Cargo icono-activitats.png en
5
Cargo icono-administracio en
6
Cargo imagen.jpg en
7
Cargo imagen.jpg en
8

Antes te había dicho lo de mandartelo porque hay más programación interna que no te muestro y que no comprendo del todo. Este menú lo he comprado y lo estoy adaptando, por eso que la programación no la entienda toda.
Anteriormente hice el mismo menú por mi sola xo tuve un problema de profundidad. Ya no sé cuál de los dos .fla elegir para solucionar...
Gracias
¿por donde más puedo tirar para intentar apañarlo?
Gracias gracias

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Sep 2008 10:48 am
Bien, no se crea el contenedor como bien se deduce del trace. La primera hipótesis es que this esté apuntando al lugar incorrecto, es decir no estoy en el ámbito adecuado. Para saberlo hago:

trace(this)

Luego posiblemente debería crear el contenedor en otro lado, por ejemplo _root.createEmptyMovieClip o similar, eso ya va en la estructura

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2008 11:56 am
Madremia, si pongo trace(this) el trace que me sale es el contenido de todo el xml.
¿Esto qué significa? Esque yo había puesto lo de this.createEmptyMovieClip() porque me han enseñado que siempre hay que poner this. si no no funciona.
¿Qué hago? ¿a qué debo hacer referencia?
Gracias : :oops:

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Sep 2008 12:00 pm
Mira mi xml es este, x si sirve de algo. Yo creo que la imagen la estoy colocando donde toca...
<?xml version="1.0" encoding="iso-8859-1"?>
<menus>
<menu1 name="INSTITUT" imagen="imagen.jpg">
<sub name="Institut1" url="http://www.google.com"></sub>
<sub name="Institut2" url="http://www.google.com"></sub>
<sub name="Institut3" url="http://www.google.com"></sub>
<sub name="Institut4" url="http://www.google.com"></sub>
<sub name="Institut5" url="http://www.google.com"></sub>
</menu1>
<menu2 name="DEPARTAMENTS" imagen="imagen.jpg">
<sub name="Departament1" url="http://www.google.com"></sub>
<sub name="Departament2" url="http://www.google.com"></sub>
<sub name="Departament3" url="http://www.google.com"></sub>
</menu2>
<menu3 name="ORGANITZACIO" imagen="imagen.jpg">
<sub name="Organitzacio1" url="http://www.google.com"></sub>
<sub name="Organitzacio2" url="http://www.google.com"></sub>
<sub name="Organitzacio3" url="http://www.google.com"></sub>
<sub name="Organitzacio4" url="http://www.google.com"></sub>
<sub name="Organitzacio5" url="http://www.google.com"></sub>
</menu3>
<menu4 name="ESTUDIS" imagen="imagen.jpg">
<sub name="Estudis1" url="http://www.google.com"></sub>
<sub name="Estudis2" url="http://www.google.com"></sub>
<sub name="Estudis3" url="http://www.google.com"></sub>
<sub name="Estudis4" url="http://www.google.com"></sub>
<sub name="Estudis5" url="http://www.google.com"></sub>
</menu4>
<menu5 name="ACTIVITATS" imagen="icono-activitats.png">
<sub name="Activitats1" url="http://www.google.com"></sub>
<sub name="Activitats2" url="http://www.google.com"></sub>
</menu5>
<menu6 name="ADMINISTRACIO" imagen="icono-administracio">
<sub name="Administracio1" url="http://www.google.com"></sub>
<sub name="Administracio3" url="http://www.google.com"></sub>
<sub name="Administracio4" url="http://www.google.com"></sub>
<sub name="Administracio5" url="http://www.google.com"></sub>
</menu6>
<menu7 name="FCT" imagen="imagen.jpg">
<sub name="Fct1" url="http://www.google.com"></sub>
<sub name="Fct2" url="http://www.google.com"></sub>
</menu7>
<menu8 name="REVISTA" imagen="imagen.jpg">
<sub name="Revista1" url="http://www.google.com"></sub>
<sub name="Revista2" url="http://www.google.com"></sub>
<sub name="Revista3" url="http://www.google.com"></sub>
</menu8>
</menus>

He puesto mas o menos que siempre se cargue la misma imagen, más que nada para probar. Y la imagen se encuentra en la misma carpeta que el .fla y el xml.

Gracias

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Sep 2008 12:24 pm
Ahora cambia esta línea:

var diapo:MovieClip = _root.createEmptyMovieClip("diapo"+m, m+100);

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 30 Sep 2008 12:39 pm
Si, lo había hecho, mm xo nada. No sé qué faltara...

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Sep 2008 12:42 pm
¿Que sale de este trace?

var diapo:MovieClip = _root.createEmptyMovieClip("diapo"+m, m+100);
trace("Cargo "+galeria+" en "+diapo)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 01 Oct 2008 06:40 am
Este es el trace:
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo icono-activitats.png en
Cargo icono-administracio en
Cargo imagen.jpg en

Pero creo que si ponemos trace("Cargo "+galeria+" en "+diapo) y le ponemos diapo+m sí q pondrá el nombre del contenedor, no?
Creo que podría mandartelo y luego explico el problema aquí si encontramos solucion..xa cumplir el objetivo..

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Oct 2008 12:06 pm
¿Hoy no hay respuesta? yo sigo igual..no conozco a nadie que me pueda ayudar, pleaseeee

Por Mol

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Oct 2008 12:32 pm
Tanto createEmptyMovieClip como attachMovie devuelven una referencia al clip, de ahi que no haya que usar el nombre.
Si _root.createEmptyMovieClip no deveutlve referencia estamos ante algo tricky
Prueba creando un contenedor extra, es decir en el escenario crea un MC vacío con nombre de instancia holder, luego

var diapo:MovieClip = _root.holder.createEmptyMovieClip("diapo"+m, m);
trace("Cargo "+galeria+" en "+diapo)

Con respecto a enviar el archivo, mira http://www.cristalab.com/foros/t56378_baja-y-arregla-mi-archivo.html
And stay cool, el apuro no lo tenemos nosotros

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 02 Oct 2008 06:58 am
Hola, he puesto lo que me has dicho y ahora en el trace me sale todo 2 veces.
trace:

Cargo icono-activitats2.png en
Cargo icono-activitats2.png en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo icono-activitats.png en
Cargo icono-activitats.png en
Cargo icono-administracio en
Cargo icono-administracio en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en
Cargo imagen.jpg en

Me sale esto. El error esta en lo de los contenedores? no tengo muy claro lo que estamos buscando.
Quieres que te ponga el resto de programación que tengo en este archivo fla?
Gracias por la ayuda.

Por Mol

18 de clabLevel



 

firefox

 

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