Comunidad de diseño web y desarrollo en internet online

CARGAR XML

Citar            
MensajeEscrito el 15 Sep 2011 06:35 pm
Esoy empezando con esto de Actionscript, y tengo un problema.
Tengo una plantilla para publicar noticias con una botonera "menú", que carga un xml que contiene los textos....

El caso es que no consigo que cuando se carga el clip de película, cargue directamente la primera noticia del xml, y tengo que pulsar en el primer boton para que aparezca.

ALmas solidarias, ayudarme, gracias.

Código ActionScript :

var news: Number = 0;
var separacion:  Number = 5;
var ancho_Escenario: Number = 600;

_root.createEmptyMovieClip("foto", 10);
foto._x=342.4;
foto._y=182.0;

var agenda_noticias: XML = new XML();
agenda_noticias.ignoreWhite = true;


function parsea (exito: Boolean){
   if (exito){
      _root.createEmptyMovieClip("menu", 11);
      menu._visible = true;
      
      nombre.htmlText = "<p align=\"center\"><b>" + this.firstChild.nodeName.toUpperCase() + "</b>: Seleccione el número de noticia</p>";

      for (var i = 0; i < this.firstChild.childNodes.length; i++){
         for (var j = 0; j < this.firstChild.childNodes[i].childNodes.length; j++){
            
            menu.attachMovie("nueva_noticia", "boton"+news, news);
            menu["boton" + news].numero.text = news + 1;
            menu["boton" + news]._x = news * (menu["boton"+news]._width + separacion);

            menu["boton" + news].id = this.firstChild.childNodes[i].childNodes[j].attributes.id;
            menu["boton" + news].cabecera = this.firstChild.childNodes[i].childNodes[j].attributes.cabecera;
            menu["boton" + news].url = this.firstChild.childNodes[i].childNodes[j].attributes.url;
            menu["boton" + news].fecha = this.firstChild.childNodes[i].attributes.dia;
            
            menu["boton" + news].onRelease = function(){
               fechacabeza.htmlText = "<p align=\"left\"><b>" + this.fecha + "</p>"; 
               cabecera.htmlText = "<p align=\"left\"><b>" + this.cabecera + "</p>";
               if (this.url != "no"){
                  foto.loadMovie(this.url);
               } else {
                  foto.loadMovie("fotografias/no.jpg");
               }
               
               
               var cargador: LoadVars = new LoadVars();
               cargador.onLoad = function(exito: Boolean){
                  if (exito){
                     cuerpo.text = cargador.texto;
                  } else {
                     cuerpo.text = "No se pudo cargar el texto de esta noticia";
                  }
                  delete cargador;
               }
               cargador.load("textos/" + this.id + ".txt")
            }
            
            news++;
         }
      }
      menu._x = (ancho_Escenario / 2) - (menu._width / 2);
      menu._y = 10;
      menu._visible = true;      
   } else {
      nombre.htmlText = "<p align=\"center\"><b>Error al cargar los datos</b></p>";
   }
}

agenda_noticias.onLoad = parsea;
agenda_noticias.load("noticias.xml");

Por javietxu

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Sep 2011 07:53 pm
prueba poniendo al final de todo

menu.boton0.onRelease()

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2011 08:05 pm
Muchas gracias Jorge, pero no funciona.
YO en alguna ocasión lo he hecho así con clips, pero en este caso como tiene que leer el xml no se como hacer para llame a la primera noticia. He leido por ahi que se hace con la variable algo así como this.firstChild; pero no me sale.

Helpppppppppppppppppppp

Por javietxu

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Sep 2011 08:16 pm
Entonces toma toda la rutina del botón y carga el primero

Código ActionScript :

function cargaPrimera(){
               fechacabeza.htmlText = "<p align=\"left\"><b>" +  menu.boton0.fecha + "</p>";  
               cabecera.htmlText = "<p align=\"left\"><b>" + menu.boton0.cabecera + "</p>"; 
               if (menu.boton0.url != "no"){ 
                  foto.loadMovie(menu.boton0.url); 
               } else { 
                  foto.loadMovie("fotografias/no.jpg"); 
               } 
                
                
               var cargador: LoadVars = new LoadVars(); 
               cargador.onLoad = function(exito: Boolean){ 
                  if (exito){ 
                     cuerpo.text = cargador.texto; 
                  } else { 
                     cuerpo.text = "No se pudo cargar el texto de esta noticia"; 
                  } 
                  delete cargador; 
               } 
               cargador.load("textos/" + menu.boton0.id + ".txt") 
}


LLama a la función cuando termines de cargar todo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2011 08:35 pm
Y cuando llamo a la función, en un segundo frame? Es que con xml al no ver los clips no me apaño con las funciones.

Gracias

Por javietxu

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Sep 2011 08:59 pm
Si los botones est{an tambi{en en el segundo frame lo puedes uar

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Sep 2011 09:25 pm
Este es el archivo de la tortura, si hay algún alma caritativa.

http://rapidshare.com/files/941729174/2011.zip

Por javietxu

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Sep 2011 12:57 am

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 16 Sep 2011 06:54 am
Tienes toda la razón Jorge. Mil disculpas.El fin de semana voy a seguir intentándolo.
Torres mas altas han caido

Por javietxu

3 de clabLevel



 

firefox

 

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