| Ouvrir de la musique à partir de l'ordinateur dans un jeu | |
|
|
Auteur | Message |
---|
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mer 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... |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mer 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. _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Sam 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 |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Sam 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). _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Sam 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]); |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Dim 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]); } } _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Dim 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...! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Lun 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 _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Lun 30 Nov 2020 - 18:12 | |
| Hmm... AUcune idée de comment on peut faire ça avec AGS... |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Lun 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 _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Lun 30 Nov 2020 - 19:09 | |
| Ah ben si t'arrives à faire un truc comme ça, je suis preneur ! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Lun 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)]); } } _________________ 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 !
Dernière édition par Kitai le Mar 1 Déc 2020 - 19:07, édité 1 fois |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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 Je te fais un retour dès que j'ai pu tester ! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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
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 _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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 |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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 !!! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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 ? _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 1 Déc 2020 - 19:36 | |
| Oui, pour les String, il faut des guillemets doubles ! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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é _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 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... Vous auriez une idée pour contourner le problème ? |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu Mar 5 Jan 2021 - 16:38 | |
| _________________ 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 ! |
|
| |
Contenu sponsorisé
| Sujet: Re: Ouvrir de la musique à partir de l'ordinateur dans un jeu | |
| |
|
| |
| Ouvrir de la musique à partir de l'ordinateur dans un jeu | |
|