Foros del Web » Creando para Internet » Flash y Actionscript »

Botón para acelerar reproducción de un MC

Estas en el tema de Botón para acelerar reproducción de un MC en el foro de Flash y Actionscript en Foros del Web. Hola de nuevo. Como siempre y ante todo gracias por vuestra atención y ayuda. Me estoy volviendo loco buscando esto, y a pesar de haber ...
  #1 (permalink)  
Antiguo 02/11/2010, 01:11
 
Fecha de Ingreso: diciembre-2007
Mensajes: 60
Antigüedad: 16 años, 4 meses
Puntos: 1
Botón para acelerar reproducción de un MC

Hola de nuevo.
Como siempre y ante todo gracias por vuestra atención y ayuda.

Me estoy volviendo loco buscando esto, y a pesar de haber encontrado cosas similares, como mi nivel de flash es justito y hace tiempo que no hago nada, no he conseguido mi propósito:

Necesito un botón que me permita acelerar la reproducción de un movieclip cargado previamente en otro nivel.

Me extiendo un poco más:
Tengo una sencilla película con 6 botones y una pantalla en el primer frame.
Cada uno de esos botones crea en la pantalla un mc vacío donde se carga un sencillo mc explicativo de una serie de movimentos (jugadas) que el usuario debe aprender.
(Este mc se carga siempre en el nivel 1 para que cuando se cargue otro de los 6, desaparezca automáticamente el anterior.)
La reproducción de estos mc es lentita, por lo que conviene poder acelerar la reproducción. Y esto es lo que no consigo.
No es necesario una seekbar (que por otra parte no he conseguido relacionar con mi mc), ya que lo que se debe aprender es un esquema de jugadas y no conviene
ir saltando en la reproducción, sino acelerarla o pausarla donde sea conveniente.

¡Ah! Se me olvidaba, estoy usando AS2 en flash CS4.

Muchas gracias.
__________________
Miguel Ángel
  #2 (permalink)  
Antiguo 04/11/2010, 12:19
 
Fecha de Ingreso: diciembre-2007
Mensajes: 60
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: Botón para acelerar reproducción de un MC

Bueno, con tantas visitas y ninguna respuesta, se ve que no es cosa fácil lo que he pedido.
Yo lo he conseguido de una manera un tanto rudimentaria y pesada, pero funciona.

Básicamente lo que he hecho ha sido trabajar con dos variables una para avanzar y otra para retroceder de este modo:

En cada uno de los botones de carga de los mc correspondientes:
Código:
on (release){
	_global.avanzar = 0;
	_global.retroceder = 0;
}
Botón de avanzar:
Código:
on (release, keyPress "<Right>") {
	_global.avanzar = 1;}
Botón de retroceder:
Código:
on (release, keyPress "<Left>") {
	_global.retroceder = 1;}
En cada uno de los mc creo una capa de acciones donde en cada frame hay un keyframe único dependiendo del número de frames que quiero avanzar. Entonces;
- si cuando entro en el frame, avanzar = 1, entonces salta 10 frames hacia adelante;
- si cuando entro en el frame, retroceder = 1, entonces salta 10 frames hacia atrás;
- si cuando entro en el frame, avanzar = retroceder = 0, entonces la reproducción es normal.
Pongo por ejemplo el código de los frames 126, 127 y 128.

Frame 126:
Código:
this.onEnterFrame = function():Void { 
    if(_global.avanzar == 1) { 
        this.gotoAndPlay (136);  
    }
	 if(_global.retroceder == 1) { 
        this.gotoAndPlay (116); 
    }
}
Frame 127:
Código:
this.onEnterFrame = function():Void { 
    if(_global.avanzar == 1) { 
        this.gotoAndPlay (137);  
    }
	 if(_global.retroceder == 1) { 
        this.gotoAndPlay (117); 
    }
}
Frame 128:
Código:
this.onEnterFrame = function():Void { 
    if(_global.avanzar == 1) { 
        this.gotoAndPlay (138);  
    }
	 if(_global.retroceder == 1) { 
        this.gotoAndPlay (116); 
    }
}

Sólo quedará ver qué se hace en los frames del principio y del final, (aquellos en los que ya no hay más frames).


Bueno, hasta aquí mi granito de arena.
Espero que le sirva a alguien.

Muchas gracias a todos por vuestro interés.
__________________
Miguel Ángel

Última edición por mikarts; 04/11/2010 a las 12:34

Etiquetas: acelerar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:43.