lo de agregar o sacar el timer, es simplemente por esto:
al timer se le asignan 2 valores numericos durante su instanciacion
var timer:Timer = new Timer ( 1000 , 2 );
imaginate como si fuera una alarma, vos con el primer parametro ( 1000 ) que le pasas, le decis cada cuantos milisegundos queres q suene, es decir que 1000 = 1 segundo, y por lo tanto el timer sonara cada 1 segundo.
el otro numero ( 2 ) es la cantidad de veces que queres que el timer suene antes de apagarse. es decir que en este ejemplo, el timer sonara cada 1 segundo, y lo hara solo 2 veces.
si en vez de 2, hubiera puesto 0, el timer sonaria cada 1 segundo infinitamente. en el codigo que te pase antes hice esto:
new Timer ( 1000 );
al no especificar segundo parametro, la clase timer agrega ese paramero por mi, con un numero predeterminado, que es el 0.
ahora te voy a explicar los 2 eventos ( en mi opinion ) mas utiles del timer:
TIMER.TIMER_COMLETE
TIMER.TIMER
el primero, lanza un evento solo cuando el timer termino, es decir siguiendo el primer ejemplo ( new Timer ( 1000 , 2 ) ) que
lo hara luego de sonar las 2 veces que le pedi que sonara.
el otro evento en cambio se lanza cada vez que el timer SUENA, por lo que nuestro timer lanzaria 2 eventos Timer y 1 TIMER_COMPLETE
en el codigo que te pase, puse que el timer se lance infinitamente cada 1 segundo
Código ActionScript :
var timer:Timer = new Timer ( 1000 );
timer.addEventListener ( TimerEvent.TIMER , cuando_suena );
timer.start ( );
function cuando_suena ( event:TimerEvent ) : void
{
trace ( "SONO!!!" );
}
y lo que hice fue que cda vez que sonara, pasara una pagina.
los if y else, son para evitar que el timer continue pasando paginas infinitamente, ya que com ote explique antes, sonaria para siempre.
entonces mantenia la referencia de la pagina por la cual el timer estaba, y otra variable con el numero de pag a la cual debia llegar. una vez que estos numeros son iguales, significa que el timer llego a su destino, por lo cual debiamos detenerlo usando
timer.stop ( );
lo de remover los "listeners", es simplemente porque teniamos 2 listeners, uno para avanzar pagina y otro para retrocerla, por lo tanto, quitamos el listener para evitar conflictos.
espero haber aclarado, ya que no lo hago a proposito, pero siempre olvido agregar comentarios explicativos en mis codigos