Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/03/2009, 11:49
JRicardoAr
 
Fecha de Ingreso: enero-2008
Mensajes: 10
Antigüedad: 16 años, 3 meses
Puntos: 0
MP3 externo en distintas escenas

Hola!
Estoy con un problema que seguramente tiene una solución muy simple pero me está quemando las pestañas...

Hice una web en flash (AS2) y separé sus secciones en distintas escenas.
La cuestión es que quiero que la música de fondo (MP3 externo) comience cuando cargue la web, mostrando un boton "off" y cuando se presione éste botón, se pare la música y muestre un botón "on".

El problema:
Navegando la película, al cambiar de escena la música sigue y el botón cambia solo a "on", sin que nadie toque nada.

Cómo lo hice:
La música la cargo con loadSound, y los botones los muestro y los oculto con la función "_visible".
Para que el control sepa si se está reproduciendo o no el mp3, creé una variable global llamada "estadosonido", a la que modifico cada vez que se presiona un botón. Creo que acá está el problema, que al cambiar de escena pasa algo con la variable global.

bueno, va el cóigo que utilicé:

al cargar la peli, primer frame:
Código:
_root.onLoad = function(){
    misonido = new Sound();
    misonido.loadSound("schindler.mp3", true);
   }

botonON._visible = false
botonOFF._visible = true

_global.estadosonido="ON";
trace(estadosonido);
código en el botón "on":
Código:
on (release) {
      misonido = new Sound();
         misonido.loadSound("schindler.mp3", true);
      _global.estadosonido="ON";
      trace(estadosonido);
      botonON._visible = false;
      botonOFF._visible = true;
}

código en el botón "off":
Código:
on (release) {
      stopAllSounds();
      _global.estadosonido="OFF";
      trace(estadosonido);
      botonON._visible = true;
      botonOFF._visible = false;
}
y después, el código al inicio de cada escena:
Código:
if (_global.estadosonido = "ON"){
   botonON._visible = false;
   botonOFF._visible = true;
   };
if (_global.estadosonido = "OFF"){
      botonON._visible = true;
   botonOFF._visible = false;
    }
trace(estadosonido);
Los trace los puse para ver qué pasa con la variable.
La cadena if la hice desdoblada porque intenté primero con un else y no funcionaba.

...alguien me puede orientar a ver en dónde puede estar el problema?


Gracias de antemano!!!

Ricardo