Comunidad de diseño web y desarrollo en internet online

Submenu XML

Citar            
MensajeEscrito el 31 Mar 2009 10:17 am
Hola al foro;

no consigo que funcione correctamente un código as y xml, es una galería de fotos. El menu principal parece que va bien, pero ahora me he metido con un submenu, y no consigo hacerlo funcionar correctamente.

El código xml es este:

Código :

<?xml version="1.0" encoding="iso-8859-1"?>
   <galeria>
   
      <fotos titulo="retratos">

         <submenu titulo="retratossub">
   
            <foto1>fotos/retratos/retr.1.jpg</foto1>
            <foto1>fotos/retratos/retr.2.jpg</foto1>
            <foto1>fotos/retratos/retr.3.jpg</foto1>
            <foto1>fotos/retratos/retr.4.jpg</foto1>
            <foto1>fotos/retratos/retr.5.jpg</foto1>
            <foto1>fotos/retratos/retr.6.jpg</foto1>
            <foto1>fotos/retratos/retr.7.jpg</foto1>
            <foto1>fotos/retratos/retr.8.jpg</foto1>
            <foto1>fotos/retratos/retr.9.jpg</foto1>
            <foto1>fotos/retratos/retr.10.jpg</foto1>
            <foto1>fotos/retratos/retr.11.jpg</foto1>
            <foto1>fotos/retratos/retr.12.jpg</foto1>
            <foto1>fotos/retratos/retr.13.jpg</foto1>
            <foto1>fotos/retratos/retr.14.jpg</foto1>
            <foto1>fotos/retratos/retr.15.jpg</foto1>
            <foto1>fotos/retratos/retr.16.jpg</foto1>

         </submenu>

      </fotos>   

      <fotos titulo="boda">

         <submenu titulo="bodasub">
   
            <foto1>fotos/boda/01.jpg</foto1>
            <foto1>fotos/boda/02.jpg</foto1>
            <foto1>fotos/boda/03.jpg</foto1>
            <foto1>fotos/boda/04.jpg</foto1>
            <foto1>fotos/boda/05.jpg</foto1>
            <foto1>fotos/boda/06.jpg</foto1>
            <foto1>fotos/boda/07.jpg</foto1>
            <foto1>fotos/boda/08.jpg</foto1>
            <foto1>fotos/boda/09.jpg</foto1>
            <foto1>fotos/boda/10.jpg</foto1>
            <foto1>fotos/boda/11.jpg</foto1>
            <foto1>fotos/boda/12.jpg</foto1>
            <foto1>fotos/boda/13.jpg</foto1>
            <foto1>fotos/boda/14.jpg</foto1>
            <foto1>fotos/boda/15.jpg</foto1>
            <foto1>fotos/boda/16.jpg</foto1>
            <foto1>fotos/boda/17.jpg</foto1>
            <foto1>fotos/boda/18.jpg</foto1>
            <foto1>fotos/boda/19.jpg</foto1>
            <foto1>fotos/boda/20.jpg</foto1>
            <foto1>fotos/boda/21.jpg</foto1>
            <foto1>fotos/boda/22.jpg</foto1>
            <foto1>fotos/boda/23.jpg</foto1>
            <foto1>fotos/boda/24.jpg</foto1>

         </submenu>

      </fotos>

      <fotos titulo="moda">

         <submenu titulo="alava">
   
            <foto1>fotos/moda/alava/01.jpg</foto1>
            <foto1>fotos/moda/alava/02.jpg</foto1>
            <foto1>fotos/moda/alava/03.jpg</foto1>
            <foto1>fotos/moda/alava/04.jpg</foto1>
            <foto1>fotos/moda/alava/05.jpg</foto1>
            <foto1>fotos/moda/alava/06.jpg</foto1>
            <foto1>fotos/moda/alava/07.jpg</foto1>

         </submenu>

         <submenu titulo="cook">
   
            <foto1>fotos/moda/cook/01.jpg</foto1>
            <foto1>fotos/moda/cook/02.jpg</foto1>
            <foto1>fotos/moda/cook/03.jpg</foto1>
            <foto1>fotos/moda/cook/04.jpg</foto1>
            <foto1>fotos/moda/cook/05.jpg</foto1>
            <foto1>fotos/moda/cook/06.jpg</foto1>
            <foto1>fotos/moda/cook/07.jpg</foto1>

         </submenu>

      </fotos>


   </galeria>


El menú es el nodo fotos, y el submenu el nodo submenu.

El código flash es este:

Código :

import mx.transitions.*
import mx.transitions.easing.*;

function highestDepth(clip:MovieClip) {  // FUNCION PARA MANTENER EL MC DONDE SE CARGAN LAS FOTOS EN GRANDE SIEMPE DELANTE DE LA ESCENA.
   HighestDepth = clip._parent.getNextHighestDepth();
   clip.swapDepths(HighestDepth);
}

// ----------------------------------------------------------------------------------------
   
System.useCodepage = true; 
var indice:Number;
var galeria_xml:XML; 

function cargarDatos(_indice:Number){
         
                        
      for ( e = 0; e < 10; e++ ) 
      {                   
         duplicateMovieClip(mc_foto.foto, "foto"+e, this.getNextHighestDepth())
         highestDepth(mc_foto["foto"+e])
         //this.mc_foto["foto"]._y = 0
         mc_foto["foto"]._y += 500
                                 
         mc_foto["foto"+e].loadMovie(galeria_xml.firstChild.childNodes[_indice].childNodes[_indice2].childNodes[e].firstChild.nodeValue); 
                  
      }
      
         for ( _indice2=0; _indice2 < galeria_xml.firstChild.childNodes[_indice].childNodes.length; _indice2++) {
            
         
         duplicateMovieClip(_root.menu.menu2.botonera2.cont_bots2, "cont_bots2"+_indice2, this.getNextHighestDepth());
         _root.menu.menu2.botonera2["cont_bots2"]._y += _root.menu.menu2.botonera2["cont_bots2"]._height + 1
         _root.menu.menu2.botonera2["cont_bots2"+_indice2].texto.text = galeria_xml.firstChild.childNodes[_indice].childNodes[_indice2].attributes.titulo;
         }
      
         //-------- CREA BOTONES 1 ---------//
      
         for ( _indice=0; _indice < galeria_xml.firstChild.childNodes.length; _indice++) {
            
         duplicateMovieClip(cont_bots, "cont_bots"+_indice, this.getNextHighestDepth());
         this["cont_bots"]._y += this["cont_bots"]._height + 8
      
         this["cont_bots"+_indice].texto.text = galeria_xml.firstChild.childNodes[_indice].attributes.titulo;
         
         
         duplicateMovieClip(_root.menu.menu2.botonera.cont_bots, "cont_bots"+_indice, this.getNextHighestDepth());
         _root.menu.menu2.botonera["cont_bots"]._y += _root.menu.menu2.botonera["cont_bots"]._height + 8
         _root.menu.menu2.botonera["cont_bots"+_indice].texto.text = galeria_xml.firstChild.childNodes[_indice].attributes.titulo;
         

         
         
         //-------- ABRE LA GALERIA EN LA QUE PINCHEMOS ---------//
         
         _root.menu.menu2.botonera["cont_bots"+_indice].indice = _indice 
         _root.menu.menu2.botonera["cont_bots"+_indice].onRelease = function(){ 
         
         mc_foto.foto._y =0
         
         for ( u = 0; u < 10; u++ ) //BORRAR TODOS LOS MC DUPLICADOS ABAJO (PARA RESETEAR LA ESCENA)
         {
               
         mc_foto.removeMovieClip("foto" + u)
         mc_foto.foto._y = 0
                  
         }
         
         cargarDatos(this.indice);
         
         
                    
      }      //------------------------------------------------------//
   }
   
}

indice=0;
galeria_xml = new XML();
galeria_xml.ignoreWhite = true;
galeria_xml.load("fotos.xml");
galeria_xml.onLoad = function(){ cargarDatos(indice); }      


Espero me puedan ayudar.

Un saludo y gracias de antemano.

Por igartzi

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 31 Mar 2009 11:50 am
igartzi Te he mandado un mensaje en el que te pongo un ejemplo.
Adaptalo a tus necesidades.

Suerte!!

Por cotk

61 de clabLevel



 

safari

 

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