Arrêter un son au lancement d'un autre

nina75014 Messages postés 6 Date d'inscription vendredi 11 juin 2010 Statut Membre Dernière intervention 2 septembre 2010 - 2 sept. 2010 à 21:11
jetmix Messages postés 19 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 15 septembre 2010 - 7 sept. 2010 à 15:11
Bonjour,

Je suis plutôt débutante en programmation ActionScript et ma question vous semblera peut-être idiote...
Je réalise actuellement un accordeur de guitare avec Flash : lorsque l'on clique sur une corde un son d'une quinzaine de secondes se lance pour que l'on puisse accorder sa guitare. Cependant lorsque l'on clique immédiatement sur une autre corde les sons se superposent. Que dois-je faire pour qu'un son s'arrête lorsqu'un autre est lancé et qu'il s'arrête également quand il est fini sans se répéter ? (Pour la deuxième chose je crois que c'est quelque chose comme SOUND_COMPLETE mais je ne suis pas sûre)

Voici à quoi ressemble mon code :
var cord1:Corde1 = new Corde1();
cord1.buttonMode=true;
cord1.scaleX=cord1.scaleY=0.7;
cord1.x = 150;
cord1.y = 230;
addChild(cord1);

var cord2:Corde2 = new Corde2();
cord2.buttonMode=true;
cord2.scaleX=cord2.scaleY=0.7;
cord2.x = 135;
cord2.y = 247;
addChild(cord2);

// ...et ainsi de suite pour les 6 cordes 
cord1.addEventListener(MouseEvent.MOUSE_UP, auClic1);
function auClic1(event:MouseEvent):void {
                        // Charger les sons de la bibliothèque
                        var son1:MiCorde1 = new MiCorde1();
                        son1.play();
                }
                
cord2.addEventListener(MouseEvent.MOUSE_UP, auClic2);
function auClic2(event:MouseEvent):void {
                        // Charger les sons de la bibliothèque
                        var son2:SiCorde2 = new SiCorde2();
                        son2.play();
                }
                
// ...et ainsi de suite pour les 6 cordes  


Merci d'avance pour votre aide

1 réponse

jetmix Messages postés 19 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 15 septembre 2010
7 sept. 2010 à 15:11
Bonjour, je pense que le plus simple serait d'utiliser une seule variable de son (sans la typer) :

var son;
cord1.addEventListener(MouseEvent.MOUSE_UP, auClic1);
function auClic1(event:MouseEvent):void {
                        // Charger les sons de la bibliothèque
                        son = new MiCorde1();
                        son.play();
                }
                
cord2.addEventListener(MouseEvent.MOUSE_UP, auClic2);
function auClic2(event:MouseEvent):void {
                        // Charger les sons de la bibliothèque
                        son = new SiCorde2();
                        son.play();
                }

Dis moi si ça fonctionne.
0
Rejoignez-nous