Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-39%
Le deal à ne pas rater :
LEGO Star Wars 75379 R2-D2 (CDAV)
60.80 € 99.99 €
Voir le deal

 

 Ouvrir de la musique à partir de l'ordinateur dans un jeu

Aller en bas 
3 participants
AuteurMessage
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMer 25 Nov 2020 - 18:50

Bonjour !

Petite question à laquelle je n'ai pas trouvé de réponse dans le manuel : est-il possible de faire que le joueur puisse choisir les musiques qu'il désire entendre dans un jeu AGS ? Par exemple, créer un dossier "Musiques", en mettre quelques unes par défaut dedans, mais le joueur peut les supprimer ou en rajouter, et le jeu piochera là-dedans pour les lire.

J'ai étudié les fonctions File, mais ça ne semble marcher que pour des textes/données...
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMer 25 Nov 2020 - 20:00

Tu pourrais essayer la commande PlayVideo qui d'après l'aide fonctionne pour d'autres types de fichiers supportés par le Lecteur Media, donc il y a une possibilité pour que ça marche avec des fichiers wav ou mp3. Le problème, c'est que le jeu se mettra en pause et ce n'est certainement pas ce que tu veux.

Il y a aussi la commande CDAudio qui pourrait jouer ce rôle, mais comme son nom l'indique cela ne fonctionne qu'avec un CD. Ce n'est pas très clair de savoir si ça peut fonctionner avec un lecteur de disque virtuel, mais la note à la fin, qui précise qu'un seul lecteur est supporté semble laisser entendre que non (même si c'est pas très clair). En revanche, si l'utilisateur ne dispose pas de lecteur CD physique, alors un lecteur virtuel pourrait fonctionner.

C'est pas très idéal et un peu étrange qu'on ne puisse lire qu'un CD et pas d'autres fichiers externe. Il y a sûrement d'autres solutions mais pour l'instant je n'en ai pas trouvée.
Revenir en haut Aller en bas
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptySam 28 Nov 2020 - 19:41

Merci Valoulef !

Alors j'ai aussi demandé du côté des english (concurrence ^^), et ils m'ont parlé de la fonction PlayMP3File ! En mettant "Enforce new audio scripting" en off dans les general settings.

Cela produit le résultat voulu ! Je scanne les mp3 du dossier du jeu, je les mets dans une liste box, puis je tire au hasard là-dedans !

Maintenant j'essaye de faire une playlist : le joueur peut sélectionner ses musiques et les placer dans 3 listes différentes pour créer 3 playlists différentes : 1 pour les menus, 1 pour les phases de jeu "colonie" et 1 pour les phases de jeu "expédition".

Mon but est de faire qu'une playlist tire chaque fois au hasard lorsqu'un clip a fini de jouer, mais je ne sais pas comment scripter cela (le tirage au sort dès que la musique a fini de jouer). Une idée ?

EDIT : cela peut-il se faire via un Repeatedly execute : genre on vérifie tout le temps si le clip est en train de jouer, puis dès qu'on voit qu'il a fini on tire au sort le suivant ? J'ai peur que ce genre de scripts alourdissent le jeu et le fasse ramer... Mais je me trompe peut-être clin d'oeil
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptySam 28 Nov 2020 - 20:22

Oh parfait ! C'est une des nouvelles fonctions qui n'ont pas été mises à jour dans l'aide en ligne. Je n'y ai pas pensé (d'autant que j'ai cherché un peu sur le forum anglophone), mais c'est vrai qu'il faut penser à fouiller dans l'aide d'AGS, qui liste les fonctions de la même manière, surtout pour des problèmes concernant l'audio qui ont un peu évolué dans les dernières versions [Edit : ah bah non du coup c'est une vieille fonction qui a visiblement été supprimée. C'est bien étrange].

Pour ton problème je n'ai pas trop d'idée là comme ça sans me pencher plus en détail sur le problème, mais oui pour lancer un nouveau morceau il faut vérifier dans le repeatedly_execute si le clip est en train d'être joué (et s'il s'arrête) et non ça n'alourdira pas le jeu, une vérification comme ça c'est vraiment négligeable, au pire ça alourdira juste ton script (mais bon ça c'est autre chose).
Revenir en haut Aller en bas
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptySam 28 Nov 2020 - 20:36

