Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

 

 Les sons se lancent en simultané ! Comment mettre une pause

Aller en bas 
2 participants
AuteurMessage
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
kouzine


Nombre de messages : 60

Date d'inscription : 12/05/2011


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyLun 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 !

confus

_________________
grand sourire
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
kouzine


Nombre de messages : 60

Date d'inscription : 12/05/2011


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 17 Mai 2011 - 10:25

Salut Kitai merci je t'attendais hihi ya d'autres questions pour toi grand sourire
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 ??

_________________
grand sourire
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 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 sourire

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
kouzine


Nombre de messages : 60

Date d'inscription : 12/05/2011


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 17 Mai 2011 - 10:47

trop bien !!!
thanks again cool

_________________
grand sourire
Revenir en haut Aller en bas
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
kouzine


Nombre de messages : 60

Date d'inscription : 12/05/2011


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 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);

_________________
grand sourire
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
kouzine


Nombre de messages : 60

Date d'inscription : 12/05/2011


Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  EmptyMar 17 Mai 2011 - 19:26

Ok j'abandonne playqueued
merci pour le script et l'explication sourire

_________________
grand sourire
Revenir en haut Aller en bas
Contenu sponsorisé





Les sons se lancent en simultané ! Comment mettre une pause  Empty
MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Les sons se lancent en simultané ! Comment mettre une pause  Empty

Revenir en haut Aller en bas
 
Les sons se lancent en simultané ! Comment mettre une pause
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» animé des personnages sans mettre le jeux en pause
» Comment mettre ce genre d'inventaire sous AGS ?
» Sons
» GUI -> when mouse to the top... -> enlever jeu en pause ?
» plusieurs sons de pas

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: