Comunidad de diseño web y desarrollo en internet online

Soundtrack con fadeIN/Out

Citar            
MensajeEscrito el 22 Dic 2009 07:02 pm
Hice un script para bajar el volumen con una especie de fadeOut..
Nunca lo habia probado en 3.0 pero lo unico que no funciona es cuando vuelvo a hacer el addEventList...
Porque?

El code es este:

Código ActionScript :

//BAJA_VOLUMEN_FUNCTION
var bajaVol:Number = 1;
function bajaVolumen(evt:Event) {
   bajaVol = Number(bajaVol-0.01);
   var musicVol:SoundTransform = new SoundTransform(bajaVol, 0);
   channel1.soundTransform = musicVol;
   trace("LALAL"+bajaVol);
   if (bajaVol <= 0.02) {
      pausePosition = channel1.position;
      var bajaVol:Number = 1;
      musica.removeEventListener(Event.ENTER_FRAME, bajaVolumen);
   }
   return bajaVol;
   return pausePosition;
}
//SUBE_VOLUMEN_FUNCTION
var subeVol:Number = 0;
function subeVolumen(evt:Event) {
   subeVol = Number(subeVol+0.01);
   var musicVol:SoundTransform = new SoundTransform(subeVol, 0);
   channel1.soundTransform = musicVol;
   trace("LALAL"+subeVol);
   if (subeVol >= 1) {
      musica.removeEventListener(Event.ENTER_FRAME, subeVolumen);
      var subeVol:Number = 0;
      return subeVol;
   }
}
//AGREGO_EL_SONIDO
var musicURL:URLRequest = new URLRequest("megueiros.mp3");
var sndMusic:Sound = new Sound(musicURL);
var channel1:SoundChannel;
//AVISA_SI_NO_CARGO
function errorMsg(evt:IOErrorEvent):void {
   trace("the sound could not be loaded");
}
sndMusic.addEventListener(IOErrorEvent.IO_ERROR, errorMsg);

function soundLoaded(evt:Event):void {
   trace("finish loaded music");
   var musicDimmer:SoundTransform = new SoundTransform(.5, 0);
   channel1 = sndMusic.play();
   channel1.soundTransform = musicDimmer;
}
sndMusic.addEventListener(Event.COMPLETE, soundLoaded);

//LLAMO_EL_ON_ENTER_FRAME_SEGUN_ESTADO_DE_LA_MUSICA
var pausePosition:Number = 0;
var estadoMusica:Number = 1;
function playPause(evt:Event):void {
   if (estadoMusica == 1) {
      trace("estMusica = 1 entro");
      musica.addEventListener(Event.ENTER_FRAME, bajaVolumen);
      estadoMusica = 0;
   } else {
      trace("estMusica = 0 entro");
      channel1 = sndMusic.play(pausePosition);
      musica.addEventListener(Event.ENTER_FRAME, subeVolumen);
      estadoMusica = 1;
      //channel1.stop();
   }
}

musica.addEventListener(MouseEvent.CLICK, playPause);


Lo que esta haciendo es funcionar una sola vez. Clickeo en el boton de musica y hace fade out.. clickeo otra vez y hace fadeIn, pero los 2 removeListeners directamente me borraron la funcion de hacerlo suavemente? Porque no a puedo volver a llamar?
Como puedo hacer?

Por chaume_loco

25 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 Dic 2009 08:24 pm
ese ENTER_FRAME me jodio la vida, mmm nose como darle la ultima vueltita de tuerca.
Disculpas por levantar este tema viejo.. :S

Por chaume_loco

25 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.