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 java.io.IOException;
|
||||
|
||||
public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnErrorListener {
|
||||
|
||||
INSTANCE;
|
||||
|
@ -41,6 +39,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
|||
private boolean looping;
|
||||
|
||||
private boolean enabled = true;
|
||||
private float volume = 1f;
|
||||
|
||||
public void play( String assetName, boolean looping ) {
|
||||
|
||||
|
@ -67,8 +66,9 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
|||
mp.setOnPreparedListener( this );
|
||||
mp.setOnErrorListener( this );
|
||||
mp.prepareAsync();
|
||||
afd.close();
|
||||
|
||||
} catch (IOException e) {
|
||||
} catch (Exception e) {
|
||||
|
||||
player = null;
|
||||
|
||||
|
@ -85,6 +85,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
|||
player = mp;
|
||||
player.start();
|
||||
player.setLooping(looping);
|
||||
player.setVolume(volume, volume);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -116,6 +117,7 @@ public enum Music implements MediaPlayer.OnPreparedListener, MediaPlayer.OnError
|
|||
}
|
||||
|
||||
public void volume( float value ) {
|
||||
volume = value;
|
||||
if (player != null) {
|
||||
player.setVolume( value, value );
|
||||
}
|
||||
|
|
|
@ -149,6 +149,7 @@ public class ShatteredPixelDungeon extends Game {
|
|||
}
|
||||
|
||||
Music.INSTANCE.enable( music() );
|
||||
Music.INSTANCE.volume( musicVol()/10f );
|
||||
Sample.INSTANCE.enable( soundFx() );
|
||||
Sample.INSTANCE.volume( SFXVol()/10f );
|
||||
|
||||
|
@ -392,7 +393,6 @@ public class ShatteredPixelDungeon extends Game {
|
|||
|
||||
public static void music( boolean value ) {
|
||||
Music.INSTANCE.enable( value );
|
||||
Music.INSTANCE.volume( musicVol()/10f );
|
||||
Preferences.INSTANCE.put( Preferences.KEY_MUSIC, value );
|
||||
}
|
||||
|
||||
|
|
|
@ -50,7 +50,6 @@ public class BadgesScene extends PixelScene {
|
|||
super.create();
|
||||
|
||||
Music.INSTANCE.play( Assets.THEME, true );
|
||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
||||
|
||||
uiCamera.visible = false;
|
||||
|
||||
|
|
|
@ -162,7 +162,6 @@ public class GameScene extends PixelScene {
|
|||
public void create() {
|
||||
|
||||
Music.INSTANCE.play( Assets.TUNE, true );
|
||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol()/10f );
|
||||
|
||||
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.Game;
|
||||
import com.watabou.noosa.RenderedText;
|
||||
import com.watabou.noosa.audio.Music;
|
||||
import com.watabou.noosa.audio.Sample;
|
||||
|
||||
import java.io.FileNotFoundException;
|
||||
|
@ -159,10 +158,7 @@ public class InterlevelScene extends PixelScene {
|
|||
|
||||
case FADE_OUT:
|
||||
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) {
|
||||
Game.switchScene( GameScene.class );
|
||||
}
|
||||
|
|
|
@ -60,7 +60,6 @@ public class RankingsScene extends PixelScene {
|
|||
super.create();
|
||||
|
||||
Music.INSTANCE.play( Assets.THEME, true );
|
||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
||||
|
||||
uiCamera.visible = false;
|
||||
|
||||
|
|
|
@ -24,7 +24,6 @@ package com.shatteredpixel.shatteredpixeldungeon.scenes;
|
|||
import com.shatteredpixel.shatteredpixeldungeon.Assets;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Badges;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.Dungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.ShatteredPixelDungeon;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.actors.hero.HeroClass;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.messages.Messages;
|
||||
import com.shatteredpixel.shatteredpixeldungeon.sprites.RatSprite;
|
||||
|
@ -74,7 +73,6 @@ public class SurfaceScene extends PixelScene {
|
|||
super.create();
|
||||
|
||||
Music.INSTANCE.play( Assets.HAPPY, true );
|
||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
||||
|
||||
uiCamera.visible = false;
|
||||
|
||||
|
|
|
@ -52,7 +52,6 @@ public class TitleScene extends PixelScene {
|
|||
super.create();
|
||||
|
||||
Music.INSTANCE.play( Assets.THEME, true );
|
||||
Music.INSTANCE.volume( ShatteredPixelDungeon.musicVol() / 10f );
|
||||
|
||||
uiCamera.visible = false;
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user