Comunidad de diseño web y desarrollo en internet online

Creacion de rueda con elementos que se repiten

Citar            
MensajeEscrito el 22 Mar 2011 12:34 pm
Que tal gente, los molesto con un tema que me está teniendo en vilo hace unos días, antes que nada les comento que empecé recién con as3 así que puede que mi inquietud sea una pavada (esperemos).

El tema es así, estoy haciendo en flash un componente que es como una lista vertical de números o textos en donde el que se clickea se posiciona en el centro vía una animación.

lo que hice fue crear un sprite que es el que muevo cuando se clickea adentro un array y en cada posición del array un text, hasta ahí perfecto la animación funciona pero yo necesito que digamos la lista sea infinita, es decir si es del 1 al 10 cuando llegue al 10 abajo me tiene que aparecer el 1 abajo el 2 y así, por lo que utilice métodos de Array para sacar la última posición y ponerla primera o viceversa según sube o baja, eso lo hace, el tema es que no me lo muestra por pantalla, ocea el array cambia de valores en los índices pero en la pantalla sigue =, según me dijo un amigo es porque el array no es bindable pero la verdad no se me ocurre como solucionarlo

con la posición en y de los text no puedo jugar porque hay una animación de por medio.

bueno cualquier sugerencia es de ayuda, gracias de antemano y perdón por mi discurso tan largo.

Por PoXy

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 22 Mar 2011 04:57 pm
La pregunta sería: ¿cual es la relación del Array con lo que hay en pantalla? Si el array tiene referencias a los elementos de tu lista, no basta con cambiarlos de lugar (al DisplayList le da lo mismo donde esten tus referencias) sino que lo tienes que redibujar entero

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 Mar 2011 01:07 pm
ok, claro tenes razón y es lo que estoy intentando hacer ahora, escribir el array, hacer la animación, cuando necesito lo modifico y después intento re dibujarlo y ahi tengo el problema, cuando se dibuja por primera vez va bien pero al cambiar las posiciones del array con pop, shift, push y unshift cuando lo quiero volver a dibujar no cambia nada en la pantalla

la función que utilizo para dibujar el array es la sig.

perdón si está muy mal echa pero bueno, espero me puedan guiar.

Código ActionScript :

private function generateLabels(down:Boolean, up:Boolean){
  var sp1:Object = getChildByName("sprite1");
  if(down){
    sp1.y = sp1.y - LABELH;
  }else if(up){
    sp1.y = sp1.y + LABELH;
  }
  for(var i:int = 0;i<=myArr.length-1;i++){
    sp1.addChild(myArr[i]);
  }
}



la primera vez que se cargan los labels llamo a la funcion asi:
generateLabels(false, false);
y despues la llamo pasandole true, false o false, true segun baja o sube

Por PoXy

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Mar 2011 02:49 pm
Pero si no haces un removeChild antes de agregarlos, estás duplicando los items cada vez que llamas la función ... te falta quitarlos todos antes de volverlos a agregar

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.