Tengo una Clip llamado animacion_mc
Utilizo 2 botones, play_mc y stop_mc
el componente Slider con nombre slider_mc
Dentro de el tengo una animacion_mc hay una animación y un audio
Yo busco detener, iniciar y desplazar el Slider sincronizado con el audio, además utilizo dentro de animacion_mc esta función:
Cita:
Para detener X segundos la animación y no tener que hacer muuuyyy extensa la línea de tiempo, pero no me funciona correctamente:stop();
//
var tiempo = 5;
//
setTimeout(function () {
play();
},
//
tiempo * 1000);
//
var tiempo = 5;
//
setTimeout(function () {
play();
},
//
tiempo * 1000);
1. Si detengo la animación y le vuelvo a dar play no se inicia correctamente
2. Si muevo el Slider tampoco se soncroniza audio y animación
3. La animación se mueve sin detenerse X segundos
Hace días "Manuellama" me ayudo con el tema pero como le gregue otros elementos que cito aca no logro que me funcione.
Pongo el código que utilizo:
Cita:
Gracias por su ayuda import fl.controls.Slider;
import flash.display.MovieClip;
import fl.events.SliderEvent;
import flash.events.MouseEvent;
import flash.events.Event;
//
var playing:Boolean=false;
var slider:Slider=slider_mc;
var movie:MovieClip=animacion_mc;
//
var totalframes1 = new Object();
var movies:Array=new Array(totalframes1);
var idmovies:Array=new Array(movie);
totalframes1.totalframes=movie.totalFrames;
totalframes1.framerange=new Array(1,totalframes1.totalframes);
//
for (var a = 1; a<idmovies.length; a++) {
var moviesid:MovieClip=idmovies[a];
moviesid.visible=false;
}
function checkrange(frame) {
for (var i=0; i<1; i++) {
if (movies[i].framerange[0]<=frame&&movies[i].framerange[1]>=frame) {
for (var a = 0; a<idmovies.length; a++) {
var moviesid:MovieClip=idmovies[a];
moviesid.visible=false;
}
var currentmovie:MovieClip=idmovies[i];
currentmovie.visible=true;
function trueframe(i,frame) {
var truef=frame;
if (i==movies.length-1) {
truef+=movies[i].framerange[0];
}
if (i!=0&&i!=movies.length) {
for (var o=i; o>0; o--) {
truef-=movies[i].framerange[0];
}
}
return truef;
}
var currentframe=trueframe(i,frame);
currentmovie.gotoAndPlay(currentframe);
}
}
}
var arrayframes:Array = new Array();
slider.maximum=totalframes1.totalframes;
play_mc.addEventListener(MouseEvent.CLICK, iniciar);
stop_mc.addEventListener(MouseEvent.CLICK, detener);
//;
stage.addEventListener(Event.ENTER_FRAME, barra);
function barra(e:Event) {
if (playing==true) {
slider.value++;
}
checkrange(slider.value);
//Slider. Lo hace mover manualmente
}
//;
function iniciar(e:MouseEvent) {
playing=true;
stage.removeEventListener(Event.ENTER_FRAME, goback);
}
//
//
function detener(e:MouseEvent) {
playing=false;
movie.stop();
stage.removeEventListener(Event.ENTER_FRAME, goback);
}
//
function goback(e:Event) {
slider.value--;
checkrange(slider.value);
}
import flash.display.MovieClip;
import fl.events.SliderEvent;
import flash.events.MouseEvent;
import flash.events.Event;
//
var playing:Boolean=false;
var slider:Slider=slider_mc;
var movie:MovieClip=animacion_mc;
//
var totalframes1 = new Object();
var movies:Array=new Array(totalframes1);
var idmovies:Array=new Array(movie);
totalframes1.totalframes=movie.totalFrames;
totalframes1.framerange=new Array(1,totalframes1.totalframes);
//
for (var a = 1; a<idmovies.length; a++) {
var moviesid:MovieClip=idmovies[a];
moviesid.visible=false;
}
function checkrange(frame) {
for (var i=0; i<1; i++) {
if (movies[i].framerange[0]<=frame&&movies[i].framerange[1]>=frame) {
for (var a = 0; a<idmovies.length; a++) {
var moviesid:MovieClip=idmovies[a];
moviesid.visible=false;
}
var currentmovie:MovieClip=idmovies[i];
currentmovie.visible=true;
function trueframe(i,frame) {
var truef=frame;
if (i==movies.length-1) {
truef+=movies[i].framerange[0];
}
if (i!=0&&i!=movies.length) {
for (var o=i; o>0; o--) {
truef-=movies[i].framerange[0];
}
}
return truef;
}
var currentframe=trueframe(i,frame);
currentmovie.gotoAndPlay(currentframe);
}
}
}
var arrayframes:Array = new Array();
slider.maximum=totalframes1.totalframes;
play_mc.addEventListener(MouseEvent.CLICK, iniciar);
stop_mc.addEventListener(MouseEvent.CLICK, detener);
//;
stage.addEventListener(Event.ENTER_FRAME, barra);
function barra(e:Event) {
if (playing==true) {
slider.value++;
}
checkrange(slider.value);
//Slider. Lo hace mover manualmente
}
//;
function iniciar(e:MouseEvent) {
playing=true;
stage.removeEventListener(Event.ENTER_FRAME, goback);
}
//
//
function detener(e:MouseEvent) {
playing=false;
movie.stop();
stage.removeEventListener(Event.ENTER_FRAME, goback);
}
//
function goback(e:Event) {
slider.value--;
checkrange(slider.value);
}