Culture Geek

Je code, tu codes… vous codez ? #7

Je code, tu codes… vous codez ? #7

Musique et code des bruitages

 

Bonjour à toutes et à tous, et bienvenue dans cette nouvelle série d’articles qui traitera – en long, large et autres travers – de la programmation, et puisque nous sommes sur Cleek, nous parlerons bien entendu ici de l’art geek dans toute sa splendeur : le jeu vidéo et les étapes nécessaires pour créer le vôtre de A à Z !

Non, non, ne fuyez pas tout de suite, rassurez-vous, le développement de logiciels n’est en aucun cas, contrairement à certaines idées reçues, une affaire d’intellos reclus et monomaniaques ! En effet, quelques cuillères à soupe de logique, une ou deux onces de patience ainsi que quelques grammes de curiosité sont les seuls ingrédients requis pour développer la base d’un jeu vidéo.

Comme promis la semaine dernière, nous nous occuperons aujourd’hui de musique ! Nous aurons besoin dans un premier temps d’une musique de fond, d’un bruit pour le tir du Nyan-Cat ainsi que d’un bruit pour la destruction de chats ennemis. Libre à vous de chercher les musiques et sons qui vous plaisent sur internet (le format .mp3 sera le plus approprié dans notre cas), mais vous pouvez aussi télécharger les ressources sonores créées pour l’occasion par Laurianne « Caduce » Angeon.

 

La musique de fond, un jeu d’enfant

 

Pour se mettre doucement dans le bain, commencez par créer un nouveau dossier dans votre projet. Ce dossier portera le nom de « sounds » et vous y copierez les sons de votre choix (une musique de fond, un son de tir et un son d’explosion au minimum).

 

cleek_image_prog7_1

 

 

Première étape, la musique de fond, qui sera l’ambiance de notre jeu : rien de plus simple, il vous suffit de déposer votre musique jusque dans la Hierarchy, et elle sera jouée par défaut au lancement du programme ! Il est recommandé de baisser un peu le volume à 0.3 et surtout, de cocher la case « Loop » afin que le morceau tourne en boucle.

 

cleek_image_prog7_2

 

 

Vous pouvez tester, et surprise, la musique est bonne !

 

Marquer son territoire, toute une histoire…

 

La suite ne sera pas aussi simple, mais rassurez vous, nous allons aborder – tout en douceur – une nouvelle notion bien pratique qui nous servira de plus en plus souvent : les « tags ». Il ne s’agit pas de graffitis plus ou moins élaborés à grands coups de bombe de peinture, vous deviez vous en douter ! Néanmoins, les tags qui nous intéressent reprennent le concept du tag urbain : ils permettent de repérer un objet, de « le signer » afin de réunir plusieurs objets dans un même ensemble en fonction de leur tag.

 

Glissez le son de tir dans la Hierarchy et décochez l’option « Play On Awake ». Regardez ensuite tout en haut de l’Inspector, il y a une sorte de liste déroulante positionnée sur « Untagged ». C’est ici que nous allons ajouter un tag « soundsTag » en suivant les trois images suivantes :

 

cleek_image_prog7_3

cleek_image_prog7_4

cleek_image_prog7_5

 

Vous pouvez répéter cette opération avec le son d’explosion (le glisser dans la Hierarchy, décocher « Play On Awake » et lui attribuer le tag « soundsTag »).

 

Place au code !

 

Maintenant que nos sons sont prêts et tagués, il va falloir les jouer au moment opportun ! Pour cela, c’est assez simple, il faut ouvrir les scripts concernés et y ajouter quelques lignes de code.

 

Pour le tir, ouvrez le script « PlayerShoot » et ajoutez le code encadré sur l’image suivante :

 

cleek_image_prog7_6

 

 

Quelques explications :

  • le premier encadré est simplement la déclaration d’un objet « AudioSource » qui permet de jouer des sons
  • le second encadré, dans la fonction Start(), permet d’aller chercher tous les sons portant le tag « soundsTag » et de récupérer celui qui porte le nom « tir » pour le placer dans l’objet déclaré au premier encadré
  • le troisième encadré joue le son lorsqu’un nouveau tir est lancé

 

La grosse nouveauté, hormis le concept de tag, sera le « foreach » que nous pouvons traduire de l’anglais en l’expression « pour chacun ». Cette instruction est en fait une sorte de boucle qui va aller chercher tous les éléments d’une liste (dans notre cas, une liste de GameObjects « sounds ») et pour chacun d’entre eux, faire une action particulière (ici, vérifier le nom du « sound » et le placer dans le GameObject déclaré tout en haut).

 

Procédons de la même manière pour le bruit d’explosion, qui interviendra dans le script « GestionSante », et qui sera joué juste avant la destruction de l’objet :

 

cleek_image_prog7_7

 

 

Nota Bene : Pour améliorer un peu les choses, vous pouvez ajuster le volume des sons de tir et d’explosion, respectivement à 0.25 et 2 (au lieu de la valeur 1 par défaut).

 

Voila pour aujourd’hui, vous pouvez enregistrer votre projet, le tester et même, si cela vous chante, utiliser d’autres musiques que vous pourriez adapter à d’autres endroits du code (lors du déplacement du Nyan-Cat par exemple). La semaine prochaine, nous ajouterons toujours plus de vie dans notre jeu en commençant à ajouter d’autres animations, l’explosion des vaisseaux pour commencer, et peut-être même quelques animations pour le fond de l’écran !

 

Culture Geek
Plus Culture Geek