En fait je n'ai jamais testé la commande PlayQueued, et d'après l'aide anglaise (la version française concerne AGS 3.1) elle permettrait de ne jouer après que si tous les canaux sont utilisés.
Je te conseille donc de plutôt recourir à la méthode que j'avais donnée plus haut :
- Code:
-
// haut du script
int jouer = -1;
function repeatedly_execute() {
if (jouer > -1) {
if (!IsChannelPlaying(jouer)) {
PlaySound(10);
jouer = -1;
}
}
}
// Plus loin dans ton script, là où tu veux lancer les sons :
jouer = PlaySound(9);
L'idée est la suivante : puisque
PlaySound retourne le numéro de canal où le son est joué, on va utiliser la variable
jouer pour le garder en mémoire.
La fonction repeatedly_execute, lorsqu'elle remarque que
jouer a une valeur supérieure à -1 (c'est-à-dire lorsqu'on a changé sa valeur en lançant la commande
PlaySound) va constamment vérifier si le canal en question est libre ou non. Dès que ce sera le cas (que le canal sera libre), on va lancer le prochain son et redéfinir la valeur de
jouer à -1 (histoire que repeatedly_execute joue pas le son en boucle).
_________________
Ga is Ga
Vous pouvez consulter l'aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit !