Page 2 sur 2

Re: Comment faire pour avoir joué la musique dans une boucl

Publié : mar. 07/juin/2016 13:56
par Bernie
personne pour m'aider svp?

Re: Comment faire pour avoir joué la musique dans une boucl

Publié : mar. 07/juin/2016 14:06
par falsam
Tu as placé un PlaySound(#Music) dans la boucle d'évenement.

Ce qui veut dire que plusieurs fois par seconde ton mp3 redémarre. Tu es donc sans cesse au début de ton mp3. Donc tu ne l'entends pas.

je pense que tu voulais ta musique en fond.

Modifie les lignes 85 à 90 de cette maniére

Code : Tout sélectionner

;---Affichage des procedures :
CreationEtoiles()
Initialisation()
JoueMusique=#True
PlaySound(#Music, #PB_Sound_Loop) ;Joue en boucle
;--- On joue la musique 
et supprime à la ligne 106

Code : Tout sélectionner

  If JoueMusique= #True
    PlaySound(#Music)
    SoundVolume(#Music,30)
  EndIf
J'espére que ça répond à ta demande.

Re: Comment faire pour avoir joué la musique dans une boucl

Publié : mar. 07/juin/2016 14:20
par falsam
Vue que tu utilises les niveaux il y a une autre façon de faire avec ce code.

Code : Tout sélectionner

Select gScenes
    Case 0 ; Intro du jeu
      If JoueMusique=#False ;Si la musique est en cours de lecture #True alors inutile de la relancer
        PlaySound(#Music, #PB_Sound_Loop)
        JoueMusique = #True
      EndIf
      
      Intro_Game() 

      ;Si on appuie sur Espace on lance le jeu 
      If KeyboardPushed(#PB_Key_Space)
        
        StopSound(#Music)
        gScenes =1
      EndIf
    Case 1 ; le jeu 
      
      EndSelect
  
  FlipBuffers()
Until KeyboardReleased(#PB_Key_Escape)
On se trouve de nouveau dans la boucle d'évenement du jeu.

Dans ce cas il te faut des indicateurs pour savoir si tu joues de la musique ou pas. C'est ce que tu as fait mais tu les utilises mal.

Peut être que tu as prévu de la musique pour chaque niveau ? dans ce cas tu testes si la musique est en cours de lecture. Si non (valeur#False) alors il faut commencer la lecture.

Un exemple pour le niveau 0 intro du jeu.

Code : Tout sélectionner

    Case 0 ; Intro du jeu
      If JoueMusique=#False 
        PlaySound(#Music, #PB_Sound_Loop)
        JoueMusique = #True 
      EndIf
Pour chaque niveau tu peux faire de cette manière.

Re: Comment faire pour avoir joué la musique dans une boucl

Publié : mar. 07/juin/2016 14:41
par Bernie
Merci falsam de tes conseils