La clase Timer
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:
- function movimiento(){
- clip1._x += 10;
- }
- intervalo = setInterval(this, "movimiento", 1000);
clase Timer en AS3:
- function movimiento(event:TimerEvent):void{
- clip1.x += 10
- }
- var intervalo:Timer = new Timer(1000, 0);
- intervalo.addEventListener(TimerEvent.TIMER, movimiento);
- 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)
Compártelo:
Visto 14.195 veces
Gracias, ya me sirvió para mi 1er intento de player de video . 😀
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.