From 4b10f23f0b755517414e0fa5cf06309c25efe321 Mon Sep 17 00:00:00 2001 From: Recrown Date: Thu, 6 Sep 2018 15:07:12 -0500 Subject: [PATCH] main menu particles now fades instead of instantly disappearing when music pauses; --- .../graphics/ui/components/ScrollingText.java | 5 +++-- .../desktop/screens/main/AnalysisPage.java | 2 ++ .../desktop/screens/main/MainPage.java | 15 ++++++--------- .../desktop/screens/main/MusicSelectionPage.java | 1 - 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/core/src/zero1hd/rhythmbullet/graphics/ui/components/ScrollingText.java b/core/src/zero1hd/rhythmbullet/graphics/ui/components/ScrollingText.java index 3d3248a..83aae63 100755 --- a/core/src/zero1hd/rhythmbullet/graphics/ui/components/ScrollingText.java +++ b/core/src/zero1hd/rhythmbullet/graphics/ui/components/ScrollingText.java @@ -159,12 +159,13 @@ public class ScrollingText extends Widget { coords.x = getX(); coords.y = getY(); + getStage().stageToScreenCoordinates(coords); + clipBounds.setX(coords.x+1); clipBounds.setY(coords.y - 0.5f*getHeight()); - getStage().calculateScissors(clipBounds, scissors); - batch.flush(); + getStage().calculateScissors(clipBounds, scissors); if (ScissorStack.pushScissors(scissors)) { font.draw(batch, text1, coords.x + text1Offset, coords.y + getFontHeight() + 4); font.draw(batch, text2, coords.x + text2Offset, coords.y + getFontHeight() + 4); diff --git a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/AnalysisPage.java b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/AnalysisPage.java index 854a965..2f6a9c2 100755 --- a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/AnalysisPage.java +++ b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/AnalysisPage.java @@ -30,6 +30,7 @@ public class AnalysisPage extends Page { private Image albumImage; private AudioMetadataController amc; private MusicController mc; + public AnalysisPage(MusicController mc, AudioMetadataController amc, Skin skin, ChangeListener backButtonListener, ChangeListener confirmedButtonListener) { super(2, 0); table = new Table(); @@ -101,6 +102,7 @@ public class AnalysisPage extends Page { adjustment.add(progressLabel).colspan(2).left().spaceTop(20f); backButton = new TextButton("Cancel", skin); + backButton.setWidth(backButton.getWidth() + 20); backButton.addListener(backButtonListener); backButton.addListener(new ChangeListener() { @Override diff --git a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MainPage.java b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MainPage.java index 7082460..8254729 100755 --- a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MainPage.java +++ b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MainPage.java @@ -5,7 +5,6 @@ import java.util.Observer; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.assets.AssetManager; -import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Batch; import com.badlogic.gdx.graphics.g2d.ParticleEffect; @@ -138,14 +137,14 @@ public class MainPage extends Page implements Observer { } private void updateParticles(Batch batch) { - if (mc.isPlaying() && playParticles) { + if (playParticles) { if (particles.size < 16 && dhv.isSignificantBeat()) { PooledEffect particle = particlePool.obtain(); particle.scaleEffect(particleScale); particles.add(particle); } if (particles.size > 0) { - for (int i = particles.size - 1; i >= 0; i--) { + for (int i = particles.size - 1; i >= 0 && particles.size > 0; i--) { PooledEffect particle = particles.get(i); particle.draw(batch, Gdx.graphics.getDeltaTime()); if (particle.isComplete()) { @@ -155,22 +154,20 @@ public class MainPage extends Page implements Observer { } } } - - batch.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); } public void stopParticles() { playParticles = false; - for (int i = particles.size - 1; i >= 0 && particles.size > 0; i--) { - particles.get(i).free(); - particles.clear(); - } } @Override public void dispose() { dhv.dispose(); mc.getMusicList().deleteObserver(this); + for (int i = particles.size - 1; i >= 0 && particles.size > 0; i--) { + particles.get(i).free(); + particles.clear(); + } super.dispose(); } diff --git a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java index 6ea3f70..dc6e4dd 100755 --- a/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java +++ b/desktop/src/zero1hd/rhythmbullet/desktop/screens/main/MusicSelectionPage.java @@ -29,7 +29,6 @@ import com.badlogic.gdx.scenes.scene2d.ui.TextButton; import com.badlogic.gdx.scenes.scene2d.ui.VerticalGroup; import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener; import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; -import com.badlogic.gdx.scenes.scene2d.utils.ChangeListener.ChangeEvent; import com.badlogic.gdx.utils.Align; import com.badlogic.gdx.utils.Array;