v0.8.0: fixed the following bugs:

- various screen layout + orientation errors with power saver mode on
- DM-300s sprite exploding many times if it is stunned as it dies
This commit is contained in:
Evan Debenham 2020-03-29 20:28:50 -04:00
parent 70d6476fd2
commit 63e4482405
2 changed files with 12 additions and 5 deletions

View File

@ -60,7 +60,11 @@ public class AndroidPlatformSupport extends PlatformSupport {
Game.dispWidth = AndroidGame.view.getMeasuredWidth(); Game.dispWidth = AndroidGame.view.getMeasuredWidth();
Game.dispHeight = AndroidGame.view.getMeasuredHeight(); Game.dispHeight = AndroidGame.view.getMeasuredHeight();
if ((Game.dispWidth >= Game.dispHeight) != PixelScene.landscape()){ boolean fullscreen = Build.VERSION.SDK_INT < Build.VERSION_CODES.N
|| !AndroidGame.instance.isInMultiWindowMode();
if (fullscreen && SPDSettings.landscape() != null
&& (Game.dispWidth >= Game.dispHeight) != SPDSettings.landscape()){
int tmp = Game.dispWidth; int tmp = Game.dispWidth;
Game.dispWidth = Game.dispHeight; Game.dispWidth = Game.dispHeight;
Game.dispHeight = tmp; Game.dispHeight = tmp;
@ -75,7 +79,7 @@ public class AndroidPlatformSupport extends PlatformSupport {
if (Game.dispWidth < renderWidth*2 || Game.dispHeight < renderHeight*2) if (Game.dispWidth < renderWidth*2 || Game.dispHeight < renderHeight*2)
SPDSettings.put( SPDSettings.KEY_POWER_SAVER, true ); SPDSettings.put( SPDSettings.KEY_POWER_SAVER, true );
if (SPDSettings.powerSaver()){ if (SPDSettings.powerSaver() && fullscreen){
int maxZoom = (int)Math.min(Game.dispWidth/renderWidth, Game.dispHeight/renderHeight); int maxZoom = (int)Math.min(Game.dispWidth/renderWidth, Game.dispHeight/renderHeight);

View File

@ -90,6 +90,8 @@ public class DM300Sprite extends MobSprite {
Camera.main.shake( 3, 0.7f ); Camera.main.shake( 3, 0.7f );
} }
private boolean exploded = false;
@Override @Override
public void onComplete( Animation anim ) { public void onComplete( Animation anim ) {
@ -103,7 +105,8 @@ public class DM300Sprite extends MobSprite {
super.onComplete( anim ); super.onComplete( anim );
if (anim == die) { if (anim == die && !exploded) {
exploded = true;
Sample.INSTANCE.play(Assets.SND_BLAST); Sample.INSTANCE.play(Assets.SND_BLAST);
emitter().burst( BlastParticle.FACTORY, 25 ); emitter().burst( BlastParticle.FACTORY, 25 );
} }