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:
Visto 24.277 veces
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!
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);
}
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!
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);
}
el break; de la función no es necesario.
function baja()
{
_root.cabanas.sesamo.a=1;
_root.cabanas.sesamomenu.b=1;
clearInterval(intervalo);
}
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
no me sirvio me tira 4 errores,
1.- acceso a una propiedad de retardo no definida
2.- conversion implicita
@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 😉
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.