Reproducción "Marcha atrás"

Quisiera saber cómo puedo hacer que en determinados momentos (al presionar un btón, por ejemplo), un movieclip se reprodujese marcha atrás.
Ejemplo:
Estoy en el frame 30 y quiero ir al 25, pero que me reproduzca los frames intermedios...
Lo he intentado con variables, pero Flash (el muy jodío) procesa tan rápido que se parece más a un Goto que otra cosa.

1 Respuesta

Respuesta
1
Ok este procedimiento puede estar rodeado de muchas complicaciones y siento que a este foro le falta siempre preguntarle a los usuarios cuanto saben de flash así sabríamos nosotros que tan complicada puede ser nuestra respuesta, aun así te explicare el procedimiento más sencillo para hacerlo:
Primero introduce tu animación a un movie clip, después toma este movie clip por fuera y pegale este código:
onClipEvent (enterFrame) {
if ( /:reversa == 1) {
//source by Xquizo [email protected]
with (this) {
prevFrame ();
}
}
if (this._currentFrame < 25) {
/:reversa = 0;
with (this) {
play ();
}
}
}
Nota: el segundo if que tu vez señala a la película donde debe empezar a caminar hacia adelante, en este caso puse numero 25 porque así lo has solicitado, sin embargo podéis poner el numero que desees (donde tu película volverá a correr normalmente).
Ahora lo único que tienes que hacer es pegarle este código a un botón (podéis colocarlo donde gustes)
on (release) {
/:reversa = 1;
}
¿Verdad que es muy sencillo?, salu2. =)
Gracias, eso me funciona, pero solo una vez por movieclip.
Te voy a detallar el ejercicio que estoy haciendo para que tengas todos los datos...
Se trata de un visualizador de imágenes... con dos botones (adelante y atrás)... tengo una movieclip con la animación de las imágenes pasando, y cada 5 fotogramas un (Stop), para que la animación se detenga justo en cada imagen... en el botón adelante tengo un (play), de modo que según vas apretando el botón adelante, van pasando las imágenes.
Pero, ¿qué pongo en el botón de atrás?. Lo que tú me has indicado funciona, pero solo en el fotograma 25... he intentado un par de expresiones en lugar de numero de fotograma, pero no consigo que retroceda frame por frame.
Otra vez gracias, y siento ser tan quisquilloso :)
Un saludo,
Pel :)
Oxtia a veces nos echan culpa a los expertos, pero otras debéis darse cuenta que no nos dan toda la información debida:
Muy bien vas por muy buen camino realmente ahora tu problema lo solucionaras muy fácil: primero en el código de tu movieclip suprime el ultimo tag referente al 25 osea quedaría así:
onClipEvent (enterFrame) {
if ( /:reversa == 1) {
with (this) {
prevFrame ();
}
}
}
Ok, ahora cada 5 frames donde me dices que se va a parar (donde has puesto tus stops)escribe este código:
/:reversa = 0;
stop ();
Esto quiere decir que estas diciéndole al flash que cada vez que caiga en ese frame se detendrá, el stop lo usaras para detener la animación de adelante y el /:reversa=0 para detener la animación de atrás.
Ojo: si estas usando este código en varios movies al mismo tiempo, recomiendo que vayas modificando la variable:
Por ejemplo en todos los lugares donde se usa /:reversa
en el segundo movie clip usa /:reversa2 y así sucesivamente, eso te ahorrara problemas, saludos. =)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas