Un peu de détente avec quelque chose de très facile à gérer: les sons FX et la musique.
Voici comment jouer une musique:
// Doit etre place a la fin du load de Scene
Midi music = AudioMidi.loadMidi(Media.get("musics", "music.midi"));
music.play(true); // Jouer en boucle
Pour jouer un son, c'est aussi simple. L'idée est de créer un enum représentant chaque son. Il suffira juste d'appeler l'enum et sa fonction play pour le jouer.
/**
* Handle the SFX.
*
* @author Pierre-Alexandre (contact@b3dgs.com)
*/
public enum Sfx
{
/** Jump. */
JUMP("jump"),
/** Die. */
CRUSH("crush");
/** Audio file extension. */
private static final String AUDIO_FILE_EXTENSION = ".wav";
/**
* Terminate all sounds.
*/
public static void terminateAll()
{
for (final Sfx sfx : Sfx.values())
{
sfx.terminate();
}
}
/** Sounds list composing the effect. */
private final Wav sound;
/**
* Constructor.
*
* @param sound The sound.
*/
private Sfx(String sound)
{
this(sound, 1);
}
/**
* Constructor.
*
* @param sound The sound.
* @param count The total number of sounds.
*/
private Sfx(String sound, int count)
{
final Media media = UtilityMedia.get("sfx", sound + Sfx.AUDIO_FILE_EXTENSION);
this.sound = AudioWav.loadWav(media, count);
}
/**
* Play the sound effect.
*/
public void play()
{
sound.play();
}
/**
* Terminate all channels.
*/
private void terminate()
{
sound.terminate();
}
}
Pensez également à compléter la classe Scene
@Override
protected void onTerminate(boolean hasNextSequence)
{
music.stop();
Sfx.terminateAll();
}
Je vous laisse ajouter ces lignes au bon endroit. Voici quelques ressources pour l'audio: Son et Musique
Lire la suite: Jeu de Plateforme - Conclusion