Esperar en un fotograma de Flash con ActionScript 2

Para pausar una película de flash por algunos segundos, tenemos que extender la línea de tiempo añadiendo fotogramas hasta completar el tiempo de espera deseado. Este procedimiento resulta tedioso y origina líneas de tiempo muy largas, y lo peor es que, si se desea aumentar o reducir el tiempo, nos vemos obligados a, nuevamente, incrementar o quitar fotogramas.

Afortunadamente, se pueden evitar este tipo de tareas utilizando ActionScript.

  1. Cree una nueva capa de acciones y nómbrela, en nuestro caso la he llamado as. Este es un procedimiento recomendado para evitar tener el código disperso en toda la línea de tiempo.
  2. Vaya al fotograma donde desea que se detenga la película e inserte un nuevo fotograma clave (F6).
  3. De clic derecho (Ctrl+clic en Mac) y habilite Actions.
  4. Escriba en el panel de acciones el siguiente código:stop ();
    pausa = setInterval(siga, 2000);
    function siga() {
    play();
    }

Explicación:

La primera línea de código stop (); detiene la película en el fotograma en el cual está la acción. La línea 3 define la variable pausa que es igual a la función setInterval que tiene 2 parámetros: siga es la función que se llama cuando se cumpla el tiempo especificado y 2000 es el tiempo  (en milisegundos) que dura detenido el reproductor en el fotograma. Las líneas 5 a 7 definen la función siga, o sea la acción que se debe ejectuar una vez se cumpla el tiempo. En nuestro caso, queremos que la película continue en el siguiente fotograma así que insertamos play ();

Por: Iván Gómez S.

Dudas y preguntas? Visita nuestro foro

Bookmark and Share
Visitas a este post: 101

Post relacionados

Tags: , ,

8 Responses to “Esperar en un fotograma de Flash con ActionScript 2”

  1. cesar says:

    Muy bien la ayuda, aunque no aparece el tiempo maximo que se pueda ejecutar. Me resulto bien aunque tube que hacerle algunos ajustes para mi pelicula. Gracias.

  2. admin says:

    Hola Cesar, si deseas puedes comentarnos los ajustes que le hiciste.

  3. profeivan says:

    El tiempo de espera (en nuestro caso 2000) es en milisegundos. Lo que quiere decir esto es que la película se detendrá por 2 segundos. Si deseamos 5 segundos escribiriamos 5000.

  4. kodkod says:

    el tiempo de espera solo me funciona la primera vez, cunado vuelve a pasar por fotograma que contiene la función no se retrasa

  5. profeivan says:

    El codigo debe funcionar. Revise el codigo que sigue en su película. Si desea publique el problema en nuestros foros.

  6. ferbarbarie says:

    es verdad el codigo no funciona. Solo se detiene la primera vez

  7. Tengan en cuenta que el ejemplo está hecho en AS2

  8. profeivan says:

    intente con el siguiente codigo en el primer fotograma de la animacion:

    function pause () {
    play ();
    clearInterval (espera);
    }

    y este en el fotograma donde se detiene la animacion

    stop();
    espera = setInterval(pause, 5000);

Leave a Reply