Comunidad de diseño web y desarrollo en internet online

problema con variable _global y sentencia if

Citar            
MensajeEscrito el 03 Abr 2009 03:31 pm
Hola, soy bastante nuevo en flash y tengo un problema que debe ser muy sencillo pero no le encuentro solución.
Tengo un botón mute para silenciar o reanudar la música de fondo.
Lo armé con un mc de 2 fotogramas. En el primero, coloco el botón sonido off, y en el segundo el botón sonido on.
el código para cada botón es el siguiente:

Código :

on (release) {
   _root.SonidoOff();
}

y

Código :

on (release) {
   _root.SonidoOn();
}

Las funciones se definen en el _root del siguiente modo:

Código :

_global.pausa = 0;
function SonidoOff() {
   _root.posicion = _root.musica.position;
   musica.stop();
   _global.pause = 1;
}
function SonidoOn() {
   musica.start(_root.posicion/1000);
   _global.pausa = 0;
}

En el primer fotograma del mc con los botones, etiquetado "mp3_sonoro" tengo lo siguiente:

Código :

if (_global.pausa=1) {
   gotoAndStop("mp3_silencioso");
}
stop();

y en el segundo, etiquetado "mp3_silencioso", lo siguiente:

Código :

if (_global.pausa=0) {
   gotoAndStop("mp3_sonoro");
}
stop();

Esto debe funcionar a lo largo de distintas escenas, por eso el uso de la variable _global.
Entiendo que el problema está en la variable o la sentencia if, ya que antes de incluirlas, el botón funcionaba bien, pero se reiniciaba al cambiar de escena independientemente del estado del sonido.
Busqué en los foros y en la ayuda y no encuentro que estoy haciendo mal.
Muchas gracias.

Por elchudelachu

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Abr 2009 05:19 pm
Si usas un solo igual asignas

if (_global.pausa=1)

Debes usar dos iguales para comparar

if (_global.pausa==1)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 03 Abr 2009 07:27 pm
Es verdad, gracias Jorge. De todos modos, eso ya lo había corregido y seguía sin funcionar. Igualmente, encontré la solución, por si a alguien le sirve.
Tuve que agregar onEnterFrame en el mc de los botones para que funcionara. Queda así y aparentemente anda sin problemas:

Código :

this.onEnterFrame = function() {
   if (_global.pausa == 1) {
      gotoAndStop("mp3_silencioso");
   }
};
stop();

Saludos
Pablo
:)

Por elchudelachu

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 03 Abr 2009 07:29 pm
Busca un callback (un evento que no sea chequear constantemente) para poner tu if, si a cada botón le pones un onEnterFrame, en cuanto se haga compleja tu peli le liquidas la CPU al usuario

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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