Estoy intentando crear un reproductor de música que se active (Play) al desplazar un objeto hacia arriba y se desactive (Stop) cuando el objeto se mueva hacia abajo.
Y sinceramente, creo que de tanto darle vueltas me estoy liando mas.
He probado un código, los que viene por defecto en Flash, y aunque parece que funciona es sólo una ilusión, el movimiento lo he conseguido con startDrag/stopDrag, pero el sonido se reproduce/para siempre que hago click y yo quiero que se reproduzca cuando el objeto está arriba y pare cuando no lo esté.
Os pongo el código por si os ayuda.
/* Arrastrar y colocar
Permite que la instancia del símbolo especificado se pueda mover con una acción de arrastrar y colocar.
*/
vinilo_click_drop.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void
{
vinilo_click_drop.startDrag(false, new Rectangle(0,-56,0,56));
}
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void
{
vinilo_click_drop.stopDrag();
}
/* Hacer clic para reproducir/detener sonido
Al hacer clic en la instancia del símbolo, se reproduce el sonido especificado.
Al hacer clic en la instancia del símbolo otra vez, el sonido se detiene.
Instrucciones:
1. Reemplace "http://www.helpexamples.com/flash/sound/song1.mp3" a continuación por la dirección URL del archivo de sonido. Conserve las comillas ("").
*/
vinilo_click_drop.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToPlayStopSound);
var fl_SC:SoundChannel;
//Esta variable realiza un seguimiento de las veces que quiere reproducir o detener el sonido
var fl_ToPlay:Boolean = true;
function fl_ClickToPlayStopSound(evt:MouseEvent):void
{
if(fl_ToPlay)
{
var s:Sound = new Sound(new URLRequest("http://www.helpexamples.com/flash/sound/song1.mp3"));
fl_SC = s.play();
}
else
{
fl_SC.stop();
}
fl_ToPlay = !fl_ToPlay;
}
Muchas gracias a todos por vuestra ayuda.
Un saludo