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

Partagez | 
 

 Détecter si une musique n'est pas jouée...

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: Détecter si une musique n'est pas jouée...   Ven 5 Fév 2016 - 17:36

Voilou un autre problème sourire

Je voudrai créer une ligne de code qui dit en gros : si "Telle musique" n'est pas joué, alors lancer justement "Telle musique"... vous m'suivez, lol.
En fait j'ai une pièce qui fait office d'étage d'hotel. Quand on sort d'une chambre ou de l'ascenseur, je voudrai que quelque soit la musique jouée, elle se coupe et qu'AGS joue la musique dédiée à cette room-étage (pour simplifier les lignes de codes).

J'ai pensée à ça :
Code:
function room_AfterFadeIn()
{
if (aEtageMusique.IsAvailable == false){
  aEtageMusique.Play();}
}

Mais ça marche pô triste
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: Détecter si une musique n'est pas jouée...   Ven 5 Fév 2016 - 17:53

Bin, pourquoi tu lance pas la musique d'office, sans rien vérifier du tout?

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
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: Détecter si une musique n'est pas jouée...   Ven 5 Fév 2016 - 18:50

Je seconde la question de Billbis.

À part ça, IsAvailable vérifie si le fichier son correspondant est présent sur l'ordinateur du joueur (AGS permet de proposer la partie audio séparément du reste du jeu).

Enfin, voici une petite fonction qui retourne le canal audio sur lequel une musique est jouée si elle l'est, et null sinon :
Code:
AudioChannel* IsPlaying(this AudioClip*) {
  AudioChannel* channel;
  int i = 0;
  while (i < System.AudioChannelCount) {
    channel = System.AudioChannels[i];
    if (channel.PlayingClip != null && channel.PlayingClip == this) return channel;
    i++;
  }
  return null;
}

Un exemple d'utilisation où on remplace toutes les instances qui jouent aCriDePlainte par aCriDeSatisfaction (dans un public par exemple) :
Code:
AudioChannel* channel = aCriDePlainte.IsPlaying();
while (channel != null) {
  channel.Stop();
  aCriDeSafisfaction.Play();
  channel = aCriDePlainte.IsPlaying();
}

_________________
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
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: Détecter si une musique n'est pas jouée...   Sam 6 Fév 2016 - 0:01

Billbis a écrit:
Bin, pourquoi tu lance pas la musique d'office, sans rien vérifier du tout?
Parce que si le personnage entre dans une chambre, puis revient dans le couloir de l'étage, la musique recommence du début et ça m'embête sourire

D'autant que certaines chambres n'auront pas de zik spécifiques, mais d'autres oui.
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: Détecter si une musique n'est pas jouée...   Sam 6 Fév 2016 - 0:10

chefgeorges a écrit:
Parce que si le personnage entre dans une chambre, puis revient dans le couloir de l'étage, la musique recommence du début et ça m'embête sourire

D'autant que certaines chambres n'auront pas de zik spécifiques, mais d'autres oui.
Tu veux dire que certaines chambres auront la même musique que la musique du couloir, c'est ça ? Dans ce cas tu peux utiliser ma fonction qui va bien, ça devrait faire l'affaire je pense.

_________________
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
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: Détecter si une musique n'est pas jouée...   Sam 6 Fév 2016 - 11:49

Citation :
Tu veux dire que certaines chambres auront la même musique que la musique du couloir, c'est ça ?
Oui c'est ça ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: Détecter si une musique n'est pas jouée...   Lun 8 Fév 2016 - 13:04

Je reviens vers vous et plus particulièrement Kitai sourire

J'ai un peu de mal avec ton 2ème code. Je comprends l'idée mais mes limites en code m’empêche de l'adapter perplexe

Je veux mettre ce code dans la room étage, sachant que la room précédente (ascenseur) a elle aussi une musique propre, et que certaines room chambre de l'étage ont des musiques spécifiques, mais pas toutes.

Du coup... bin j'ai un peu de mal à comprendre la comment adapter le code :'(

(Soyez indulgent, je suis un peu souffrant... j'ai déjà un gros fail à mon actif. N'est-ce pas Billbis, lol)
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: Détecter si une musique n'est pas jouée...   Lun 8 Fév 2016 - 14:11

Mon code est un exemple d'utilisation un peu complexe de la fonction, mais en temps normal tu l'utilises très simplement :
Code:
function room_AfterFadeIn()
{
  if (aEtageMusique.IsPlaying() == null) {
    aEtageMusique.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 En ligne
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: Détecter si une musique n'est pas jouée...   Lun 8 Fév 2016 - 18:04

Par contre, j'ai l'erreur suivante du coup perplexe
Code:
Failed to save room room6.crm; details below
room6.asc(74): Error (line 74): '.IsPlaying' is not a public member of 'AudioClip'. Are you sure you spelt it correctly (remember, capital letters are important)?
Je cherche à comprendre le problème...
(je reviens si je trouve...)
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: Détecter si une musique n'est pas jouée...   Lun 8 Fév 2016 - 18:33

Tu as bien copié-collé le code que j'ai donné pour définir la fonction IsPlaying ?
Si tu l'as placée dans le global script et que tu veux l'utiliser ailleurs (genre dans les scripts de pièce) tu dois l'importer dans le header du global script avec
Code:
import AudioChannel* IsPlaying(this AudioClip*);

_________________
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
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: Détecter si une musique n'est pas jouée...   Lun 8 Fév 2016 - 18:46

C'était ça sourire

Ahlala... fail n°2, lol ^^

Faut dire aussi que je commence à peine à utiliser le header du global script, et oui ! Avant je ne l'utilisais pas (comme les propriétés d'ailleurs).

Merci pour toutes ces explications, ça me fait progresser clin d\\\\'oeil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Contenu sponsorisé




MessageSujet: Re: Détecter si une musique n'est pas jouée...   Aujourd'hui à 17:22

Revenir en haut Aller en bas
 
Détecter si une musique n'est pas jouée...
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Composer musique
» Musique du temple de classe Pandawa
» Musique 8 bits avec GXSCC
» Les instruments de musique de notre époque
» [Résolu ] afficher un personnage et insérer de la musique

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: