Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/04/2003, 21:19
Avatar de hucasys
hucasys
 
Fecha de Ingreso: noviembre-2001
Ubicación: Bastante buena...
Mensajes: 816
Antigüedad: 22 años, 5 meses
Puntos: 3
de los viejos tiempos....

...no me acuerdo si era de kadazuro....o de quién..

En este tutorial sobre el objeto Sound() vamos a poner un sonido de fondo y vamos a poder encenderlo y apagarlo desde un solo botón.
Empezamos directamente con el sonido de fondo encendido, y pulsando sobre el botón seremos capaces de apagarlo, y si volvemos a pulsar sobre el mismo botón el sonido empezará de nuevo, y así sucesivamente.

He aquí nuestro ejemplo con el respectivo botón:



Lo primero que hay que hacer es importar nuestro sonido mediante el menu File/import, una vez que lo hemos importado, este se ubicará en la librería.
Una vez que esté en la librería lo seleccionamos y le damos al botón derecho del ratón, pulsamos la opción "linkage", seleccionamos la opción "export this symbol" y le ponemos como nombre o "identifier" por ejemplo "secuencia".
Esto servirá para identificar nuestro sonido luego en la programación.

Creamos una capa que se llame acciones, selecionamos el primer frame y en sus acciones le ponemos:

sonido1 = new Sound();
sonido1.attachSound("secuencia");
_root.sonido1.stop();
_root.sonido1.start(0, 999);

Expliquemos un poco más el código:

sonido1 = new Sound();
sonido1.attachSound("secuencia");

Aquí creamos un nuevo objeto Sound() que se llamará sonido1, y a este le vinculamos nuestro sonido mediante el "indentifier" llamado "secuencia" que antes definimos.

_root.sonido1.stop();
_root.sonido1.start(0, 999);

Esto quiere decir que al empezar la película empieza el sonido y hay un loop de 999 veces (lo máximo permitido).
El stop() de la línea anterior es por si a alguien se le ocurre "rebobinar" la película con el menú que aparece dándole al botón derecho del Flash, ya que si lo hace y no está ese stop(), se estaría reproduciendo 2 veces el sonido y empezaría a escucharse mal, así que esto evita eso.
Por tanto se detiene cualquier sonido en reproducción y seguidamente empieza uno nuevo.

Por último creamos un movieclip y le ponemos como nombre de instancia clipcontiene, el cual estará presente en toda la película, y lo ubicamos en una capa llamada botón. Seguidamente editamos el clipcontiene y colocamos 2 frames y ponemos el mismo botón en cada frame.

En cada uno de los frames de clipcontiene le ponemos la acción stop();

- Al botón del primer frame le ponemos las siguientes acciones:

on (press) {
_root.sonido1.stop();
_root.clipcontiene.gotoAndPlay (2);
}

Si lo pulsamos se parará el sonido y nos pondrá en el segundo frame de clipcontiene donde está el segundo botón.

- Al segundo botón le ponemos:

on (press) {
_root.sonido1.start(0, 999);
_root.clipcontiene.gotoAndPlay (1);
}

Si lo pulsamos se iniciará nuevamente el sonido en un loop de 999 veces y nos pondrá en el primer frame en donde estará nuestro primer botón.

Por tanto al usar el mismo botón en 2 frames distintos podremos poner 2 acciones distintas según estemos en un frame diferente.
__________________
La manera en que resuelves el problema, es el problema.
ROBERT FRIPP