El botón ON/OFF más sencillo para flash

He estado trabajando un poco con flash estos últimos días, y entre otras cosas, he encontrado una forma realmente sencilla de hacer un botón on de apagar y encender la música para un sitio flash (Usando ActionScript 2.0).
Lo haremos en unos sencillos pasos:
Paso uno: Estando situados en el Escenario principal, lo que haremos será importar el sonido. Eso se puede hacer arrastrando el archivo de sonido directamente a la biblioteca de flash. Para el ejemplo, he usado este loop.

Nota: Una vez tenemos el sonido importado, en sus propiedades, si deseamos, podemos variar su calidad para hacer que pese menos en la película final.
Paso dos: Cuando tengamos esto, creamos un nuevo MC vacío (Ctrl+F8). Este MC, por decir un nombre, lo llamaremos "sonido":

Este MC, tendrá únicamente 2 fotogramas. Para crearlos, usaremos fotogramas clave (F6). Debe quedarnos de esta forma:

Paso tres: Una vez esto, añadiremos al primer fotograma la instancia de "off", y en el segundo fotograma, le ponemos de instancia "on" (Ver imagen inferior). Imagino que ya puedes imaginarte para que son los 2 fotogramas. Uno representará el estado de "apagado" y el otro de "encendido" de la música.

Paso cuatro: Hacemos dos dibujos que representen estos estados en cada respectivo fotograma:
Fotograma 1:

Fotograma 2:

Nota: Si deseas que el icono representativo del estado sea una animación, inserta un MC con las animaciones que quieras (barras subiendo y bajando, o un espectro de sonido ficticio, etc.) en vez de un dibujo estático. Para el caso usaré un dibujo estático para hacerlo más simple.
Nota 2: De todas formas ten en cuenta que el dibujo mismo actuará como zona activa del botón, por lo que si lo haces invisible, luego no se podrá hacer clic y el inventó se joderá
Ahora es cuando empieza la magia.
Paso cinco: Seleccionamos el fotograma que corresponde a la música encendida (el 2 en nuestro caso), y en el panel propiedades le añadimos el sonido solamente a ese fotograma:

Y le asignamos que haga un loop continuado (esto es a vuestra discreción, según cuantas veces queréis que se reproduzca el sonido):

Paso seis: Perfecto, lo que queda ahora es solo el código, el cual es realmente sencillo. Tanto como esto:
- En los ambos fotogramas de nuestro MC ponemos un: stop();
- Adicionalmente, en el fotograma que corresponde al estado "detenido" (es decir, el 1), lo pondremos un stopAllSounds();
De forma que al final tenemos:
Fotograma 1:
-
//Fotograma 1
-
stop();
-
stopAllSounds();
Fotograma 2:
-
//Fotograma 2
-
stop();
Como pueden observar lo que hemos hecho hasta el momento no tiene misterio.
Paso siete: Ahora pongamos la parte de código principal, la que controla el MovieClip desde la escena principal. Nos ubicamos en el directorio raíz de la película (alias root), instanciamos a nuestro MC como "control":

A continuación, en el fotograma en el que aparece nuestro control de sonido, le ponemos este código.
-
var estado:Boolean = false
-
control.onPress = function() {
-
if(estado) {
-
control.gotoAndStop("off");
-
estado=false;
-
} else {
-
control.gotoAndStop("on");
-
estado=true;
-
}
-
}

Este código va en el fotograma donde estará el MC.
Aquí varios ejemplos:
- Necesita tener Flash Player 7 o superior y JavaScript Activado. =)
- Necesita tener Flash Player 7 o superior y JavaScript Activado. =)


Descargar Archivo fuente original
