ENTER_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:
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();