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

ProgressBar de un método

Estas en el tema de ProgressBar de un método en el foro de Flash y Actionscript en Foros del Web. Hola a todos, hace mucho que no entro por acá. Estoy haciendo un práctico para la facu y me ha surgido un problemón. Les comento: ...
  #1 (permalink)  
Antiguo 19/06/2011, 20:34
Avatar de Facu_bacanes  
Fecha de Ingreso: mayo-2005
Mensajes: 8
Antigüedad: 18 años, 11 meses
Puntos: 0
ProgressBar de un método

Hola a todos, hace mucho que no entro por acá. Estoy haciendo un práctico para la facu y me ha surgido un problemón. Les comento:

La cosa es que estoy haciendo un programa con AS3 (en AIR) que cargue un archivo, lo compacte y luego lo descompacto (onda lo que hace winrar). La cosa es que para archivos relativamente grandes, tarda un rato en aplicar la compactación. Entonces pensé: "le pongo una barra de progreso para que vaya indicando cuánto es el progreso de compactación del archivo". El tema es que ya me duele la cabeza de pensar como hacerlo y no encuentro nada práctico.

Mi programa (a muy groso modo) es algo como el estilo:

While(no termine de compactar el archivo){
proceso de compactación
}

el problema radica que flash ejecuta el while como si fuera de forma atómica. Hasta que no termina de ejecutar todo loq ue está dentro del while, no hace otra cosa, por lo que no me muestra ni barra de progreso ni nada. La idea sería hacer aglo como:

While(no termine de compactar el archivo){
calcula proceso
muestra barra actualizada
proceso de compactación
}

estoy conciente de que flash actualiza la pantalla por fotogramas, pero tampoco se me ha ocurrido como solucionarlo haciendo un bucle en los fotogramas.

Desde ya, muchas gracias a todos!! UN SALUDO!
  #2 (permalink)  
Antiguo 21/06/2011, 10:53
Avatar de jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 4 meses
Puntos: 43
Respuesta: ProgressBar de un método

Hola Facu_bacanes !

Al ejecutar un while, todo este proceso se realiza en el hilo principal y por eso se cuelga el programa hasta que termine su ejecución.

La aplicación la estás realizando en Adobe Air, te sugiero utilizar la clase Timer, lo que hace es abrir un hilo de ejecución por intervalos de tiempo.

Con esta vas a poder llamar a algún método cada X tiempo para hacer los respectivos cálculos de la barra de progreso.

Un saludo y suerte !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.
  #3 (permalink)  
Antiguo 01/07/2011, 22:06
Avatar de Facu_bacanes  
Fecha de Ingreso: mayo-2005
Mensajes: 8
Antigüedad: 18 años, 11 meses
Puntos: 0
Respuesta: ProgressBar de un método

Hola de nuevo, gracías por responder (y perdón por tardar tanto en re-responder, estaba medio complicado terminando el cuatrimestre). Probé con el Timer, pero me sigue haciendo lo mismo, entra al while, para todo (incuso los timers que se puedan estar ejecutando en ese momento) y una vez que sale del while los sigue ejecutando jajaj. Tal vez no se pueda hacer, no lo he visto en ningún foro. De nuevo gracias por responder, seguro que ya estaré molestando por algunas cositas más :D

Etiquetas: as3, progressbar
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 18:40.