Adaptar miniaturas al background con ActionScript
3 seguidores
Hola chicos, despues de ver las webs de trollback y highfloater varias veces, me viene a la mente que código utilizarán para que las miniaturas de los trabajos en cuestión, se adapten a todo el flash y cuando reescalas la ventana, las miniaturas también se adapten, no de tamaño sino de número. Es decir, flash detecta el tamaño de su lienzo respecto al explorador pero luego no se que condicional debo aplicar para que si llega al final cambie de fila en este caso.
¿Alguien me puede iluminar un poquillo?
ivanv
wow! genialmente explicado...
si os poneis con el código posteadlo aquí, por favor!
script
wow! tio, si con todo te explicas igual....:)! te voy a poner un pin a la mejor explicación!
gracias, ahora en cuanto tenga un rato me pongo a probarlo.
Un saludo.
thecoder
Lo que haria yo:
Si tu sabes el tamaño de la ventana y sabes el tamaño de tus thumbanils simplemente con dividir los dos tamaños y redondear por abajo es decir:
numcolumnas = Math.floor(Stage.width/anchoThumnail));
Ahi ya sabes cuantas te caben, sobrando algo de espacio si no estan justas (eso lo hace el floor, que redondea a la baja) tonces para posicionarlas segun sea esa anchura usamos dos cosas referentes a la division, el cociente y el resto
itemX._x = 0 + (i%numcolumnas)*anchoThumnail;
Eso posiciona en x cada thumbnail respecto al resto de la division entre el numero de item actual partido los que caben de ancho. Si hay 15 y caben 5 en el 6 elemento (comenzando de 0 es el 5, si no habria que poner (i-1) arriba) la division da 0 y por lo tanto vuelve a ponerlo a izquierda y el siguiente da 1 y asi sucesivamente hasta el 10 que vuelve a dar 0 y vuelve a empezar
Y para la altura
itemX._y = 0 + (Math.floor(i/numcolumnas))*altoThumbnail
Esto posiciona en y en grupos, siguiendo el ejemplo los 5 primeros darian todo 0 los 5 siguientes (p.ej. el septimo seria 6/5 = 1,2 redondeado a la baja es 1) serian la siguiente fila y asi sucesivamente
Espero haberme explicado bien y que te haya resuelto la duda
Saludos
Recuerda que estas funciones te sirven si el primer elemento es considerado con i = 0 si el primero es i = 1 todas las i deben de ir en formato (i-1)