Problème avec SoundChannel et SOUND_COMPLETE
Bonjour,
Je suis nouveau dans la programmation en action script 3. J'ai un problème avec SOUND_COMPLETE et SoundChannel.
Voila ce que je veux faire :
Dans mon animation j'ai deux boutons (a et b) quand je clique sur l'un ou sur l'autre, il y a un son qui est joué.
Durant la lecture, je veux modifier l'apparence du bouton, puis à la fin du son je veux que le bouton redeviens comme au début.
Pour savoir si le son est finit de joué j'utilise l'évènement SOUND_COMPLETE, pour les deux évènements j'utilise la même fonction.
Comment je peux savoir quel est le son qui viens de se finir pour rétablir l'apparence du bouton associé ?
Dans les propriétés currentTarget et target je récupère l'objet soundChannel.
Est-il possible d'exploiter quelque chose dans les propriétés de l'objet soundChannel
Voici le code
Code:
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
//Gestion du bouton A
var bouton_a: scene_bouton_a;
var bouton_a_lecture:scene_bouton_a_lecture;
bouton_a = new scene_bouton_a();
bouton_a_lecture = new scene_bouton_a_lecture();
addChild(bouton_a);
bouton_a.x = 150;
bouton_a.y = 150;
//Gestion du son A
var chemin_son_a:URLRequest = new URLRequest("a.mp3");
var son_a = new Sound();
var piste_a:SoundChannel;
son_a.load(chemin_son_a);
//Gestion du bouton B
var bouton_b: scene_bouton_b;
var bouton_b_lecture:scene_bouton_b_lecture;
bouton_b = new scene_bouton_b();
bouton_b_lecture = new scene_bouton_b_lecture();
addChild(bouton_b);
bouton_b.x = 250;
bouton_b.y = 250;
//Gestion du son B
var chemin_son_b:URLRequest = new URLRequest("b.mp3");
var son_b = new Sound();
var piste_b:SoundChannel;
son_b.load(chemin_son_b);
//Evenement CLICK
bouton_a.addEventListener(MouseEvent.CLICK,lanceSonA);
bouton_b.addEventListener(MouseEvent.CLICK,lanceSonB);
function lanceSonA(evt:MouseEvent):void {
piste_a = a_son.play();
removeChild(bouton_a);
addChild(bouton_a_lecture);
bouton_a_lecture.x=bouton_a.x;
bouton_a_lecture.y=bouton_a.y;
piste_a.addEventListener(Event.SOUND_COMPLETE,sonTerminee);
}
function lanceSonB(evt:MouseEvent):void {
piste_b = a_son.play();
removeChild(bouton_a);
addChild(bouton_a_lecture);
bouton_a_lecture.x=bouton_b.x;
bouton_b_lecture.y=bouton_b.y;
piste_b.addEventListener(Event.SOUND_COMPLETE,sonTerminee);
}
function sonTerminee(evt:Event):void
{
trace("fin musique");
//Comment savoir si c'est piste_a ou piste_b
} |
Merci d'avance