Foros del Web » Creando para Internet » Flash y Actionscript »

Lista vetical dinámica usando XML y AS3

Estas en el tema de Lista vetical dinámica usando XML y AS3 en el foro de Flash y Actionscript en Foros del Web. Saludos amigos del foro, esta consulta es de urgencia por favor, espero me puedan ayudar a encontrar la solucion, ya que estoy tratando como loco ...
  #1 (permalink)  
Antiguo 29/09/2010, 21:50
 
Fecha de Ingreso: septiembre-2010
Ubicación: Trujillo
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
Exclamación Lista vetical dinámica usando XML y AS3

Saludos amigos del foro,
esta consulta es de urgencia por favor,
espero me puedan ayudar a encontrar la solucion, ya que estoy tratando como loco y nada :)

Lo que pasa es que quiero crear un lista de menu vetical con XML en AS3
que se mueve mostrando los items de arriba a bajo con KeyDown

este es la guia: http://www.resn.co.nz/#/work

quiero saber si esa lista funciona con el Evento EnterFrame, y si pregunta cada vez que haces KeyDown para mover el lienzo de los items ya que usa una mascara para mostrar parte de ellos.

Explicación:
--------------
Mi problema radica justo cuando preciono la tecla para deslizarme hacia abajo y avanzar de item en item, segun vaya precionando,
Todo va de maravilla cuando esta division me devuelve un entero.

paginas = total de item items / Items por pagina

Pero cuando el resultado es decimal hago lo siguiente:

paginas = Math.ceil(totalitems / Items por pagina)

Aqui esta un ejemplo clasico del problema con valores:

Código:
totalitems = 13;
itemsporpagina = 6;
paginas = Math.ceil( totalitems  / itemsporpagina  ); 
        3   =  Math.ceil( 2.16 );
si se dan cuenta el resultado de la division entre totalitems e itemsporpagina
es decimal, eso quiere decir que abra 2 paginas con 6 items cada uno y 1 con un solo item.

Este ejemplo es facil de solucionar cuando mueves el lienzo de pagina en pagina, pero el problema se produce cuando te mueves de item en item con KeyDown, ya que tienes que anticiparte para mover el lienzo segun se requiera sin dejar un espacio por falta de items para completar itemsporpagina,
En el ejemplo con valores mostrare 6 items para las 2 paginas, hasta alli excelente,
pero la tercera pagina mostrare solo 1 item y me fatarian 5 items para completar, asi que, quedara un espacio en blanco por los 5 items que restan.

Entienden la idea de completar los items faltantes?,
para que el lienzo se mueva preciso y no se muestre un espacio en la ultima pagina.
Necesito encontrar la ecuacion para saber cuando y hasta donde
mover el lienzo

saludos, y gracias de antemano.
  #2 (permalink)  
Antiguo 01/10/2010, 01:22
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Lista vetical dinámica usando XML y AS3

Hola
bueno, pues en este momento no se me ocurre otra ecuación,
pero porque no mejor equilibrar el asunto desde el xml?
es decir, en caso que sean 13 las que tengas que cargar,
pues carga las restantes (las 5 faltantes) como imagenes por
defecto (puede ser un logo o una imagen de próximamente! o algo así)
no se que tal te suene la idea
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 01/10/2010, 08:35
 
Fecha de Ingreso: septiembre-2010
Ubicación: Trujillo
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Lista vetical dinámica usando XML y AS3

hola,
no habia pensado, algo tan ovio
pero como esa lista de xml lo genero de la DB,
bueno, la idea es encajar esos faltantes completandolo usando los anteriores items, por ejemplo que muestre desde el item 8 en adelante.

gracias por la idea,
la tendre en mente,
saludos
  #4 (permalink)  
Antiguo 01/10/2010, 14:49
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Lista vetical dinámica usando XML y AS3

Cita:
Iniciado por joseluisq Ver Mensaje
hola,
no habia pensado, algo tan ovio
pero como esa lista de xml lo genero de la DB,
bueno, la idea es encajar esos faltantes completandolo usando los anteriores items, por ejemplo que muestre desde el item 8 en adelante.

gracias por la idea,
la tendre en mente,
saludos
bueno, más fácil aún, pues en ese archivo (que teorizo es php) tendrías una variable que diga cuantos registros necesitas por página (6 en tu caso) y luego que traes los datos de la bd (y teorizando que uses mysql) entonces podrías dividir el mysql_num_rows (13) entre dicha cantidad de registros (6) dandote el 2.16 y con mod 4, y luego validas que si el mod de la división NO es cero (si fuera cero, sería páginas completas) entonces que agregue tantos elementos al xml como hagan falta con lo de pretederminado que ya te comentaba antes
como saber cuantos elementos hacen falta?
pues sencillito como diria manuel el argentino....
es más, se me ocurre otra idea con menos vuelta que la que ya te comente...

