Retroceder fotogramas

Necesito hacer retroceder los fotogramas de forma contina al pulsar un botón. Lo he conseguido con prevframe pero tengo que pulsar cada fotograma.

1 respuesta

Respuesta
1
Pues´ lo único q´ te quedaría seria hacer un loop de forma q´ cuando presiones un botón este haga regresar la cabeza lectora hasta el primer fotograma, el procedimiento se basa en prevFrame...
Te voy explicando paso a paso como hacerlo...
Primero abre una nueva película y en el primer fotograma dibuja, por ejemplo, un cuadrado rojo, sin bordes, solo el relleno.
Ahora inserta un keyframe blanco en el número 40.
Dibuja allí un circulo azul, sin bordes, solo el relleno.
Ve al primer fotograma y seleccionalo.
Ahora, desde la ventana propiedades de FlashMX, en el campo "animar" selecciona forma.
Hemos creado una interpolación de forma.
Crea otra capa e inserta allí dos botones que ocupen los 40 fotogramas.
Estos botones nos servirán para avanzar y retroceder.
En el botón avanzar inserta esta acción:
on (press){ play(); }
En el botón de retroceder o rebobinar inserta esta otra acción:
on (press){ rebobina.play(); }
Rebobina es el nombre de instancia de nuestro clip mágico.
El clip de película
Crea un clip de película vacío.
Vamos a insertar tres fotogramas clave vacíos y blancos.
Primer fotograma del clip
Inserta un stop();
Nuestro clip solo se ha de poner en marcha cuando nosotros se lo solicitemos, por eso el stop, para que solo actúe cuando lo necesitemos.
Segundo fotograma del clip
Inserta un _root.prevFrame();
Añade una etiqueta de fotograma y pon el nombre loop
Este es el verdadero "truco" de este ejemplo, enviamos a la película principal (_root) al fotograma anterior respecto de donde se encuentre la cabeza lectora.
Tercer fotograma del clip
Inserta un gotoAndPlay("loop");
Hacemos que el clip que rebobina regrese al fotograma etiquetado como "loop", de esta forma volverá a comenzar un ciclo en el que retrocederemos un fotograma cada vez.
Ahora solo has de añadir el nombre de instancia a nuestro clip, llamalo rebobina.
Por último regresemos de nuevo a la película prencipal.
Crea otra capa y llamala "acciones"
En el primer fotograma inserta estas acciones:
rebobina.gotoAndStop(1);
Una vez nuestra película a llegado a este fotograma, el clip que rebobina ha de pararse.
stop();
En este ejemplo la película comienza parada.
En el último fotograma de la película inserta un stop();
Estas acciones on opcionales, pero en nuestro ejemplo nos vendrán muy bien para ver como funciona todo.
El ejemplo ya está hecho, solo tienes que probarlo y adaptarlo a tus necesidades.
Conclusiones
El funcionamiento consiste en crear un clip (rebobina) que contiene una acción para que la película principal retroceda un fotograma.
Este clip entrará en un loop gracias a la acción que contiene su tercer fotograma, lo que hará que nuestra película se rebobine sola y siempre y cuando el clip este en marcha.
Para parar el clip solo hemos de darle la orden:
rebobina.gotoAndStop(1);
Nuestro clip se parará y la película también.
Limitaciones
Este ejemplo tiene unas limitaciones y es que cuando nuestra película se ejecuta normalmente, siempre está en un loop continuo, por lo que la llegar al último fotograma comenzará de nuevo desde el fotograma número 1, pero no sucede lo mismo en el caso de rebobinar, cuando lleguemos al fotograma número 1, no saltará automáticamente al último fotograma, por lo que tendremos que controlar en cada momento donde está la cabeza lectora mediante "_currentframe", para enviarla al último fotograma en el momento adecuado.
Cualquier duda me dices...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas