Permalink
Browse files

Agregar clase para audio

  • Loading branch information...
1 parent d2e0dd3 commit 1a13836e280b62830f100934e59e1f8315b19dbe @Luraguse Luraguse committed Apr 24, 2013
Binary file not shown.
@@ -0,0 +1,70 @@
+package com.lumpundform.audio;
+
+import com.badlogic.gdx.Gdx;
+import com.badlogic.gdx.audio.Music;
+import com.badlogic.gdx.files.FileHandle;
+import com.badlogic.gdx.utils.Disposable;
+
+public class MusicManager implements Disposable {
+
+ public enum MusicaDisponible {
+ CASTLEVANIA("musica/castlevania.mp3");
+
+ private final String nombreArchivo;
+
+ private MusicaDisponible(String nombreArchivo) {
+ this.nombreArchivo = nombreArchivo;
+ }
+
+ public String getNombreArchivo() {
+ return nombreArchivo;
+ }
+ }
+
+ private Music musicaEnCurso;
+ private float volumen = 1f;
+ private boolean habilitado = true;
+
+ public MusicManager(){
+
+ }
+
+ public void play(MusicaDisponible musica) {
+ if (!habilitado) return;
+
+ stop();
+
+ FileHandle archivoMusica = Gdx.files.internal(musica.getNombreArchivo());
+ musicaEnCurso = Gdx.audio.newMusic(archivoMusica);
+ musicaEnCurso.setVolume(volumen);
+ musicaEnCurso.setLooping(true);
+ musicaEnCurso.play();
+ }
+
+ public void stop() {
+ if (musicaEnCurso != null) {
+ musicaEnCurso.stop();
+ musicaEnCurso.dispose();
+ }
+ }
+
+ public void acomodarVolumen(float volumen) {
+ this.volumen = volumen;
+
+ if(musicaEnCurso != null)
+ musicaEnCurso.setVolume(volumen);
+ }
+
+ public void setHabilitado(boolean habilitado) {
+ this.habilitado = habilitado;
+
+ if (!habilitado)
+ stop();
+ }
+
+ @Override
+ public void dispose() {
+ stop();
+ }
+
+}
@@ -23,6 +23,8 @@
import com.lumpundform.actores.Humanoide;
import com.lumpundform.actores.ObjetoActor;
import com.lumpundform.actores.Personaje;
+import com.lumpundform.audio.MusicManager;
+import com.lumpundform.audio.MusicManager.MusicaDisponible;
import com.lumpundform.colision.Linea;
import com.lumpundform.colision.Poligono;
import com.lumpundform.eventos.Escena;
@@ -55,6 +57,8 @@
private Array<Escena> escenas;
private boolean interfazBloqueada = false;
+
+ public MusicManager mm = new MusicManager();
/**
* Inicializa un nuevo escenario con los datos dados. Se inicializa un nuevo
@@ -80,6 +84,9 @@ public EscenarioBase(MapaHelper mh, CamaraJuego camara, boolean stretch, SpriteB
cargarEscenas("1");
cargarEventos(mh.eventosMapa());
+ // cargar música
+ mm.play(MusicaDisponible.CASTLEVANIA);
+
setCamera(camara);
// Agregar las colisiones del piso

0 comments on commit 1a13836

Please sign in to comment.