Difuminado Música

LibGDX no tiene un método directo para difuminar música y, pues, codifiqué el mío.

Lo primero es declarar tres tipos de interpolaciones lineales, una para aumentar el volumen, otra para disminuirlo y la última como base.

En la clase de MineChallenge.java:

private final FloatAction fadeActionIn = new FloatAction(0.0f, 1.0f);
private final FloatAction fadeActionOut = new FloatAction(1.0f, 0.0f);
private FloatAction fadeAction;

En el constructor declaro el tiempo de fadeActionIn y fadeActionOut.

fadeActionIn.setDuration(3.0f);
fadeActionOut.setDuration(2.0f);

En el método de «spawn()», que comienza el reto de minas, comienzo la música así:

fadeActionIn.restart();
fadeAction = fadeActionIn;

music.play();

Para disipar la música uso este código:

fadeActionOut.restart();
fadeAction = fadeActionOut;

Por último, en el método de «act(float delta)» se actualiza el volumen de la música con este código:

if (music.isPlaying()) {
  fadeAction.act(delta);
  music.setVolume(fadeAction.getValue());
  if (music.getVolume() == 0) music.stop();
}

La musica fue generada con inteligencia artificial por Amaz1ngDragon y se llama fast paced boss battle.

Y así se escucha:

Únete a otros 36 suscriptores

Deja una respuesta

Anuncios


Consola en pantalla 

Algo que siempre he querido tener es la consola visual en pantalla. Lo encuentro útil porque puedo ver el evento directo sin tener que desviar la mirada hacia la consola.

Continua Leyendo…
Anuncios