Hmm... OK je vais tenter quelque chose.

Peut-être que ce serait une solution du genre :

- je stocke le nom de mes morceaux mp3 dans une liste box "Playlist"

- je pioche un morceau au hasard, du style :
Code:
PlayMP3File(Playlist.Items[Random(PlayList.Itemcount - 1])


- dans le repeatedly execute de ma pièce :

Code:
int count=0;
for (int i=0 ; i<PlayList.Itemcount ; i++)
{
AudioChannel *verif;
if (verif.IsPlaying==true) count++;
}
if (count==0) PlayMP3File(Playlist.Items[Random(PlayList.Itemcount - 1]);
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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyDim 29 Nov 2020 - 1:39

Tu devrais peut-être utiliser Game.IsAudioPlaying(eAudioTypeMusic) plutôt (code non testé, présuppose une variable booléenne playListOn indiquant si la playlist doit jouer ou non) :
Code:
function repeatedly_execute() {
  if (playListOn && !Game.IsAudioPlaying(eAudioTypeMusic)) {
    PlayMP3File(Playlist.Items[Random(PlayList.Itemcount - 1]);
  }
}
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyDim 29 Nov 2020 - 9:13

Yep, je vais tester !

Le problème que je rencontre actuellement : j'aimerai intégrer aux playlist les audios que je fournis dans le jeu (si le joueur veut aussi les utiliser), seulement, je ne sais pas comment stocker leur nom sous forme de string, sans avoir à le faire à la main. J'ai l'impression qu'il n'y a aucune commande pour cela...

Cela m'empêche de les ajouter dans la liste box par exemple. Ou alors faudra une manip plus complexe...!
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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyLun 30 Nov 2020 - 18:04

Malheureusement je pense que ta seule solution c'est effectivement de définir les noms à la main. Après c'est un truc qui peut s'automatiser à moitié en passant le fichier Game.agf dans un algorithme et en inspectant toutes les entrées sous AudioClipFolder Name="Music" pour générer du code qui va ajouter genre la valeur ScriptName à ta listbox
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyLun 30 Nov 2020 - 18:12

Hmm... AUcune idée de comment on peut faire ça avec AGS... 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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyLun 30 Nov 2020 - 18:42

Non c'est pas avec AGS, l'idée c'est d'utiliser un script externe pour générer du code AGS que tu copie-colles dans ton jeu. Je saurais écrire un petit script en Ruby par exemple, j'imagine que c'est faisable en javascript aussi, faudrait que je vérifie
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyLun 30 Nov 2020 - 19:09

Ah ben si t'arrives à faire un truc comme ça, je suis preneur ! 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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyLun 30 Nov 2020 - 21:27

Voilà un exemple : https://jsfiddle.net/kgowq8rv/38/

Tu y charges ton fichier Game.agf et ça te génère automatiquement un truc comme ça que tu peux copier-coller dans ton script :
Code:
function game_start() {
  PlayList.AddItem('Beauty_flow_by_kevin_macleod_from_filmmusic_io');
  PlayList.AddItem('En_us_pear');
}

function PlayFromPlayList(String musique) {
  switch (musique)
  {
  case 'Beauty_flow_by_kevin_macleod_from_filmmusic_io':
    aBeauty_flow_by_kevin_macleod_from_filmmusic_io.Play();
    break;
  case 'En_us_pear':
    aEn_us_pear.Play();
    break;
  default:
    PlayMP3File(musique);
  }
}

Comme ça après tu peux faire ton repeatedly_execute comme ça :
Code:
function repeatedly_execute() {
  if (playListOn && !Game.IsAudioPlaying(eAudioTypeMusic)) {
    PlayFromPlayList(Playlist.Items[Random(PlayList.ItemCount - 1)]);
  }
}


Dernière édition par Kitai le Mar 1 Déc 2020 - 19:07, édité 1 fois
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 14:08

C'est super, merci Kitai ! Je vais tester. En plus j'ai trouvé les fonctions "Length" et "Truncate" pour faire que si les noms des musiques sont trop longs dans la liste box, ça les coupe afin qu'ils rentrent dedans sourire

Je te fais un retour dès que j'ai pu tester !
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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 15:55

Baguettator a écrit:
En plus j'ai trouvé les fonctions "Length" et "Truncate" pour faire que si les noms des musiques sont trop longs dans la liste box, ça les coupe afin qu'ils rentrent dedans sourire
Ah oui mais alors là faudra que tu changes le code que j'ai donné en exemple, parce qu'il nécessite que les entrées dans la listbox soient pas tronquées afin de reconnaître les morceaux du jeu.

Cela-dit il me semblait que les ListBox tronquaient déjà visuellement les entrées trop longues pour leur largeur
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 17:37

Nan mais je vais voir car je peux aussi mettre des noms courts qui dépasseront jamais des Listes sourire
Revenir en haut Aller en bas
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 18:55

C'est INCROYABLE ! Merci Kitai ! Vraiment top, j'ai réussi à faire 3 playlists (menus, expéditions et colonie) et à scripter l'utilisation de l'une ou l'autre selon les circonstances.

Juste petite remarque, avec tout mon respect : l'algorythme écrit 'mamusique' au lieu de "mamusique". De même, dans ton code il manque la majuscule à Itemcount.

A part ça, rien à redire, sauf... ENCORE MERCI !!

EDIT : en plus, je pense que c'est possible d'utiliser cela avec ton module fichier de configuration, de stocker les playlists et de pas avoir à les refaire à chaque fois. Plein de perspectives !!! 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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 19:05

Baguettator a écrit:
l'algorythme écrit 'mamusique' au lieu de "mamusique"
Tu veux dire qu'il faut utiliser les guillemets doubles au lieu des guillemets simples ? Ça fait une différence dans AGS ?
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 19:36

Oui, pour les String, il faut des guillemets doubles !
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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 1 Déc 2020 - 20:02

Ah ok, bah il suffit de remplacer les ' par \" dans le code du jsfiddle plus haut et le tour est joué
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Baguettator
Cliqueur Amateur
Cliqueur Amateur
Baguettator


Nombre de messages : 232

Date d'inscription : 21/05/2020


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 5 Jan 2021 - 16:21

Re-bonjour !

Je reviens sur ce sujet car j'ai bien réussi à faire ce que je voulais, seulement, je repère un bug :

La fonction PlayMP3 File joue une musique en boucle, et ne s'arrête jamais. J'utilise un script qui scanne les AudioChannels qui sont en train de jouer, et s'il n'y en a pas, je pioche un nouveau morceau dans la playliste concernée.

Mais lorsqu'une musique MP3File est en train de jouer, je n'arrive pas à l'arrêter hormis manuellement. Le scanne des AudioChannels ne détecte pas la fin de la musique (comme s'il n'y en avait pas), à l'inverse des musiques intégrées au jeu. Cela se solde donc par une musique en boucle. J'ai essayé avec des musiques de 2-3 secondes pour tester, et c'est... drôle... sourire

Vous auriez une idée pour contourner le problème ?

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


Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu EmptyMar 5 Jan 2021 - 16:38

Essaie d'utiliser la fonction SetMusicRepeat avant d'utiliser PlayMP3File :
Code:
SetMusicRepeat(0);

Références : https://adventuregamestudio.1fr1.net/t32-fonctions-multimedia , https://www.adventuregamestudio.co.uk/forums/index.php?topic=15692.msg190795#msg190795
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Contenu sponsorisé





Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty
MessageSujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu   Ouvrir de la musique à partir de l'ordinateur dans un jeu Empty

Revenir en haut Aller en bas
 
Ouvrir de la musique à partir de l'ordinateur dans un jeu
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Un peu de musique dans ce monde de brutes
» [résolu]Une musique qui reprend après le lancement d'une autre musique
» Ouvrir une URL depuis un jeu AGS ?
» activation d'un interrupteur pour ouvrir une porte
» [résolu] Impossible d'ouvrir mon fichier, error : "Elément racine manquant"

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: