Bonjour Guda,
ton article est intéressant, c'est une approche plus légère que celle que j'utilisais précédemment, j'y ajouterai seulement deux précisions:
- quand on appelle un son qui n'est joué qu'une fois, il est inutile d'utiliser la variable STOP_SOUND, puisqu'il s'arrête de lui-même,
- dans tous les cas, quand on a donné une valeur x à la variable PLAY_SOUND pour appeler le son x, il faut immédiatement mettre une deuxième commande pour la remettre à zéro, sinon, elle restera à la valeur x et ne pourra servir qu'une fois. Même chose pour la variable STOP_SOUND, il faut la remettre à zéro à chaque fois.
Exemple concernant l'alarme incendie sur mon cockpit:
Var 0472, name R_FIRE_SW, Link IOCARD_SW, Input 41, Type P // Poussoir FEU droite
{
IF &R_FIRE_SW = 1// poussoir "FEU"
{
&RIGHT_FIRE_LED = 1 // sortie vers relais et alarmes
&PLAY_SOUND = 2
&PLAY_SOUND = 0 // remise à zéro
}
ELSE
{
&RIGHT_FIRE_LED = 0
&STOP_SOUND = 2
&STOP_SOUND = 0
}
Si je ne fais pas cette remise à zéro, mon avion pourra brûler une fois mais pas deux :)
Claude