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
Branches
Tags
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% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment