IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Arrêter un son au lancement d'un autre


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Par défaut Arrêter un son au lancement d'un autre
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    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

  2. #2
    Rédacteur/Modérateur
    Avatar de beekeep
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    2 005
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 2 005
    Par défaut
    Bonjour et bienvenue sur developpez.com,

    la solution la plus simple est d'utiliser une seule variable son.
    Ensuite il faut tester si la variable est initialisée et si la lecture est en cours avant de commencer la lecture d'un son.

    Code as : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    var son:Corde = null;
     
    cord1.addEventListener(MouseEvent.MOUSE_UP, auClic1);
    cord2.addEventListener(MouseEvent.MOUSE_UP, auClic2);
    // ...
     
    function auClic1(event:MouseEvent):void
    {
        jouerCorde(MiCorde1);
    }
     
    function auClic2(event:MouseEvent):void
    {
        jouerCorde(SiCorde2);
    }
    // ...
     
    function jouerCorde(pCorde:Class):void
    {
        if(son != null)
        {
            son.close();
            son = null;
        }
        // Charger le son de la bibliothèque
        son = new pCorde();
        son.play();
    }

Discussions similaires

  1. Problème lors du lancement sur une autre machine
    Par poussinphp dans le forum Visual C++
    Réponses: 4
    Dernier message: 01/05/2007, 13h25
  2. Lancement d'un autre programme
    Par Osmani dans le forum Général Python
    Réponses: 5
    Dernier message: 22/11/2006, 15h19
  3. MFC, son équivalent sur des plateformes autre que Windows
    Par uranium-design dans le forum Visual C++
    Réponses: 7
    Dernier message: 03/11/2006, 16h32
  4. [VB.Net] photo et son au lancement d'un application
    Par badnane2 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/07/2006, 08h30
  5. [débutant] Comment arréter "proprement" son programme
    Par Anthony17 dans le forum Delphi
    Réponses: 3
    Dernier message: 18/05/2006, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo