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.