ActionScript - Boton rebobinar que luego salta a un frame

 
Vista:

Boton rebobinar que luego salta a un frame

Publicado por Pablo (1 intervención) el 01/04/2009 04:45:09
Hola,

Tengo una línea de tiempo con 4 animaciones. Una animación que va de Inicio a Contacto, otra que va de Inicio a Historia, etc.
Necesito hacer una botonera en la que los botones se fijen en que Frame esta situada la cabeza lectora de Flash, rebobine la animación hasta el Inicio y una vez rebobinada salte a un frame determinado.
Ejemplo:
Si estoy en Contacto y hago click en el botón Historia necesito que el botón rebobine hasta Inicio, es decir, que se reproduzca a la inversa hasta inicio y luego salte a la animación "Inicio-->Historia".
En el primer Frame de la línea de tiempo puse este código pero es como que salta al inicio de una vez, si quito i=1;
rebobina pero llega al inicio y no se dirige al frame indicado:

var i;

function reversa(){
if (_currentframe= =1) {
clearInterval( intervalo) ;
}
prevFrame();
}

mi_btn.onRelease= function( ){
intervalo=setInterv al(reversa, 25);
i=1;
}

onEnterFrame =function(): Void{
if (i == 1) {
gotoAndPlay (110);
}
else if (i == 2) {
gotoAndPlay (80);
}

}

Si alguien puede ayudarme, se lo agradeceré mucho.
Saludos!

Pablo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Botonera para navegar entre animaciones y rebobinar hasta el inicio

Publicado por Alejandro (369 intervenciones) el 24/06/2023 00:43:16
Aquí tienes una solución para implementar una botonera que permita navegar entre animaciones y rebobinar hasta el inicio antes de saltar al frame indicado:

1. Primero, asegúrate de que cada animación tenga un nombre de etiqueta en el frame de inicio. Por ejemplo, la animación de "Inicio" tendría una etiqueta llamada "inicio", la animación de "Contacto" tendría una etiqueta llamada "contacto" y así sucesivamente.

2. En el primer frame de la línea de tiempo, utiliza el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
stop();
var currentAnimation:String = "inicio"; // Inicialmente, establece la animación actual como "inicio"
 
function rebobinarYCambiarAnimacion(animacion:String):Void {
    currentAnimation = animacion; // Establece la animación actual
    reverse(); // Rebobina la animación actual
 
    // Agrega un evento para esperar a que se complete la reversa antes de saltar al frame indicado
    this.onEnterFrame = function():Void {
        if (_currentframe == 1) {
            delete this.onEnterFrame; // Elimina el evento cuando se alcanza el inicio
            gotoAndPlay(currentAnimation); // Salta a la animación actual
        }
    };
}
 
mi_btn.onRelease = function():Void {
    rebobinarYCambiarAnimacion("historia"); // Reemplaza "historia" con el nombre de la animación a la que deseas saltar
}

En este código, se utiliza una variable `currentAnimation` para almacenar el nombre de la animación actual. Cuando se hace clic en el botón, se llama a la función `rebobinarYCambiarAnimacion()` y se pasa el nombre de la animación a la que se desea saltar. La función rebobina la animación actual utilizando `reverse()` y luego establece un evento `onEnterFrame` para esperar a que la reversa se complete antes de saltar al frame indicado.

Asegúrate de reemplazar "mi_btn" con el nombre de tu botón e "historia" con el nombre de la animación a la que deseas saltar.

Recuerda que debes asignar etiquetas a los frames de inicio de cada animación para que el código funcione correctamente.

Espero que esta solución te sea útil. Estoy aquí para ayudarte con tus consultas de ActionScript.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar