From 838ffbd5cc19fe27f94db90665c5ab49ed41777e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Drahom=C3=ADr=20Karch=C5=88=C3=A1k?= <drahomir.karchnak@nic.cz> Date: Mon, 7 Dec 2015 15:10:26 +0100 Subject: [PATCH] #58 Fixed a bug, which caused the intro music to stop playing everytime you scrolled. --- .../cz/nic/tablexia/screen/gamemenu/pages/WallPage.java | 7 +++++++ core/src/cz/nic/tablexia/util/ui/PagedScrollPane.java | 7 +++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/pages/WallPage.java b/core/src/cz/nic/tablexia/screen/gamemenu/pages/WallPage.java index 90774d3b8..1e7ff60b0 100644 --- a/core/src/cz/nic/tablexia/screen/gamemenu/pages/WallPage.java +++ b/core/src/cz/nic/tablexia/screen/gamemenu/pages/WallPage.java @@ -9,6 +9,8 @@ import cz.nic.tablexia.screen.gamemenu.GameMenuAssets; import cz.nic.tablexia.screen.gamemenu.GameMenuScreen; /** + * This class represents the page between the office and game menu pages + * It works as a separator and PagedScrollPane can't snap to this page * Created by Drahomir Karchnak on 02/12/15. */ public class WallPage extends MenuPage{ @@ -21,8 +23,10 @@ public class WallPage extends MenuPage{ public WallPage(AbstractTablexiaScreen<int[][]> screen) { super(screen); + //offset of the pagedScrollPane pagedScrollPaneOffsetY = ((GameMenuScreen) screen).getPagedScrollPane().getY(); + //Sets size and position of WallPage setSize(mid.getRegionWidth(), getScreen().getSceneOuterHeight()); setPosition(getScreen().getSceneWidth(), getScreen().getSceneOuterBottomY() - getScreen().getSceneOuterBottomY()); } @@ -31,6 +35,7 @@ public class WallPage extends MenuPage{ public void draw(Batch batch, float parentAlpha) { batch.setColor(batch.getColor().r, batch.getColor().g, batch.getColor().b, parentAlpha); + //Disables Blending, no need when drawing the background batch.disableBlending(); //Just adjusting sourceX coordinate to get animated background/sky @@ -48,6 +53,7 @@ public class WallPage extends MenuPage{ false); + //Enables Blending for foreground layer batch.enableBlending(); batch.draw( mid, @@ -62,6 +68,7 @@ public class WallPage extends MenuPage{ @Override public boolean isSnapToAllowed() { + //PagedScrollPane can't snap to this page return false; } diff --git a/core/src/cz/nic/tablexia/util/ui/PagedScrollPane.java b/core/src/cz/nic/tablexia/util/ui/PagedScrollPane.java index e9dd92bc7..427f80d2c 100644 --- a/core/src/cz/nic/tablexia/util/ui/PagedScrollPane.java +++ b/core/src/cz/nic/tablexia/util/ui/PagedScrollPane.java @@ -181,8 +181,11 @@ public class PagedScrollPane extends ScrollPane { setSmoothScrolling(smooth); setScrollX(page.getX()); - MenuPage leavePage = (MenuPage) contentTable.getChildren().get(indexCurrentPage); - leavePage.onScrollPageExit(); + //Is changing page ? + if(indexCurrentPage != i) { + MenuPage leavePage = (MenuPage) contentTable.getChildren().get(indexCurrentPage); + leavePage.onScrollPageExit(); + } //in case smooth scrolling is set to false, we need to update visual scroll if (!smooth) { -- GitLab