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
Merci d'avance
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
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 }
Partager