Comunidad de diseño web y desarrollo en internet online

Foto diaria para mi sitio en flash

Citar            
MensajeEscrito el 04 Oct 2008 02:49 pm
Hola!
Quería consultarles si por favor pueden darme una mano con lo siguiente:
Existe algún sistema (flash + xml) en el que se pueda hacer una "foto diaria"?
O sea que yo asigne un directorio con fotos y que mediante un orden preasignado o aleatorio (pero que no la repita en todo el mes) la foto se vaya refrescando diariamente.

Por diegustin

5 de clabLevel



 

Bariloche

firefox
Citar            
MensajeEscrito el 04 Oct 2008 06:14 pm
Si se podría hacer, primero crea tu XML y la función de cargar una foto de este y situarla donde quieres, ya depués lo otro es más sencillo.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Oct 2008 07:55 pm
O bien, poner las imágenes dentro de una carpeta; img0, img1, img2, img4... Etc. Y que con el valor que devuelva la clase Date(); se cargue la imagen. algo como empty.loadMovie( "carpeta/img" + Date.getDay() );

Por M@U

BOFH

6210 de clabLevel

34 tutoriales
5 articulos

Genero:Masculino   Héroes Bastard Operators From Hell Editores

Bate jubilado de Cristalab

firefox
Citar            
MensajeEscrito el 09 Oct 2008 10:25 pm
Mil gracias por las respuestas!
Estuve haciendo unos intentos con un archivo xml y llamándolo desde el flash.
A cada imagen del xml le puse un nombre: id1, id2, id3, etc... hasta id31
Todavía no puedo lograr que flash determine el número que le sigue al id... estuve intentando con :
galeria = this.firstChild.childNodes[i].attributes.id + fecha.getDate();
pero no me funciona!!
Por si alguien puede darme una sugerencia, abajo pego los dos códigos ( del XML y del Actionscript).
Mil gracias!

CÓDIGO DEL XML

Código :

<?xml version="1.0" encoding="iso-8859-1"?>
<imagenes>
   <imagen id1="img01.jpg"/>
   <imagen id2="img02.jpg"/>
   <imagen id3="img03.jpg"/>
   <imagen id4="img04.jpg"/>
   <imagen id5="img05.jpg"/>
   <imagen id6="img06.jpg"/>
   <imagen id7="img07.jpg"/>
   <imagen id8="img08.jpg"/>
   <imagen id9="img09.jpg"/>
   <imagen id10="img10.jpg"/>
   <imagen id11="img11.jpg"/>
   <imagen id12="img12.jpg"/>
   <imagen id13="img13.jpg"/>
   <imagen id14="img14.jpg"/>
   <imagen id15="img15.jpg"/>
   <imagen id16="img16.jpg"/>
   <imagen id17="img17.jpg"/>
   <imagen id18="img18.jpg"/>
   <imagen id19="img19.jpg"/>
   <imagen id20="img20.jpg"/>
   <imagen id21="img21.jpg"/>
   <imagen id22="img22.jpg"/>
   <imagen id23="img23.jpg"/>
   <imagen id24="img24.jpg"/>
   <imagen id25="img25.jpg"/>
   <imagen id26="img26.jpg"/>
   <imagen id27="img27.jpg"/>
   <imagen id28="img28.jpg"/>
   <imagen id29="img29.jpg"/>
   <imagen id30="img30.jpg"/>
   <imagen id31="img31.jpg"/>
</imagenes>   


CÓDIGO DEL FLASH

Código :

var fecha = new Date();
// -- posición donde se cargará la primera imagen
x = 0;
y = 0;
// -- ancho y alto de la imagen más 5 pixeles de espacio
ancho = 105;
alto = 80;
// -- creo un nuevo objeto XML
miXML = new XML();
// -- ignorar espacios 
miXML.ignoreWhite = true;
// -- proceso si la carga tuvo éxito
miXML.onLoad = function(succes) {
   if (succes) {
      // -- por cada nodo hijo del nodo principal...
      for (var i = 0; i<this.firstChild.childNodes.length; i++) {
         // -- delaro una variable que recoje el atributo del nodo (nombre de la imagen)
         galeria = this.firstChild.childNodes[i].attributes.id;
         // -- creo un clip de película vacio 
         _root.createEmptyMovieClip("diapo"+i, i+100);
         // --  cargo la imáen el clip vacio
         item = _root["diapo"+i];
         item.loadMovie(galeria);
      }
   }
};
// -- cargar XML
//miXML.load("imagenes.xml");

miXML.load("imagenes.xml");

Por diegustin

5 de clabLevel



 

Bariloche

chrome
Citar            
MensajeEscrito el 09 Oct 2008 11:17 pm
Primero que todo los parámetros de tu XML no deben tener diferentes nombres, sino no podrás acceder a ellos de forma dinámica, por otro lado no hace falta que hagas un ciclo dentro la cantidad de nodos del XML si al final te interesa un solo nodo (el dia en que estamos), aquí te dejo una propuesta de XML:

Código XML :

<?xml version="1.0" encoding="iso-8859-1"?>
<imagenes>
   <imagen id="1" imagen="img01.jpg"/>
   <imagen id="2" imagen="img02.jpg"/>
   <imagen id="3" imagen="img03.jpg"/>
   <imagen id="4" imagen="img04.jpg"/>
   <imagen id="5" imagen="img05.jpg"/>
   <imagen id="6" imagen="img06.jpg"/>
   <imagen id="7" imagen="img07.jpg"/>
   <imagen id="8" imagen="img08.jpg"/>
   <imagen id="9" imagen="img09.jpg"/>
   <imagen id="10" imagen="img10.jpg"/>
   <imagen id="11" imagen="img11.jpg"/>
   <imagen id="12" imagen="img12.jpg"/>
   <imagen id="13" imagen="img13.jpg"/>
   <imagen id="14" imagen="img14.jpg"/>
   <imagen id="15" imagen="img15.jpg"/>
   <imagen id="16" imagen="img16.jpg"/>
   <imagen id="17" imagen="img17.jpg"/>
   <imagen id="18" imagen="img18.jpg"/>
   <imagen id="19" imagen="img19.jpg"/>
   <imagen id="20" imagen="img20.jpg"/>
   <imagen id="21" imagen="img21.jpg"/>
   <imagen id="22" imagen="img22.jpg"/>
   <imagen id="23" imagen="img23.jpg"/>
   <imagen id="24" imagen="img24.jpg"/>
   <imagen id="25" imagen="img25.jpg"/>
   <imagen id="26" imagen="img26.jpg"/>
   <imagen id="27" imagen="img27.jpg"/>
   <imagen id="28" imagen="img28.jpg"/>
   <imagen id="29" imagen="img29.jpg"/>
   <imagen id="30" imagen="img30.jpg"/>
   <imagen id="31" imagen="img31.jpg"/>
</imagenes>


Y en el código accederías al nodo específico al día y llamarías a una función que haga todo el trabajo:

Código ActionScript :

//---Objeto Date
var fecha:Date = new Date();

//---Carga del XML
var miXML:XML = new XML();
miXML.ignoreWhite = true;

miXML.onLoad = function(succes):Void  {
   if (succes) {

      var path:String = this.firstChild.childNodes[fecha.getDate() - 1].attributes.imagen;
      loadImage(path);

   }
};

miXML.load("imagenes.xml");

//---Función de leer la imagen
function loadImage(path:String):Void {

   var imagen:MovieClip = this.createEmptyMovieClip("diapo", this.getNextHighestDepth());
   imagen.loadMovie(path);


}

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Oct 2008 05:10 pm
Excelente!!!
Funciona perfecto, muchísimas gracias x la explicación.
Saludos!

Por diegustin

5 de clabLevel



 

Bariloche

firefox

 

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