La clase Timer

Posted by admin | AS3,Referencia | Sunday 29 October 2006 12:28 am

La clase Timer de AS3 tiene una gran ventaja sobre setInterval y es que podemos indicarle como parametro cuantas veces queremos que ejeute la acción antes de parar, con lo que no tendremos que eliminar el intervalo con clearInterval().

setInterval en AS2:

Actionscript:
  1. function movimiento(){
  2.    clip1._x += 10;
  3. }
  4. intervalo = setInterval(this, "movimiento", 1000);

clase Timer en AS3:

Actionscript:
  1. function movimiento(event:TimerEvent):void{
  2. clip1.x += 10
  3. }
  4. var intervalo:Timer = new Timer(1000, 0);
  5. intervalo.addEventListener(TimerEvent.TIMER, movimiento);
  6. intervalo.start();

Como vemos el constructor de la clase Timer necesita dos parametros, el tiempo en milisagundos y el numero de repeticiones (colocando 0 será indefinido).

El intervalo necesitará ser inicializado con la función start(), y podremos pararlo en cualquier momento con la funcion stop().

PD. otra caracteristica de AS3 que podemos ver en este código es que todas las propiedades de MovieClip ( _x , _y , _rotation , etc..) han sido sustituidas por flash.display.DisplayObject, con lo que el "clip1._x" pasa a ser "clip1.x" (sin el guión bajo)

Post relacinonados:

  1. Clase de ActionScript 3 para retardar la ejecución de funciones
  2. Eventos click y doble click en un botón con Actionscript 3
  3. Controlar inactividad en una pelicula
  4. Clase para transiciones de fotos
  5. Clase de Actionscript 3 para arrays multidimensionales

2 Comments »

  1. Comment by Rafeo — 8 February, 2012 @ 1:27 pm

    Gracias, ya me sirvió para mi 1er intento de player de video . :D

  2. Comment by Diego — 29 March, 2011 @ 6:00 pm

    Increíble...
    Copio y pego el código en un .fla situado en una carpeta
    y funciona perfectamente...
    Guardo el mismo .fla (exactamente el mismo)en otra carpeta
    y me tira el clásico error "1046: Type was not found or was
    not a compile-time constant: Timer."

    Creo que escapa al mismísimo Adobe este error...
    Si a alguien se le ocurre algo, lo escucho.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Get Adobe Flash playerPlugin by wpburn.com wordpress themes