Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

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

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 60

Date d'inscription : 12/05/2011


MessageSujet: 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 !

perplexe

_________________
grand sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 60

Date d'inscription : 12/05/2011


MessageSujet: 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 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
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: 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 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
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 60

Date d'inscription : 12/05/2011


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

trop bien !!!
thanks again cool

_________________
grand sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 60

Date d'inscription : 12/05/2011


MessageSujet: 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);

_________________
grand sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php En ligne
kouzine
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 60

Date d'inscription : 12/05/2011


MessageSujet: 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 sourire

_________________
grand sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Les sons se lancent en simultané ! Comment mettre une pause    Aujourd'hui à 17:17

Revenir en haut Aller en bas
 
Les sons se lancent en simultané ! Comment mettre une pause
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» comment mettre en lien mon nabaztag et itunes
» [Info] Comment mettre une image de sa ville sur le forum ?
» Comment mettre en place l'écoute de la radio et du réveil ?
» Comment mettre un DVD sur son disque dur ?
» [Résolu] Comment mettre un Logo à gauche du nom du poste ?

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: