Maintenant, nous allons placer l'ActionScript.
Rappel : l'ActionScript est un langage de programmation utilisé au sein des applications Flash d'Adobe. Ce langage nous permet d'ajouter de l'interactivité aux animations flash en répondant aux actions de l'utilisateur.
L'ActionScript ce place dans "le panneau de programmation ActionScript" (F9).
1 - Introduction des fonctions sur les boutons
Tout d'abord, nous allons appeler les
fonctions du méga-code-final sur nos boutons en modifiant leurs comportements ; sélectionnez un bouton et ouvrez le panneau de programmation : si tout est bon, vous verrez un onglet en bas à gauche du panneau avec le nom de l'occurrence du bouton.
Trêve de bavardages, voici le code :
Code : Autre1
2
3
4
| on (release) //Si l'utilisateur a cliqué sur le bouton, on continue
{
_root.lecture(); //Ici, on appelle la fonction
} |
Bien sûr, vous n'allez pas laisser
_root.lecture(); sur chaque bouton ; par exemple, pour
Stop, on va utiliser
_root.stop(); et pour
Pause _root.pause();.
Ensuite, nous allons créer un nouveau calque que l'on nommera
actions. Je vais fournir bout à bout le code ainsi que les explications pour que ce soit plus clair.
Je vous déconseille fortement d'utiliser plusieurs images-clefs. Tout au long de ce tuto, nous resterons sur la première image de l'animation.
Ouvrez le panneau de programmation ActionScript sur le calque
actions.
3 - Déclaration des principales variables
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
| //Tout d'abord, nous déclarons les principales variables
var decalage = 0;
var charge = false;
var temps, si;
//Les propriétés du son joué
chanson = new Sound();
chanson.onSoundComplete = function() {
_root.stop();
}; |
Ici, nous avons commencé par déclarer les principales variables.
decalage et
temps nous serviront principalement pour le bouton
Pause,
charge nous servira à boucler la musique quand elle sera terminée.
3 - Déclaration des fonctions des différents boutons du lecteur
Code : Autre1
2
3
4
5
6
7
8
| //On déclare la fonction stop
function stop()
{
clearInterval(si);
chanson.stop();
decalage = 0;
} |
Voici la fonction pour le bouton
Stop, très simple ; on stoppe la chanson puis on la reprend du début au prochain démarrage.
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
| //On déclare la fonction pause
function pause()
{
clearInterval(si);
chanson.stop();
}
//Puis la fonction memoire liée à celle du dessus
function memoire()
{
decalage = chanson.position/1000;
} |
Ça se complique ; ici, nous déclarons la fonction
pause quasiment comme au-dessus, puis, grâce à la fonction
memoire, le lecteur va se souvenir où l'utilisateur a stoppé la musique via
chanson.position, et enfin
/1000 signifie que la chanson sera reprise 1 seconde avant qu'elle soit stoppée.
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| //On déclare la fonction lecture
function lecture()
{
if (charge == false) //Si la chanson n'est pas chargée
{
chanson.onLoad = function(ok) //On la charge
{
if (ok=true) //Si elle est chargée
{
charge = true;
temps = Math.round(chanson.duration/1000);
chanson.start(); //On lit la chanson s'il y a plus d'une seconde d'écart entre le chargement et l'état de la lecture
si = setInterval(memoire, 1000);
}
};
chanson.loadSound(fichier, true); //Dans le cas contraire, on charge la chanson
}
else
{
chanson.start(decalage); //Si la chanson est stoppée par l'utilisateur via la fonction pause, la variable decalage est prise en compte
si = setInterval(memoire, 1000); //De même pour memoire
}
} |
Et enfin, le gros bloc de code pour conclure.
On déclare la fonction
lecture, la plus complexe ; si la chanson n'est pas chargée, on la charge ; si elle est chargée et qu'il y a plus d'une seconde d'écart entre le chargement et l'état de la lecture, on la lit. Dans le cas contraire, on la stoppe jusqu'à ce que ça se produise.
4 - Le code final
Code : Autre1
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
| //Tout d'abord, nous déclarons les principales variables
var decalage = 0;
var charge = false;
var temps, si;
//Les propriétés du son joué
chanson = new Sound();
chanson.onSoundComplete = function() {
_root.stop();
};
//On déclare la fonction stop
function stop()
{
clearInterval(si);
chanson.stop();
decalage = 0;
}
//On déclare la fonction pause
function pause()
{
clearInterval(si);
chanson.stop();
}
//Puis la fonction memoire liée à celle du dessus
function memoire()
{
decalage = chanson.position/1000;
}
//On déclare la fonction lecture
function lecture()
{
if (charge == false) //Si la chanson n'est pas chargée
{
chanson.onLoad = function(ok) //On la charge
{
if (ok=true) //Si elle est chargée
{
charge = true;
temps = Math.round(chanson.duration/1000);
chanson.start(); //On lit la chanson s'il y a plus d'une seconde d'écart entre le chargement et l'état de la lecture
si = setInterval(memoire, 1000);
}
};
chanson.loadSound(fichier, true); //Dans le cas contraire, on charge la chanson
}
else
{
chanson.start(decalage); //Si la chanson est stoppée par l'utilisateur via la fonction pause, la variable decalage est prise en compte
si = setInterval(memoire, 1000); //De même pour memoire
}
} |