Comunidad de diseño web y desarrollo en internet online

Eventos para 2 botones (no funciona)

Citar            
MensajeEscrito el 30 Ago 2007 04:58 am
Saludos.

Tengo dos botones en Flash, y mi idea es que cada uno me reproduzca un audio diferente...y con lo siguiente lo logro, el asunto es que si doy clic a uno y luego al otro, quedan sonando los dos al tiempo. Cómo hago para que uno calle al otro y viceversa?
También necesito solucionar el hecho de que si doy clic dos veces al mismo botón, suena el audio dos veces...

//----------------------------------------------------------------------------------------------------------

function playMovie(event:MouseEvent):void {
import flash.events.Event;
import flash.media.Sound;
import flash.net.URLRequest;

var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, onSoundLoaded);
var req:URLRequest = new URLRequest("Aterciopelados y Kema/06 - kema - nocivo.mp3");
s.load(req);

function onSoundLoaded(event:Event):void {
var localSound:Sound = event.target as Sound;
localSound.play();
}
}
nocivo.addEventListener(MouseEvent.CLICK, playMovie);
//------------------
function playMovie2(event:MouseEvent):void {
import flash.events.Event;
import flash.media.Sound;
import flash.net.URLRequest;

var s:Sound = new Sound();
s.addEventListener(Event.COMPLETE, onSoundLoaded);
var req:URLRequest = new URLRequest("Aterciopelados y Kema/15 - Aterciopelados - Maligno.mp3");
s.load(req);

function onSoundLoaded(event:Event):void {
var localSound:Sound = event.target as Sound;
localSound.play();

}
}
maligno.addEventListener(MouseEvent.CLICK, playMovie2);

//----------------------------------------------------------------------------------------------------------

Mil gracias.

JOHNMARTIN

Por JOHNMARTIN

Claber

1222 de clabLevel

4 tutoriales
4 articulos
2 ejemplos

Genero:Masculino  

||| BOGOTA COLOMBIA |||

firefox
Citar            
MensajeEscrito el 30 Ago 2007 05:57 am
Bueno JOHNMARTIN, no soy un experto en AS3 (aún lo estoy estudiando) pero voy a decirte lo que veo:
    1. Los import sólo tienes que colocarlos una vez al principio del código, una vez que los importas no tienes que hacerlo de nuevo.
    2. Igualmente ocurre con los objetos Sound, la variable req y el evento COMPLETE, si son elementos comunes puedes declararlos de una vez (así te evitas gastar recursos innecesariamente).
    3. Ya que vas a querer cargar cada sonido sólo una vez, las llamadas al URLRequest debería ser hechas sólo una vez y no cada vez que haces click.
    4. Para hacer que sólo suene uno puedes detener el sonido anterior en el evento CLICK.
    5. Ya que vamos a cargarlos ambos al mismo tiempo, seguramente no querrás que ambos suenen al terminar de cargarse, por lo que el evento COMPLETE puede que resulte innecesario, si quieres que sólo el primer sonido arranque al terminar de cargarse, sólo colócale el listener a este.



Visto así, tu código podría ser:

Código :

import flash.events.Event;
import flash.media.Sound;
import flash.net.URLRequest;
var s1:Sound = new Sound();
var s2:Sound = new Sound();
var req:URLRequest;
req = new URLRequest("Aterciopelados y Kema/06 - kema - nocivo.mp3");
s1.load(req);
req = new URLRequest("Aterciopelados y Kema/15 - Aterciopelados - Maligno.mp3");
s2.load(req);

function playMovie(event:MouseEvent):void {
     s2.stop();
     s1.play();
}
nocivo.addEventListener(MouseEvent.CLICK, playMovie);

//------------------

function playMovie2(event:MouseEvent):void {
     s1.stop();
     s2.play();
}
maligno.addEventListener(MouseEvent.CLICK, playMovie2);

//------------------------------------------------------------
//Si quieres que el primer sonido arranque al cargarse:
s1.addEventListener(Event.COMPLETE, onSoundLoaded);

function onSoundLoaded(event:Event):void {
      var localSound:Sound = event.target as Sound;
      localSound.play();
}


No tengo del todo claro si el URLRequest va a funcionar así o si necesitas dos objetos (ya te digo que aún estoy estudiando AS3), pero creo que por ahí van los tiros.
Suerte.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 01 Sep 2007 08:50 pm
Probando...vamos a ver como me va, ya os cuento que sucede!

Gracias.

JOHNMARTIN

Por JOHNMARTIN

Claber

1222 de clabLevel

4 tutoriales
4 articulos
2 ejemplos

Genero:Masculino  

||| BOGOTA COLOMBIA |||

firefox

 

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