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

Componente de Slider en .as3

Estas en el tema de Componente de Slider en .as3 en el foro de Flash y Actionscript en Foros del Web. Buenos días para todos 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 ...
  #1 (permalink)  
Antiguo 20/05/2011, 08:51
Avatar de ceaped  
Fecha de Ingreso: febrero-2004
Mensajes: 2.185
Antigüedad: 20 años, 2 meses
Puntos: 9
Pregunta Componente de Slider en .as3

Buenos días para todos

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:
stop();
//
var tiempo = 5;
//
setTimeout(function () {
play();
},
//
tiempo * 1000);
Para detener X segundos la animación y no tener que hacer muuuyyy extensa la línea de tiempo, pero no me funciona correctamente:

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:
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);

}
Gracias por su ayuda
__________________
Diseñador Gráfico publicitario

Etiquetas: as3, componente, slider
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 20:37.