a ver si así suena mejor

obtienes tu consulta y dibujas el xml
adicional a esto, puedes obtener el total de registros (mysql_num_rows) que en tu caso serán 13
luego divides esos entre el total de items, así total_items = 2.16
ahora multiplicas eso por 6, y si te da entero no tienes necesidad
de hacer nada, pero si te da decimal (como en este caso) entonces puedes
cortar el primer caracter de total_items (es decir, 2) y multiplicarlo por 6

teniendo así que tienes 13 items en total contra 12,
y luego un if que pregunte que si el num_rows es mayor que el resultado
de esa multiplicación, entonces que le agregue tantos registros al xml como hagan falta, y como? otra vez manuel viene...
hacemos esto entonces, restamos los items totales (13) del resultado de la multiplicación, es decir: 13 - 12 = 1, y con esto sabemos que se tiene 1, y necesitamos 5, y simplemente hacemos otra resta del resultado de esta resta previa menos el totaldeitemsporpagina, es decir: 6 - 1 = 5

y luego usando este resultado, en un for que vaya de 1 hasta dicho resultado, agregue los items faltantes al xml

jajajaja, creo que es mejor esta segunda solución, aunque te dejo las dos
para ver cual te inspira

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 01/10/2010, 15:35
 
Fecha de Ingreso: septiembre-2010
Ubicación: Trujillo
Mensajes: 16
Antigüedad: 13 años, 8 meses
Puntos: 0
De acuerdo Respuesta: Lista vetical dinámica usando XML y AS3

Cita:
Iniciado por mortiprogramador Ver Mensaje
bueno, más fácil aún, pues en ese archivo (que teorizo es php) tendrías una variable que diga cuantos registros necesitas por página (6 en tu caso) y luego que traes los datos de la bd (y teorizando que uses mysql) entonces podrías dividir el mysql_num_rows (13) entre dicha cantidad de registros (6) dandote el 2.16 y con mod 4, y luego validas que si el mod de la división NO es cero (si fuera cero, sería páginas completas) entonces que agregue tantos elementos al xml como hagan falta con lo de pretederminado que ya te comentaba antes
como saber cuantos elementos hacen falta?
pues sencillito como diria manuel el argentino....
es más, se me ocurre otra idea con menos vuelta que la que ya te comente...

a ver si así suena mejor

obtienes tu consulta y dibujas el xml
adicional a esto, puedes obtener el total de registros (mysql_num_rows) que en tu caso serán 13
luego divides esos entre el total de items, así total_items = 2.16
ahora multiplicas eso por 6, y si te da entero no tienes necesidad
de hacer nada, pero si te da decimal (como en este caso) entonces puedes
cortar el primer caracter de total_items (es decir, 2) y multiplicarlo por 6

teniendo así que tienes 13 items en total contra 12,
y luego un if que pregunte que si el num_rows es mayor que el resultado
de esa multiplicación, entonces que le agregue tantos registros al xml como hagan falta, y como? otra vez manuel viene...
hacemos esto entonces, restamos los items totales (13) del resultado de la multiplicación, es decir: 13 - 12 = 1, y con esto sabemos que se tiene 1, y necesitamos 5, y simplemente hacemos otra resta del resultado de esta resta previa menos el totaldeitemsporpagina, es decir: 6 - 1 = 5

y luego usando este resultado, en un for que vaya de 1 hasta dicho resultado, agregue los items faltantes al xml

jajajaja, creo que es mejor esta segunda solución, aunque te dejo las dos
para ver cual te inspira

saludos


pues efectivamente, como dice manuel el argentino "sencillito" jajaja
oye genial, claro veo que entendiste perfectamente el problema,
lo que puede llegar hacernos un decimal jajaja
bueno, claro la segunda solución es excelente,
creo que el punto de quiebre por asi llmarlo es lo que mensionas:
"cortar el primer caracter de total_items (es decir, 2) y multiplicarlo por 6"

la verdad por eso no daba con el rollo, pero en fin,
ahora si como dice manuel es sencillo porque con un 2 * 6
se cuantos items tengo exacto y con un 6 - (13 - (2 * 6) ) se cuantos me faltan.
axcelente amigo manuel jajaja

gracias de verdad por la molestia y por todo el desenlace de esta telenovela jajaja
la cual podriamos titularla como:
"por culpa de un decimal, manuel no lo ve muy sencillito"

ahora me queda armar el AS para mover el lienzo que es otro rollo, en fin...

bien hecho gracias!!
saludos
  #6 (permalink)  
Antiguo 01/10/2010, 15:44
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 8 meses
Puntos: 214
Respuesta: Lista vetical dinámica usando XML y AS3

jajajajaja, que cierre!! para los que quieran conocer a manuel, aquí esta (claro, el 10....)
y pues tiene otras intervenciones pero encontre esta por el momento
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: lista, xml
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:56.