Ouvrir une musique aléatoire

Bonjour,

Super ce programme! Par contre, je n’ai pas encore tout assimilé, si vous pouvez m’aider ca serait sympa…

J’ai 5 fichiers musicaux .ogg (“01.ogg”, “02.ogg”, etc) et je voudrais que le jeu lance une musique aléatoirement parmis les 5 fichiers, comment faire?

Voici ma tentative qui ne fonctionne pas:

:question:

Oulala tu ne vas pas loin du tout avec ça :exclamation:
1-Les musiques n’acceptent PAS les expressions
2-Je ne crois pas que c’est comme ça que dois afficher une variable:essaie plutot ça: TXT"VAL(mavariabledetexte[])" ou TXT"GBL(mavariableglobaledetexte[])" ou VAL(mavariable[]) ou GBL(mavariableglobale[])
3-Si tu veut faire musique aléatoire fait comme moi:(tu ne dois pas être en mode simple pour faire ceci):
Insère un évènement:
Au lancement de la scène: Mettre ma variable valeur du nom de MUSIQUE a une valeur aléatoire(regarde dans les expression):
en sous évènements tu met:
-Si la variable musique est a 0 jouer telle musique
-Si la variable musique est a 1 jouer telle musique
-Si la variable musique est a 2 jouer telle musique
-Si la variable musique est a 3 jouer telle musique


N oublie pas que valeur aléatoire entre 0 (compris) et le nombre entré (compris aussi)
N’oublie pas de les faire jouer sur un canal pour pouvoir ensuite les arrêter ou augmenter ou baisser leurs volume et surtout de les boucler pour éviter de venir pleurer comme quoi la musique s’arrête :smiley:
Voila :slight_smile:

Je crois bien que le raisonnement de crone123 soit vrai à 75%.
Tout est bon, sauf à partir de “-Si la variable musique…”
Tu fais :
-Si la variable musique est a 0 jouer telle musique, et mettre cette même variable à 1.
-Si la variable musique est a 2 jouer telle musique, et mettre cette même variable à 3.
-Si la variable musique est a 4 jouer telle musique, et mettre cette même variable à 5.
etc…
En effet, si tu ne changes pas la variable directement après avoir joué la musique, comme la condition sera toujours vrai ("-Si la variable musique est a 0 jouer telle musique"), la musique va d’un coup devenir très très TRÈS TRÈS laide… ( essayes et tu verras…le résultant est pour le moins…désagréable.)

Non rappel j’ai mis au “lancement de la scène” ce qui fait que l’action ne se répète qu’une seule fois :smiling_imp:
Attends quand même vu que je l’utilise vraiment souvent et je crois que je l’utilise le plus sur ce forum je suis quand même bien placé pour expliquer le système :slight_smile:

t’en sais rien si c’est bien toi qui l’utilise le plus…
En tout cas, tu t’es mal exprimé :smiley:

Je crois que c’est assez clair ! :stuck_out_tongue: Il faut lire avant de passer une remarque du genre “Tu t’es mal exprimé” :wink:

Donc, sbt, tu peux faire ce que Crone123 vient d’expliquer. À chaque fois que la scène sera relancé, il devrait avoir une nouvelle musique. Le plus long reste à faire les Actions. :laughing:

Ok merci, donc pas possible de mettre une expression pour la lecture d’une musique, je dois faire une étape supplémentaire en testant à chaque fois ma variable. Ok du moment que c’est faisable, je sais continuer…

Tant que j’y suis, vous avez une idée pour ne pas tirer 2x de suite le même nombre aléatoire?

Imaginons que je veux tirer les chiffres du lotto, comment vous faites pour ne pas tirer 2X le même numéro?

En tt cas merci pour la 1ere réponse très rapide! :mrgreen:

Simplement les copié/collé puis changer la cible de la musique et la variable mise en condition non ? :wink:

Les explications déjà données sont correctes, voilà précisément comment j’aurai procédé :

Conditions : Quand la musique doit être jouée ( ça peut être au lancement de la scène )
------------- La variable “MusiqueJouée” est = à 0
Actions : Faire =VAL(random[4])+1 à la variable “MusiqueJouée”

Conditions : La variable “MusiqueJouée” est = à 1
Actions : Jouer la musique 1
---------- Faire =-1 à la variable “MusiqueJouée”

Conditions : La variable “MusiqueJouée” est = à 2
Actions : Jouer la musique 2
---------- Faire =-1 à la variable “MusiqueJouée”

Et ainsi de suite. Notons que :
Le VAL(random[4])+1 permet d’obtenir un numéro entre 1 et 5.
Faire =-1 à la variable “MusiqueJouée” permet d’éviter de relancer tout le temps la musique.

Crone123, tu n’est pas seul au monde, il ne faut pas croire que c’est parce que tu utilise souvent une fonction de Game Develop que c’est toi qui l’utilise le plus.

Il y a quand même quelques approximations un peu génantes :

Par exemple, pour votre histoire de “Au lancement de la scène”, je rappelle que l’auteur de la question n’a pas forcément spécifié que sa musique était jouée au lancement de la scène…

L’auteur n’a jamais voulu afficher de variable. :wink:
A moins que tu ne voulais dire insérer la valeur d’une variable dans un texte/expression.

Attention, la phrase n’a pas de verbe, relis toi :wink:

On peut boucler une musique sans utiliser de canal.

Utiliser deux variables, et un évènement tel que celui ci :

Conditions : Quand il faut tirer les numéros
Actions : Faire =VAL(random[50]) ) à la variable Num1
---------- Faire =VAL(random[50]) ) à la variable Num2

Conditions : Quand il faut tirer les numéros
-------------- Répéter les actions et conditions suivantes tant que la condition suivante est vraie
--------------------- La variable Num2 est = à VAL(variable[Num1])
Actions : Faire =VAL(random[50]) ) à la variable Num2

Le principe étant de retirer un numéro tant qu’on en obtient pas un correct. Cherche dans les conditions avancées pour la condition “Répéter”.

Ben je ne sais pas si t’as déjà compilé mais si l’on ne peut pas mettre de musique enfin d’action c’est parce que tout est compressé dans un gam.edg donc il vas chercher les musiques la et lui il va cherche un musique du nom de TXT"VAL(MUSIQUE)" mais sans prendre en compte les expressions un nom ou je ne sais meme pas si Windows l’accepterais :astonished:
Sinon ce truc c’est un bon détail cça permet de varier mais le vrai truc fait gaffe a ne pas le faire trop souvent avec des musiques différentes ou ton jeu fera vite 1go :wink:
Bonne création :slight_smile:

Un grand merci!

Le hic c’est que j’ai besoin de 10 tirages aléatoires, donc je vais avoir besoin de 10 variables et de répéter l’action jusqu’au moment où le random se fait bien sur 10 chiffres différents. J’espère que ce ne sera pas trop long en temps de calcul et que cela ne fera pas de bug.

Je testerai demain :slight_smile:

Je sais pas si c’est une meilleur solution, mais tu peux toujours mettre le tirage de la loto dans une variable global et faire une condition pour vérifier si ce n’est pas la même qui est choisi. Dès que la musique est bonne, tu enregistres le résultat de nouveau dans la variable global et c’est reparti. :mrgreen:

Ben moi je fait un peu près pareil pour PKMNCC mais c’est pas au hazard:
Y a des déclencheurs sur la carte et quand tu passe dedans (je zappe les détail pour éviter la boucle) a partir du même types d’évènements ça lance la bonne musique, j’ai juste a changer ma variable :slight_smile: