| Les sons se lancent en simultané ! Comment mettre une pause | |
|
|
Auteur | Message |
---|
kouzine Adepte de la Grande Tasse Bleue
Nombre de messages : 60
Date d'inscription : 12/05/2011
| Sujet: Les sons se lancent en simultané ! Comment mettre une pause Lun 16 Mai 2011 - 21:43 | |
| PROBLEME / Je veux enchainer 2 sons : PlaySound(9); PlaySound(10); mais ça me les lance en simultané... J'ai essayé un wait(); entre les deux mais ça ne fait rien J'ai essayé des {} pour bien les séparer mais rien à faire ! _________________ |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 10:18 | |
| Si tu utilises AGS 3.2 (ou supérieur), je crois que tu peux utiliser la commande PlayQueued sur ton élément audio, genre : - Code:
-
aPremierSon.PlayQueued(); aDeuxiemeSon.PlayQueued(); Mais vu que j'ai jamais utilisé ce nouveau type de commandes, je suis pas sûr. Après en revanche, et notamment si tu es sous une version inférieure à 3.2 d'AGS, tu peux utiliser un petit système en utilisant IsChannelPlaying (devenue IsPlaying dans AGS 3.2) dans cette idée là : - 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); Voilà, si ça peut t'éclairer. _________________ 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 ! |
|
| |
kouzine Adepte de la Grande Tasse Bleue
Nombre de messages : 60
Date d'inscription : 12/05/2011
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 10:25 | |
| Salut Kitai merci je t'attendais hihi ya d'autres questions pour toi J'ai la dernière version la 3.2 je crois, mais j'ai capté le truc des variables je vais tester. par contre le palyqueud je comprends pas bien ou est-ce que je mets le nom de mes sounds dans le script ? aSound(9).PlayQueued(); aSound(10).PlayQueued();heu..comme ça ?? _________________ |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 10:40 | |
| - kouzine a écrit:
aSound(9).PlayQueued(); aSound(10).PlayQueued();
heu..comme ça ?? Non, en fait dans AGS 3.2 (et supérieurs) tu as un onglet Audio (au dessus de Global Variables) dans l'arborescence à droite. Ça te permet d'importer des fichiers audios justement. Et là, quand tu importes un son, dans sa fenêtre de propriétés, tu lui donnes un nom de script dans le champ ScriptName. C'est ce nom que tu utilises dans le script, devant la commande PlayQueued _________________ 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 ! |
|
| |
kouzine Adepte de la Grande Tasse Bleue
Nombre de messages : 60
Date d'inscription : 12/05/2011
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 10:47 | |
| trop bien !!! thanks again _________________ |
|
| |
kouzine Adepte de la Grande Tasse Bleue
Nombre de messages : 60
Date d'inscription : 12/05/2011
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 15:34 | |
| - Code:
-
function hEYE_Interact() {
cEgo.Say( "Je vais approcher mon oeil pour voir"); aBipLong.PlayQueued (); aBipNo.PlayQueued (); DisplayAt(394, 81, 200, "ECHEC DU CONTROLE VISIOCULAIRE!"); DisplayAt(394, 81, 200, "ACCES REFUSE");
}
verdict : les sons se lancent en simultané!!! J'ai testé avec des paramètres de priorité mais il doit me manquer un paramètre encore une fois car ça se lance encore en simultané - Code:
-
aBipLong.PlayQueued (1, eOnce); aBipNo.PlayQueued (2, eOnce); _________________ |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 19:03 | |
| 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 ! |
|
| |
kouzine Adepte de la Grande Tasse Bleue
Nombre de messages : 60
Date d'inscription : 12/05/2011
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause Mar 17 Mai 2011 - 19:26 | |
| Ok j'abandonne playqueued merci pour le script et l'explication _________________ |
|
| |
Contenu sponsorisé
| Sujet: Re: Les sons se lancent en simultané ! Comment mettre une pause | |
| |
|
| |
| Les sons se lancent en simultané ! Comment mettre une pause | |
|