v0.6.2c: improved how the game handles music volume and asset handling
This commit is contained in:
parent
759ff2fb9d
commit
31042228ff
|
@ -29,8 +29,6 @@ import android.telephony.TelephonyManager;
|
||||||
|
|
||||||
import com.watabou.noosa.Game;
|
import com.watabou.noosa.Game;
|
||||||
|
|
||||||
import java.io.IOException;
|
|
||||||
|
|
||||||
public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener {
|
public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener {
|
||||||
|
|
||||||
INSTANCE;
|
INSTANCE;
|
||||||
|
@ -41,6 +39,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
||||||
private boolean looping;
|
private boolean looping;
|
||||||
|
|
||||||
private boolean enabled = true;
|
private boolean enabled = true;
|
||||||
|
private float volume = 1f;
|
||||||
|
|
||||||
public void play( String assetName, boolean looping ) {
|
public void play( String assetName, boolean looping ) {
|
||||||
|
|
||||||
|
@ -67,8 +66,9 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
||||||
mp.setOnPreparedListener( this );
|
mp.setOnPreparedListener( this );
|
||||||
mp.setOnErrorListener( this );
|
mp.setOnErrorListener( this );
|
||||||
mp.prepareAsync();
|
mp.prepareAsync();
|
||||||
|
afd.close();
|
||||||
|
|
||||||
} catch (IOException e) {
|
} catch (Exception e) {
|
||||||
|
|
||||||
player = null;
|
player = null;
|
||||||
|
|
||||||
|
@ -85,6 +85,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
||||||
player = mp;
|
player = mp;
|
||||||
player.start();
|
player.start();
|
||||||
player.setLooping(looping);
|
player.setLooping(looping);
|
||||||
|
player.setVolume(volume, volume);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -116,6 +117,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
||||||
}
|
}
|
||||||
|
|
||||||
public void volume( float value ) {
|
public void volume( float value ) {
|
||||||
|
volume = value;
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
player.setVolume( value, value );
|
player.setVolume( value, value );
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,6 +149,7 @@ public class ShatteredPixelDungeon extends Game {
|
||||||
}
|
}
|
||||||
|
|
||||||
Music.INSTANCE.enable( music() );
|
Music.INSTANCE.enable( music() );
|
||||||
|
Music.INSTANCE.volume( musicVol()/10f );
|
||||||
Sample.INSTANCE.enable( soundFx() );
|
Sample.INSTANCE.enable( soundFx() );
|
||||||
Sample.INSTANCE.volume( SFXVol()/10f );
|
Sample.INSTANCE.volume( SFXVol()/10f );
|
||||||
|
|
||||||
|
@ -392,7 +393,6 @@ public class ShatteredPixelDungeon extends Game {
|
||||||
|
|
||||||
public static void music( boolean value ) {
|
public static void music( boolean value ) {
|
||||||
Music.INSTANCE.enable( value );
|
Music.INSTANCE.enable( value );
|
||||||
Music.INSTANCE.volume( musicVol()/10f );
|
|
||||||
Preferences.INSTANCE.put( Preferences.KEY_MUSIC, value );
|
Preferences.INSTANCE.put( Preferences.KEY_MUSIC, value );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,6 @@ public class BadgesScene extends PixelScene {
|
||||||
super.create();
|
super.create();
|
||||||
|
|
||||||
Music.INSTANCE.play( Assets.THEME, true );
|
Music.INSTANCE.play( Assets.THEME, true );
|
||||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
|
||||||
|
|
||||||
uiCamera.visible = false;
|
uiCamera.visible = false;
|
||||||
|
|
||||||
|
|
|
@ -162,7 +162,6 @@ public class GameScene extends PixelScene {
|
||||||
public void create() {
|
public void create() {
|
||||||
|
|
||||||
Music.INSTANCE.play( Assets.TUNE, true );
|
Music.INSTANCE.play( Assets.TUNE, true );
|
||||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol()/10f );
|
|
||||||
|
|
||||||
ShatteredPixelDungeon.lastClass(Dungeon.hero.heroClass.ordinal());
|
ShatteredPixelDungeon.lastClass(Dungeon.hero.heroClass.ordinal());
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,6 @@ import com.shatteredpixel.shatteredpixeldungeon.windows.WndStory;
|
||||||
import com.watabou.noosa.Camera;
|
import com.watabou.noosa.Camera;
|
||||||
import com.watabou.noosa.Game;
|
import com.watabou.noosa.Game;
|
||||||
import com.watabou.noosa.RenderedText;
|
import com.watabou.noosa.RenderedText;
|
||||||
import com.watabou.noosa.audio.Music;
|
|
||||||
import com.watabou.noosa.audio.Sample;
|
import com.watabou.noosa.audio.Sample;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
@ -159,10 +158,7 @@ public class InterlevelScene extends PixelScene {
|
||||||
|
|
||||||
case FADE_OUT:
|
case FADE_OUT:
|
||||||
message.alpha( p );
|
message.alpha( p );
|
||||||
|
|
||||||
if (mode == Mode.CONTINUE || (mode == Mode.DESCEND && Dungeon.depth == 1)) {
|
|
||||||
Music.INSTANCE.volume( p * (ShatteredPixelDungeon.musicVol()/10f));
|
|
||||||
}
|
|
||||||
if ((timeLeft -= Game.elapsed) <= 0) {
|
if ((timeLeft -= Game.elapsed) <= 0) {
|
||||||
Game.switchScene( GameScene.class );
|
Game.switchScene( GameScene.class );
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,6 @@ public class RankingsScene extends PixelScene {
|
||||||
super.create();
|
super.create();
|
||||||
|
|
||||||
Music.INSTANCE.play( Assets.THEME, true );
|
Music.INSTANCE.play( Assets.THEME, true );
|
||||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
|
||||||
|
|
||||||
uiCamera.visible = false;
|
uiCamera.visible = false;
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,6 @@ package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.RatSprite;
|
import com.shatteredpixel.shatteredpixeldungeon.sprites.RatSprite;
|
||||||
|
@ -74,7 +73,6 @@ public class SurfaceScene extends PixelScene {
|
||||||
super.create();
|
super.create();
|
||||||
|
|
||||||
Music.INSTANCE.play( Assets.HAPPY, true );
|
Music.INSTANCE.play( Assets.HAPPY, true );
|
||||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
|
||||||
|
|
||||||
uiCamera.visible = false;
|
uiCamera.visible = false;
|
||||||
|
|
||||||
|
|
|
@ -52,7 +52,6 @@ public class TitleScene extends PixelScene {
|
||||||
super.create();
|
super.create();
|
||||||
|
|
||||||
Music.INSTANCE.play( Assets.THEME, true );
|
Music.INSTANCE.play( Assets.THEME, true );
|
||||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
|
||||||
|
|
||||||
uiCamera.visible = false;
|
uiCamera.visible = false;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user