Comunidad de diseño web y desarrollo en internet online

Varias filas con XML conteniendo mis gráficas

Citar            
MensajeEscrito el 06 Sep 2007 04:24 am
Hola Amigos..,

Estoy tratando de hacer una galeria de fotos usando xml. Hasta el momento lo hice con seis fotografías 400x300, distribuyendolas en linea recta (una fila). Pero si coloco más fotos, no voy a tener espacio suficiente para ponerlas todas. La idea es que una vez que esté colmado el cupo de seis, las proximas seis se aparezcan en la misma posicion _x, pero por debajo de la primera fila. Y asi, de acuerdo a x cantidad que tenga que usar. Tengo varios días haciendo pruebas y nada. Les agradezco si tienen una idea de como complementar el código me lo hagan saber. Gracias por adelantado...
El Código es:
cantidad = 6;
ancho = 30;
espacio = ancho+35;
limite = cantidad*espacio;
theText._alpha = 0;
var home:MovieClip = this;
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function() {
var nodes = this.firstChild.childNodes;
numOfItems = nodes.length;
for (var i = 0; i<numOfItems; i++) {
var t = home.attachMovie("item", "item"+i, i+1);
t = _root["item"+i];
t._y = 300;
t._x = (espacio*i)+250;
t.numero.text = i+1;
t.content = nodes[i].attributes.content;
t.icon.inner.loadMovie(nodes[i].attributes.image);
t.ref.inner.loadMovie(nodes[i].attributes.image);
t.icon._xscale = 15;
t.icon._yscale = 15;
t.icon.onRelease = released;
}
};

Por zapata

46 de clabLevel



Genero:Masculino  

Venezuela

firefox
Citar            
MensajeEscrito el 06 Sep 2007 09:37 pm
bueno en realidad no se bien que quieres hacer pero no veo buena tu idea ya que cuando tengas una gran cantidad de imagenes alomejor no te alcansa la pantalla para mastrarlas, una mejor idea para una galeria seria predefinir esas 6 imagenes y tener dos botones uno para ir alante y otro atras y cuando des uno de los dos varias las imagenes, bueno si quieres lo tomas o lo dejas pero creo que es mejor asi.
Saludos

Por eduar

63 de clabLevel



 

msie
Citar            
MensajeEscrito el 06 Sep 2007 10:48 pm
Oye Gracias Eduar por el consejo, lo que pasa es que las imagenes las reduzco de tamaño cuando le digo:
t.icon._xscale = 15;
t.icon._yscale = 15;
y luego con otra parte del código al hacer clic en las fotos pequeñas, las presento en su tamaño normal: 400x300. La cuestión es colocar una segunda y tercera fila (si hace falta) de fotografías pequeñas cuando sean llamadas por el xml. O sea, cuando el xml carga las primeras seis, estas se forman en una fila ( t._y = 300;t._x = (espacio*i)+250; ) y quiero que la siguiente fila se forme justo debajo de la primera y si hay que usar una tercera esta se coloque debajo de la segunda. Ahí está el meollo de la cuestión. De todas maneras Gracias por el consejo.....

Por zapata

46 de clabLevel



Genero:Masculino  

Venezuela

firefox
Citar            
MensajeEscrito el 06 Sep 2007 11:21 pm
hola,

modificando solo las propiedades _x e _y:

Código :

t._y = 300 + (i / cantidad) * 250;
t._x = (espacio * (i % cantidad)) + 250;


por ejemplo.

Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 11 Sep 2007 12:18 pm
Hola dm, Gracias por la sugencia. Y tienes razón, cambiando las propiedades de _x , _y es el camino. Estoy buscando la manera porque soy lento en eso de la matematica. El ejemplo que me dejaste divide los thumnails por unidad y los coloca en forma escalonada. Aparecen como una escalera. Pero ese es el camino, solo tengo que dilucidar la forma de dividir en dos la "cantidad" en una sola fila. En cuanto consiga la vuelta lo hago saber, para los que quieran hacer algo similar...
Gracias

Por zapata

46 de clabLevel



Genero:Masculino  

Venezuela

firefox
Citar            
MensajeEscrito el 11 Sep 2007 06:23 pm
Cierto, hay que redondear la división con int() para que salga correcto :)

Código :

t._y = 300 + int(i / cantidad) * 250;
t._x = (espacio * (i % cantidad)) + 250;


Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 11 Sep 2007 10:30 pm
Hola md, siempre estuviste en lo cierto. Prové el código que planteas y ciertamente con el int() se divide en seis la primera línea de fotos, pero la línea de la posición "_x " no la reconoce y omite la segunda línea de foticos. Mientras, y dándole vueltas, se me ocurrió usar una condición " if " y decirle que si era la cantidad que yo quería que la pusiera en linea y a la segunda le resté la cantidad que tiene la primera línea y le dí el mismo espacio entre fotos y la misma posición " _x "...y resultó.
Mira como lo hice:

Código :

       t._y = 300;
      t._x = (espacio*i)+250;
      if (i>5 && i<12) {
         t._y = 350;
         t._x = (i-6)*65+250;
      }

Oye, Muchas Gracias por el esfuerzo. Tu orientación me fue fundamental para buscar en el camino correcto. Nos vemos en la proxima trancada.

Por zapata

46 de clabLevel



Genero:Masculino  

Venezuela

firefox
Citar            
MensajeEscrito el 11 Sep 2007 11:50 pm
Hola,

pues debiera funcionar como te he indicado. Date cuenta que la segunda línea de fotos aparecera con _y = 550. Si tienes un escenario más pequeño, seguramente por eso no te salga esa segunda línea.

t._y = 300 + int(i / cantidad) * 250;


Puse una separación de 250 porque no sabía cual necesitabas. Veo que la segunda línea la tienes en 350 asi que modificando la línea anterior por ésta

Código :

t._y = 300 + int(i / cantidad) * 50;


debería funcionar correctamente. ^^

Saludos!

Por dmvalverde

150 de clabLevel



Genero:Masculino  

Extremadura

firefox
Citar            
MensajeEscrito el 13 Sep 2007 03:30 am
Hola md, tienes toda la razón. Acabo de probar con la linea _y con la separación a 50px y cae perfectamente. De todas maneras el no darme cuenta del detalle, me ayudo a buscar esa otra forma de hacerlo. Como ya tengo las dos, puedo en el futuro usarlas para dividir las filas de thumnails cargados por xml y aquellos que siguieron esta conversa tiene la posibilidad de usarlas.
Ahora estoy tratando de hacerle un preloader para la carga de los thumnails. Hasta ahora no tengo respuesta, pero si tienes una idea de como hacerle una precarga al xml, déjamela saber. En cuanto tenga el que funcione lo pondré aquí para los que siguen esta inquitud con el xml.

Gracias otra vez md.

Por zapata

46 de clabLevel



Genero:Masculino  

Venezuela

firefox

 

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