salut
oui, le son s'arrête pas car dans lors du clic, le curseur de la souris est toujours au-dessus du bouton (il y a conflit entre les 2 instructions onrollOver et onPress, quoi).
Vaudrait mieux gérer le son par code, ce serait + simple en fait.
Exemple avec juste un clip principal contenant toutes tes animations (sans bouton transparent) :
1. tu créés un clip ayant comme nom d'occurence dans le panneau Propriétés : ours
dans ce clip, tu créés 3 images clés qui se suivent. Sur chaque image tu mets un de tes clips :
à l'image 1 : ton ours calme (tranquille_mc)
à l'image 2 l'ours grognon (grognon_mc)
à l'image 3 : l'ours qui gueule (cri_mc)
NB : inutile de leur donner des noms d'occurence sauf si tu veux les contrôler autrement ensuite.
2. Tu supprimes dans chaque clip les calques qui contiennent des sons.
3. Dans le panneau Bibliothèque (Ctrl + L) :
- tu fais un clic droit sur l'élément grr.mp3 et tu choisis Liaison (ou Linkage) dans le menu.
Dans la boite de dialogue Propriétés de liaison, tu coche la case Exporter pour ActionScript et tu supprimes .mp3 dans le champ Nom de l'identifiant.
- Tu fais la même chose pour le son waf.wav
Tu as donc maintenant 2 sons en liaison (grr et waf) que tu peux contrôler avec du code
4. Dans la séquence principale, tu créés un 2e calque, tu ouvres le panneau Actions et tu copies-colles ce code :
- Code: Tout sélectionner
ours.stop();//on arrête la lecture du clip ours sur sa 1ère image
var monSon = new Sound (this);//on créé un objet monSon pour contrôler tout ça
function leSon (truc) {//avec une jolie fonction (le paramètre truc permet de récupérer le nom du son en liaison)
monSon.stop();//on arrête le son en train de jouer
monSon.attachSound (truc)//on le remplace par l'autre
monSon.start (0,999);//et on le lance (dès l'action sur le bouton et joué 999 fois)
}
ours.onRollOver = function () {//au survol du clip ours
this.gotoAndStop(2)//on va à l'image 2 de ce clip (grognement)
leSon ("grrr");//on lance la fonction leSon en lui indiquant le son à jouer (truc)
}
ours.onRollOut = function () {
this.gotoAndStop(1);//on va à l'image 1 du clip ours (tranquille)
monSon.stop();//on arrête le son en train de jouer
}
ours.onPress = function () {
this.gotoAndStop(3);//on va à l'image 3 du clip ours (cri)
leSon ("waf");//on lance la fonction leSon en lui indiquant le son à jouer (truc)
}
Après, tu peux gérer au relâchement de la souris si tu reviens au départ ou à l'image 2 etc, etc...
voili voilo