Unidad 23. Animaciones avanzadas (IV)

bola naranjaENTER_FRAME ("enterFrame")

El controlador de eventos ENTER_FRAME, permite invocar a una función de forma repetida tantas veces como fotogramas por segundo tenga definida la película.

Este comportamiento ya lo hemos utilizado varias veces.

Por ejemplo, en el movieClip bola_mc:

 var i:Number =0;
 bola_mc.addEventListener(Event.ENTER_FRAME, miFuncion)
 function miFuncion(event):void{
    trace("ejecutando: "+ ++i);
 }

Si la velocidad de la película es de 12 fps, este código escribiría en la salida 12 líneas por segundo, de esta forma:

  • ejecutando:1
  • ejecutando:2
  • ejecutando:3
  • ...

bola naranja Aunque con este ejemplo no lo parezca, (sólo pretende explicar la función) estos dos tipos de funciones que se ejecutan repetitivamente pueden ser muy útiles en determinadas ocasiones. A lo largo del cursos ya hemos visto algunos ejemplos de su utilidad, a continuación veremos otro ejemplo que puede sernos útil.

Imagina que quieres que tu película se detenga durante 2 segundos y luego continúe. Esta es una forma de hacerlo utilizando la función setInterval.


Colocaríamos este código en el frame que deseemos, llamamos a setInterval con 1 s (1000 ms) y cuando se hayan cumplido dos llamadas detenemos setInterval y continuamos con el siguiente frame de la película.

 var tope:Number = 1;
 var repeticion:Number = setInterval(parar, 1000);
 function parar() {
    tope++;
    if (tope > 2) {
       clearInterval(repeticion);
       nextFrame();
       play();
    }
 }
stop();


Pág. 23.4

Atrás  Inicio  Adelante