Skip to content
Snippets Groups Projects
Commit 4182579f authored by Luboš Horáček's avatar Luboš Horáček
Browse files

Paralax overlapping fix

parent e9df0432
No related branches found
No related tags found
No related merge requests found
......@@ -26,9 +26,13 @@ public class GameMenuPage extends MenuPage implements ViewPager.ScrollListener {
@Override
public void draw(Batch batch, float parentAlpha) {
// TODO solve image clipping for background layer and any moving slowlier than screen
batch.draw(getScreen().getTexture(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.BACK)), getX()-(scrollOffset/2), getY(), getWidth(), getHeight());
Texture back = getScreen().getTexture(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.BACK));
int srcX = (int) (back.getWidth() * Math.max(scrollOffset / 2, 0) / getWidth());
int srcWidth = (int) (back.getWidth() * (getWidth() - (Math.min(scrollOffset / 2, 0) + Math.max(0, (scrollOffset)))) / getWidth());
batch.draw(back, getX() - Math.min(scrollOffset / 2, 0), getY(), getWidth() - Math.max(0, (scrollOffset)), getHeight(), srcX, 0, srcWidth, back.getHeight(), false, false);
Log.info(((Object) this).getClass().getName(), "Draw fro" + srcX + " to " + (srcX + srcWidth) + " of " + back.getWidth());
batch.draw(getScreen().getTexture(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.MID)), getX(), getY(), getWidth(), getHeight());
batch.draw(getScreen().getTexture(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.FORE)), getX()+(scrollOffset/2), getY(), getWidth(), getHeight());
batch.draw(getScreen().getTexture(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.FORE)), getX() + (scrollOffset / 2), getY(), getWidth(), getHeight());
Texture title = getScreen().getTexture(GameMenuAssets.getResourcePath(game, GameMenuAssets.GameMenuLayers.TITLE));
int titleX = (int) (getStage().getWidth() * 0.2);
......@@ -43,11 +47,11 @@ public class GameMenuPage extends MenuPage implements ViewPager.ScrollListener {
@Override
public void onScroll(float offset) {
scrollOffset = offset;
Log.info(((Object) this).getClass().getName(), "Scroll " + game.name() + ": " + offset);
//Log.info(((Object) this).getClass().getName(), "Scroll " + game.name() + ": " + offset);
}
@Override
public void onScrolledToPage() {
Log.info(((Object) this).getClass().getName(), "Scrolled to page: " + game.name());
//Log.info(((Object) this).getClass().getName(), "Scrolled to page: " + game.name());
}
}
......@@ -8,8 +8,6 @@ import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.Table;
import com.badlogic.gdx.utils.Array;
import cz.nic.tablexia.util.Log;
/**
* Created by lhoracek on 3/4/15.
*/
......@@ -86,8 +84,6 @@ public class ViewPager extends ScrollPane {
if(lastX != getWidget().getX()){
Log.info(((Object) this).getClass().getName(), "ScrollX: " + getWidget().getX());
float scrollX = -getWidget().getX();
Array<Actor> pages = content.getChildren();
float pageX = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment