Ajoutez du son à votre jeu Python
Écoutez ce qui se passe lorsque votre héros se bat, saute, récupère du butin et bien plus encore en ajoutant des sons à votre jeu. Découvrez comment procéder dans le 13ème article de cette série sur la création d'un jeu de plateforme dans Pygame.
Il s'agit de la treizième partie d'une série en cours sur la création de jeux vidéo en Python 3 à l'aide du module Pygame. Les articles précédents sont :
- Apprenez à programmer en Python en créant un jeu de dés simple
- Créez un framework de jeu avec Python à l'aide du module Pygame
- Comment ajouter un joueur à votre jeu Python
- Utiliser Pygame pour déplacer votre personnage de jeu
- Qu'est-ce qu'un héros sans un méchant ? Comment en ajouter un à votre jeu Python
- Ajoutez des plateformes à votre jeu
- Simulez la gravité dans votre jeu Python
- Ajoutez le saut à votre jeu de plateforme Python
- Permettez à votre joueur de jeu Python d'avancer et de reculer
- Utiliser Python pour configurer le butin dans Pygame
- Ajoutez la tenue des scores à votre jeu Python
- Ajoutez des mécanismes de lancer à votre jeu Python
Pygame fournit un moyen simple d'intégrer des sons dans votre jeu vidéo Python. Le module de mixage de Pygame peut jouer un ou plusieurs sons sur commande, et en mélangeant ces sons ensemble, vous pouvez, par exemple, faire jouer une musique de fond en même temps que vous entendez les sons de votre héros collectant du butin ou sautant par-dessus les ennemis.
Il est facile d'intégrer le module de mixage dans un jeu existant, donc, plutôt que de vous donner des exemples de code vous montrant exactement où les placer, cet article explique les quatre étapes nécessaires pour obtenir du son dans votre application.
Démarrer le mixeur
Tout d’abord, dans la section de configuration de votre code, démarrez le processus de mixage. Votre code démarre déjà les polices Pygame et Pygame, donc le regrouper avec celles-ci est une bonne idée :
pygame.init()
pygame.font.init()
pygame.mixer.init() # add this line
Définir les sons
Ensuite, vous devez définir les sons que vous souhaitez utiliser. Cela nécessite que vous ayez les sons sur votre ordinateur, tout comme l'utilisation de polices nécessite que vous ayez des polices, et l'utilisation de graphiques nécessite que vous ayez des graphiques.
Vous devez également regrouper ces sons avec votre jeu afin que toute personne jouant à votre jeu dispose des fichiers audio.
Pour regrouper un son avec votre jeu, créez d'abord un nouveau répertoire dans votre dossier de jeu, juste avec le répertoire que vous avez créé pour vos images et polices. Appelez-le son
:
s = 'sound'
Même s'il existe de nombreux sons sur Internet, il n'est pas nécessairement légal de les télécharger et de les offrir avec votre jeu. Cela semble étrange, car de nombreux sons de jeux vidéo célèbres font tellement partie de la culture populaire, mais c'est ainsi que fonctionne la loi. Si vous souhaitez fournir un son avec votre jeu, vous devez trouver un son open source ou Creative Commons qui vous autorise à donner le son avec votre jeu.
Il existe plusieurs sites spécialisés dans les sons gratuits et légaux, notamment :
- Freesound héberge des effets sonores de toutes sortes.
- Incompetech héberge de la musique de fond.
- Open Game Art héberge des effets sonores et de la musique.
Certains fichiers audio sont gratuits à utiliser uniquement si vous attribuez du crédit au compositeur ou au concepteur sonore. Lisez attentivement les conditions d'utilisation avant de les regrouper avec votre jeu ! Les musiciens et les concepteurs sonores travaillent aussi dur sur leurs sons que vous travaillez sur votre code, il est donc agréable de leur donner du crédit même lorsqu'ils n'en ont pas besoin.
Pour donner du crédit à vos sources sonores, répertoriez les sons que vous utilisez dans un fichier texte appelé CREDIT
et placez le fichier texte dans votre dossier de jeu.
Vous pouvez également essayer de créer votre propre musique. L'excellente station de travail audio LMMS est facile à utiliser et est livrée avec de nombreux sons intéressants. Il est disponible sur toutes les principales plates-formes et s'exporte au format audio Ogg Vorbis (OGG).
Ajouter du son à Pygame
Lorsque vous trouvez un son que vous aimez, téléchargez-le. S'il s'agit d'un fichier ZIP ou TAR, extrayez-le et déplacez les sons dans le dossier sound
de votre répertoire de jeu.
Si le fichier son a un nom compliqué avec des espaces ou des caractères spéciaux, renommez-le. Le nom de fichier est complètement arbitraire, et plus il est simple, plus il vous est facile de saisir votre code.
La plupart des jeux vidéo utilisent des fichiers son OGG car le format offre une haute qualité dans des fichiers de petite taille. Lorsque vous téléchargez un fichier audio, il peut s'agir d'un format MP3, WAVE, FLAC ou d'un autre format audio. Pour maintenir une compatibilité élevée et une taille de téléchargement faible, convertissez-les en Ogg Vorbis avec un outil comme fre:ac ou Miro.
Par exemple, supposons que vous ayez téléchargé un fichier audio appelé ouch.ogg
.
Dans la section de configuration de votre code, créez une variable représentant le fichier son que vous souhaitez utiliser :
ouch = pygame.mixer.Sound(os.path.join(s, 'ouch.ogg'))
Déclencher un son
Pour utiliser un son, il suffit d'appeler la variable au moment où l'on souhaite la déclencher. Par exemple, pour déclencher l'effet sonore OUCH
lorsque votre joueur frappe un ennemi :
for enemy in enemy_hit_list:
pygame.mixer.Sound.play(ouch)
score -= 1
Vous pouvez créer des sons pour toutes sortes d'actions, comme sauter, collecter du butin, lancer, entrer en collision et tout ce que vous pouvez imaginer.
Ajouter une musique de fond
Si vous souhaitez jouer de la musique ou des effets sonores atmosphériques en arrière-plan de votre jeu, vous pouvez utiliser la fonction musique
du module de mixage de Pygame. Dans votre section de configuration, chargez le fichier musical :
music = pygame.mixer.music.load(os.path.join(s, 'music.ogg'))
Et lancez la musique :
pygame.mixer.music.play(-1)
La valeur -1
indique à Pygame de boucler le fichier musical à l'infini. Vous pouvez le définir sur n'importe quelle valeur comprise entre 0
et au-delà pour définir combien de fois la musique doit être mise en boucle avant de s'arrêter.
Profitez des paysages sonores
La musique et le son peuvent ajouter beaucoup de saveur à votre jeu. Essayez d'en ajouter à votre projet Pygame !