Comunidad de diseño web y desarrollo en internet online

Noticias con xml- AYUDA POR FAVOR!!!!!!!!!!!!!!!!!!!!

Citar            
MensajeEscrito el 11 Jul 2012 01:53 am
Perdón que insista, pero estoy haciendo el tutorial de Lector de noticias XML en Flash con imágenes, LO ÚNICO QUE QUIERO SABER ES cómo hago para que en vez de a 1 noticia, me muestre de a 3, y luego vayan corriendo con las flechitas?
POR FAVOR, hice la pregunta antes pero nadie contesta....... Ni siquiera tengo que explicar cómo está hecho porque es un tutorial de ustedes, no sé ya donde enviar la consulta, por favor. De todas maneras adjunto el código

Código ActionScript :

//Permite caracteres tradicionales como letras con tilde la ñ, etc.
System.useCodepage = true; 

//Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar)
var indice:Number; 

//Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml)
var noticias_xml:XML; 

/*
Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento)
Esta función recibe un parámetro "_indice" que corresponde al elemento noticia  a mostrar
*/
function cargarDatos(_indice:Number){
      //Se inicializan variables utilizadas para almenar los datos de una noticia
      var fecha:String;
      var titulo:String;
      var mensaje:String;
      var imagen:String;
      
      //Recuperando datos del objeto xml
      //Se accede al primer elemento [noticia] y se recupera la fecha desde el atributo [fecha]
      fecha = noticias_xml.firstChild.childNodes[_indice].attributes.fecha;
      //Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo]
      titulo = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
      //Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [mensaje]
      mensaje = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue
      //Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen]
      imagen = noticias_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue
      
      //Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc
      _root.mensaje_txt.htmlText = "";
      _root.mensaje_txt.htmlText += "<p align='left'><font color='#FFFFFF' size='12'>" + titulo + "</font></p>";
      _root.mensaje_txt.htmlText += "<p><font size='12'color='#CCCCCC'>" + mensaje + "</font>";
      _root.mensaje_txt.htmlText += "<font color='#333333' size='10'>Publicado: " + fecha + "</font></p>";
      //Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml
      _root.mapa.loadMovie(imagen);   
   }

//Función que permite avanzar a la [noticia] siguiente almacenada en el objeto xml
siguiente_btn.onPress = function(){   
   //comprobando si existe el siguiente elemento [noticia]
   if(noticias_xml.firstChild.childNodes[indice+1] != null){//retringue  a avanzar solo si hay una [noticia] siguiente
         indice++; //incrementado en uno el indice
         cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
         }
   }

//Función que permite retroceder a la noticia anterior almacenada en el objeto xml   
anterior_btn.onPress = function(){
   //comprobando si existe una elemento [noticia] anterior
   if(noticias_xml.firstChild.childNodes[indice-1] != null){//retringue  a avanzar solo si hay una [noticia] anterior
         indice--; //reducciendo en uno el indice
         cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
         }
   }   
   
//Inicializaciones
indice=0; //inicializando indice en 0 para mostrar la primera noticia

//creando el objeto noticias_xml de typo XML
noticias_xml = new XML();

//Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML
noticias_xml.ignoreWhite = true;

//El método load() permite cargar el documento xml "noticias.xml"
noticias_xml.load("noticias.xml");

//El evento onLoad de activa cuado se haya cargado el documento noticias.xml
noticias_xml.onLoad = function(){
         //Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0)
         cargarDatos(indice);         
   }


y este es el XML

Código XML :

<?xml version="1.0" encoding="iso-8859-1"?>
<noticias>
   <noticia fecha="06/07/2012"> 
      <titulo>LAMPARAS</titulo>
      <mensaje>Disponibles en 3 medidas, con terminaciones cromo y tela cortada a Laser en 4 colores</mensaje>      
      <image>nave.jpg</image>
   </noticia>
   
   <noticia fecha="00/00/2012"> 
      <titulo>Finaliza estado de excepción pero crece descontento</titulo>
      <mensaje>Luego de que el presidente de Ecuador, Lucio Gutiérrez, levantara el estado de emergencia decretado en Quito el viernes, las multitudinarias protestas en dicha ciudad exigiendo la dimisión del mandatario empezaron a extenderse a otras regiones y amenazan con abarcar todo el país.</mensaje>      
      <image>vaticano.jpg</image>
   </noticia>
   
   <noticia fecha="00/00/2012"> 
      <titulo>Intel pronostica que banda ancha en celulares empezará en 2006</titulo>
      <mensaje>La nueva tecnología inalámbrica de banda ancha WiMax está empezando a recibir la atención de los operadores de telefonía fija y móvil, pero aún tardará varios años hasta que sea utilizada por un mercado masivo de consumidores, anunció Intel.</mensaje>      
      <image>intel.jpg</image>
   </noticia>

   <noticia fecha="06/07/2012"> 
      <titulo>LAMPARAS DE TECHO O DE PARED</titulo>
      <mensaje>Disponibles en 3 medidas, con terminaciones cromo y tela cortada a Laser en 4 colores</mensaje>      
      <image>nave.jpg</image>
   </noticia>
   
   <noticia fecha="00/00/2012"> 
      <titulo>Finaliza estado de excepción pero crece descontento</titulo>
      <mensaje>Luego de que el presidente de Ecuador, Lucio Gutiérrez, levantara el estado de emergencia decretado en Quito el viernes, las multitudinarias protestas en dicha ciudad exigiendo la dimisión del mandatario empezaron a extenderse a otras regiones y amenazan con abarcar todo el país.</mensaje>      
      <image>vaticano.jpg</image>
   </noticia>
   
   <noticia fecha="00/00/2012"> 
      <titulo>Intel pronostica que banda ancha en celulares empezará en 2006</titulo>
      <mensaje>La nueva tecnología inalámbrica de banda ancha WiMax está empezando a recibir la atención de los operadores de telefonía fija y móvil, pero aún tardará varios años hasta que sea utilizada por un mercado masivo de consumidores, anunció Intel.</mensaje>      
      <image>intel.jpg</image>
   </noticia>
   
</noticias>



Por candediez

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jul 2012 05:30 pm
No es "de nosotros", todos los tutoriales tienen autor, mira si lo puedes contactar via PM para que te ayude. Igual se trata de triplicar los contenedores (campos de texto, etc) y hacer que cargarDatos se ejecute tres veces. El boton siguiente o anterior cambian el indice en 3

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Jul 2012 08:19 pm
Jorge, disculpa mi impaciencia, estoy probando no sabes cómo infinitas veces y no logro dar con el asunto. Traté de contactar al autor, pero no hubo caso. Lo que me escribes es precisamente la manera en que pensé hacerlo, pero tampoco me ha funcionado, capaz porque estoy olvidando algo en el código. Si me permites, lo adjunto y capaz que puedas darte cuenta fácilmente de mi error. Lo que hice fue ubicar tres instancias de mapa (que es donde van las imágenes) y 3 instancias de mensaje_txt (que es donde va la noticia), luego a var indice:Number; le asigné un valor var indice:Number=0; para que me cargue luego 3 veces (nosé si esto último es correcto) y más adelante le cambié el valor indice=3;

Una vez más, GRACIAS

Código ActionScript :

//Permite caracteres tradicionales como letras con tilde la ñ, etc.
System.useCodepage = true; 

//Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar)
var indice:Number=0; 

//Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml)
var noticias_xml:XML; 

/*
Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento)
Esta función recibe un parámetro "_indice" que corresponde al elemento noticia  a mostrar
*/
function cargarDatos(_indice:Number){
      //Se inicializan variables utilizadas para almacenar los datos de una noticia
      var fecha:String;
      var titulo:String;
      var mensaje:String;
      var imagen:String;
      
      //Recuperando datos del objeto xml
      //Se accede al primer elemento [noticia] y se recupera la fecha desde el atributo [fecha]
      fecha = noticias_xml.firstChild.childNodes[_indice].attributes.fecha;
      //Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo]
      titulo = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
      //Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [mensaje]
      mensaje = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue
      //Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen]
      imagen = noticias_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue
      
      //Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc
      _root.mensaje_txt.htmlText = "";
      _root.mensaje_txt.htmlText += "<p align='left'><font color='#FFFFFF' size='12'>" + titulo + "</font></p>";
      _root.mensaje_txt.htmlText += "<p><font size='12'color='#CCCCCC'>" + mensaje + "</font>";
      _root.mensaje_txt.htmlText += "<font color='#333333' size='10'>Publicado: " + fecha + "</font></p>";
      //Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml
      _root.mapa.loadMovie(imagen);   
   }

//Función que permite avanzar a la [noticia] siguiente almacenada en el objeto xml
siguiente_btn.onPress = function(){   
   //comprobando si existe el siguiente elemento [noticia]
   if(noticias_xml.firstChild.childNodes[indice+3] != null){//retringue  a avanzar solo si hay una [noticia] siguiente
         indice++; //incrementado en uno el indice
         cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
         }
   }

//Función que permite retroceder a la noticia anterior almacenada en el objeto xml   
anterior_btn.onPress = function(){
   //comprobando si existe una elemento [noticia] anterior
   if(noticias_xml.firstChild.childNodes[indice-1] != null){//retringue  a avanzar solo si hay una [noticia] anterior
         indice--; //reducciendo en uno el indice
         cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
         }
   }   
   
//Inicializaciones
indice=3; //inicializando indice en 0 para mostrar la primera noticia

//creando el objeto noticias_xml de typo XML
noticias_xml = new XML();

//Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML
noticias_xml.ignoreWhite = true;

//El método load() permite cargar el documento xml "noticias.xml"
noticias_xml.load("noticias.xml");

//El evento onLoad de activa cuado se haya cargado el documento noticias.xml
noticias_xml.onLoad = function(){
         //Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0)
         cargarDatos(indice);         
   }
   

Por candediez

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Jul 2012 08:24 pm
Si repites una instancia, usa la rua completa, seguramente estas haciendo un lio de rutas (el código que pusiste es el mismo que ya estaba)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 11 Jul 2012 08:47 pm
El código era el mismo pero había cambiado esos valores que te comenté: el número 3 en donde aparece INDICE. En cuanto a la ruta, no modifiqué nada, es la misma. Cuando lo pruebo con una sola, me funciona muy bien, pero con 3 no me sale. Te adjunto una imagen para que entiendas como está dispuesto el escenario. Es una única línea de tiempo.
[img]http://l4c.me/fotos/candediez/slider-de-noticias[/img]

Saludos

Por candediez

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jul 2012 12:47 pm
JORGE:
antes que nada, AGRADECERTE, porque realmente brindas una ayuda importante para todos aquellos (en su mayoría autodidactas) que nos encontramos en callejones sin salida y necesitamos, en muchos casos, "desesperadamente" una mano.
Te pido disculpas si el post inicial sonó "impaciente". Muchas veces nos encontramos con posts que no hacen más que reclamar porque no tienen respuesta, y la verdad es que no caen muy bien; por eso quería aclararte que no era esa mi intención.
Y en cuanto a este tema concreto, con el que NO LOGRO dar en la tecla, voy a buscarle otra vuelta, hacerlo de otra manera para salir del apuro ahora; pero luego con más tiempo volveré sobre eso para intentar ENTENDER cómo tendría que ser, sino nunca voy a aprender realmente.

OTRA VEZ GRACIAS! y gracias de verdad :wink: porque es bueno saber que se puede contar con alguien que, cuando puede, da una mano cuando otros necesitan.

Saludos!
Cande

Por candediez

18 de clabLevel



 

chrome
Citar            
MensajeEscrito el 13 Jul 2012 01:14 pm
Sip, solo cambiar el nro del indice sería como hacer magia. Tienes que hacer un for en la parte del parser para repetir 3 veces la rutina sobre instancias distintas, y hacer que indice aumente de a 3, no de a 1 como ahora. Igual cuando hay apuro lo mejor es lo que uno puede controlar o lo tiene muy cerca, dale tiempo para poder modificar este tipo de cosas

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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