Etat d'un Movie Clip en fonction du volume sonor

trame60 Messages postés 28 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 4 juillet 2007 - 4 juil. 2007 à 10:26
trame60 Messages postés 28 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 4 juillet 2007 - 4 juil. 2007 à 16:04
Bonjour à toutes et tous, je viens solliciter votre expérience pour résoudre un petit problème.

J'aimerais changer changer l'état d'un movieClip (mc_music) en fonction du volume de l'object son de mon animation.
Le movieClip (mc_music) est un clip enfant du clip qui contient l'object son.

En clair j'aimerais que quand le volume soit à 0, mon clip (mc_music) stoppe à l'image 2 et quand le volume soit à 100, mon clip (mc_music) stoppe à l'image 1.

J'ai tenté avec la méthode getVolume et une variable avec le code suivant (myMusic est l'object son) :

volumeActuel = _parent.myMusic.getVolume();
if (volumeActuel <= 0)
{
this.mc_music.gotoAndStop(2);
}
else
{
this.mc_music.gotoAndStop(1);
}

Quelqu'un pourrait-il éclairer ma lanterne ?
Avec un grand merci par avance.

respectueusement

Olivier

2 réponses

Darkrats Messages postés 212 Date d'inscription mardi 2 novembre 2004 Statut Membre Dernière intervention 12 mai 2008 1
4 juil. 2007 à 15:53
Salut,

Ton code a l'air d'être tout à fait correct. Je soupsonne donc un simple problème de ciblage ...
Essaie d'ajouter à ton code un trace qui te donnerait l'état de ta variable par exemple
    trace("valeur de la variable " + volumeActuel + " :: objet musique " + _parent.myMusic + " :: clip cible = " + this.mc_music + " :: this actuel = " + this);

Tu sauras ainsi d'où vient ton problème. Si une des valeurs vaut "undefined" alors ne cherche plus

Mais tu dis vouloir ton clip à l'image 1 en cas de volume égal à 100, si le volume vaut 50, que doit il faire ?
Si dés que le volume est plus grand que zéro, ton clip réagit comme s'il était à 100, alors ne touche à rien. Par contre, si ce n'est pas le cas, ajoute la vérification :

    volumeActuel = _parent.myMusic.getVolume();    trace("valeur de la variable " + volumeActuel + " :: objet musique
" + _parent.myMusic + " :: clip cible = " + this.mc_music + " :: this
actuel = " + this);
    if (volumeActuel <= 0){
        this.mc_music.gotoAndStop(2);
    }else if(volumeActuel >= 100){
        this.mc_music.gotoAndStop(1);
    }else{
       trace("volume > 0 et volume < 100");
    }
A+

--------- Darkrats ---------
la loi est dure mais c'est la loi
Si je ne réponds pas assez vite, rappelez-moi par MP (assez vite, j'ai dit)
0
trame60 Messages postés 28 Date d'inscription mardi 31 août 2004 Statut Membre Dernière intervention 4 juillet 2007
4 juil. 2007 à 16:04
hello,
merci bcp pour ta réponse, je vais essayer ceci.
Par rapport au volume, je n'ai pas fait de réglages de volume via un bouton ou un slider, quand le son joue il est à 100 et quand je veux le rendre muet je le mets à 0.

merci bcp et bonne journée a toi.

Olivier
0
Rejoignez-nous