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

Partagez | 
 

 Problème de continuité des musiques

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Problème de continuité des musiques   Ven 6 Mar 2015 - 19:20

Bonzour ^^

Un petit problème auditif :

J'ai un personnage player.1 dans la room.A. Celui-ci peut aller dans une room.B adjacente.
J'ai aussi un player.2 dans une room.D.

Quand je joue avec player.1 à partir de la room.A je fait un aMusic1.Play(); et quand je vais dans la room.B la musique continue. Mais je reviens dans la room.A ou si je switch avec le player.2, j'ai le sproblèmes que vous imaginez (soit la music qui reboucle dans la room.A ou la music de la room.D qui se joue dans la room.B si je switch de celle-ci).

Je résous ce problème par un :
(dans room.B)
Code:
if (player.PreviousRoom != room.A)
{
aMusic1.Play();
}
(et un code semblable dans la room.A)

Par contre, ça se complique si à partir de la room.A je peux aller avec mon player.1 dans les room.B et dans une 3ème room.C

J'ai essayé le code suivant dans la room.A :
Code:
if ((player.PreviousRoom != room.A)||(player.PreviousRoom != room.C))
{
aMusic1.Play();
}
Mais ça ne marche pas :'( la musique reboucle systématiquement dès qu'on entre dans la room.A (j'ai essayé aussi afec des else if, même résultat).
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
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: Problème de continuité des musiques   Ven 6 Mar 2015 - 19:56

C'est un simple problème de portée de tes opérateurs logiques.
Le code que tu as donné conditionne le lancement de aMusic1 aux situations où soit le joueur ne vient pas de la pièce A, soit il ne vient pas de la pièce B.
Ce que tu veux faire plutôt c'est conditionner le lancement de aMusic1 aux situations où ce n'est pas le cas que soit le joueur vient de la pièce A, soit il vient de la pièce B. Autrement dit, les situations où ce n'est ni le cas que le joueur vient de la pièce A, ni qu'il vient de la pièce B :
Code:
if ((player.PreviousRoom != room.A)&&(player.PreviousRoom != room.C))
{
  aMusic1.Play();
}
Sinon de façon plus générale, tu peux faire ça (source) :
Code:
// Cette fonction retourne TRUE si le clip en question est déjà en cours de lecture, FALSE sinon
bool IsPlaying (this AudioClip*) {
  int channel = 0:
  while (channel < System.AudioChannelCount) {
    AudioChannel * ch = System.AudioChannels[channel];
    if (ch.PlayingClip == this) return true;
    channel++:
  }
  return false;
}

// Dans room_load
if (!aMusic1.IsPlaying()) aMusic1.Play();

_________________
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
 
Problème de continuité des musiques
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème de son avec les musiques personnalisées.
» Hit-Parade des meilleures musiques de jeux
» [Problème] Les musiques de Monkey Island
» Problème de son iPod ou autre MP3
» Postez vos musiques de films/séries/jeux videos préférées

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: