Home » Básico »Flash »Trucos » Currently Reading:

Pausar un movieclip

mayo 26, 2006 Básico, Flash, Trucos 9 Comments
Pausar un movieclip

La funcion setInterval() no permite crear tiempos de espera para pausar la linea de tiempo de un movieclip en concreto un tiempo determinado o para ejecutar una acción con un retardo de unos segundos.

Por ejemplo, si queremos que una animación se quede parada en un fotograma 3 segundos utilizariamos el siguiente cód

stop();
function seguir():Void {
play();
clearInterval(retardo);
}
retardo = setInterval(this, "seguir", 3000);

 

Al crear el setInterval indicaremos el nombre de la funcion a ejecutar y el tiempo en milisegundos cada cuanto se realizará la llamada.
 
En el interior de la función a parte de las funciones que queramos realizar (en este caso un play() para que la animación continue) añadiremos un clearInterval() para eliminar el intervalo y que no se repita indefinidamente cada 3 segundos.
 
De esta manera podremos crear esperas en fotogramas para hacer las animaciones más lentas y no acabar teniendo animaciones con lineas de tiempo de cientos de fotogramas…

Compártelo:

Pausar un movieclip
Visto 18.199 veces

Currently there are "9 comments" on this Article:

  1. Excelente ejemplo!

    Muchas gracias por compartirlo a la comunidad.

    yo lo ocupé en un botón que brinca en la línea del tiempo cuando se hace acción de rollover y cuando salga el cursor, que se detenga unos segundos y despues se brinque a la etiqueta de salida.

    on (rollOut) {
    stop();
    function seguir():Void {
    play();
    clearInterval(retardo);
    }
    retardo = setInterval(this, “seguir”, 2000);
    }

    Saludos!

  2. Soy yo de nuevo…

    les paso el script que estaba buscando, ya quedó solucionado.

    Sirva para cuando quieres crear un como tipo menú, en el cual hay brincos en la línea del tiempo.

    La idea era que cuando se colocara el mouse dentro de un botón, se mostrara una máscara que abre dos opciones de menú.

    y al salir del botón, que la mascara permanezca 3 segundos para poder seleccionar algo. y despues de eso, que regrese a su estado normal, haciendo una animación de regreso en la línea de tiempo.

    Espero sirva… saludos!! El codigo se lo asigné al botón que quiero que haga la acción.

    on (rollOver) {
    gotoAndPlay(3);
    }

    on (rollOut) {
    clearInterval(intervalo);

    function baja()
    {
    gotoAndPlay (39);
    clearInterval(intervalo);
    break;
    }
    intervalo = setInterval(this, “baja”, 1000);
    }

  3. guillermo dice:

    Buenas, necsito una mano con setinterval, tengo tremendo enredo con este tema, les cuento que es lo que quiero hacer:
    Tengo un MC(pibe) que cuando se carga el swf debería empiezar a avanzar, luego de 3 segundos se detiene, queda inmovil por 3 segundos y luego empieza a a moverse de nuevo hasta salir del escenario, si me pueden dar una mano con eso les agradezco!
    Saludos!

  4. ictius dice:

    a mi me sirvio bastante bien.

    on(release)
    {
    clearInterval(intervalo);
    function baja()
    {
    _root.cabanas.sesamo.a=1;
    _root.cabanas.sesamomenu.b=1;
    clearInterval(intervalo);
    break;
    }
    intervalo = setInterval(this, “baja”, 4000);
    }

  5. ictius dice:

    el break; de la función no es necesario.

    function baja()
    {
    _root.cabanas.sesamo.a=1;
    _root.cabanas.sesamomenu.b=1;
    clearInterval(intervalo);
    }

  6. hola amigos podrian ayudar con esto:

    necesito un codigo para detener totalmete la nimacio, suce que cuando utlizo
    stop(); me detiene hasta donde va la antala pero la aimacion sigue en moviento como hago para detnerla prologar un tiempo y que siga caminado

    help ..

    gracias

  7. Matt dice:

    no me sirvio me tira 4 errores,
    1.- acceso a una propiedad de retardo no definida
    2.- conversion implicita

  8. admin dice:

    @Matt

    Piensa que ese código es en AS2…

    En AS3 sería este:

    stop();

    function seguir():void {
    play();
    clearInterval(retardo);
    }
    var retardo:int = setInterval (seguir, 3000);

    Aquí no te saldrán esos errores 😉

  9. Jorge dice:

    Hola chicos, utilizo esta línea en AS3:

    stop();

    function seguir():void {
    play();
    clearInterval(retardo);
    }
    var retardo:int = setInterval (seguir, 3000);

    La cual me ha funcionado, pero no la puedo utilizar mas de una vez en una animación de 30 segundos, sin cambiar el nombre de sus variables.

    ¿Que debo corregir para poder utilizar la misma línea de codigo y que solo sea cambiar el número de segundos que quiero en la pausa?

    Les agradezco de antemano.

    PD: No se mucho de action script, solo utilizaba el código en as2 para varios videos que realicé y no tuve inconvenientes.

Comment on this Article:








Twitter: zguillez

AdvertisementAdvertisementAdvertisementAdvertisement

Recibe las novedades por email



Map

Ranking

Codigoactionscript.org: 4.65 sobre 5 (106 valoraciones)

twitter-widget.com