Skip to content
Snippets Groups Projects
Commit 35597884 authored by Matyáš Latner's avatar Matyáš Latner
Browse files

#61 Screen move transactions respects screen relative size

parent 3339d4a9
No related branches found
No related tags found
No related merge requests found
Showing
with 50 additions and 30 deletions
android/assets/gfx/screen_loader_background.jpg

509 KiB | W: | H:

android/assets/gfx/screen_loader_background.jpg

561 KiB | W: | H:

android/assets/gfx/screen_loader_background.jpg
android/assets/gfx/screen_loader_background.jpg
android/assets/gfx/screen_loader_background.jpg
android/assets/gfx/screen_loader_background.jpg
  • 2-up
  • Swipe
  • Onion skin
core/assets/common/screen/panorama/gfx/balcony.jpg

392 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony.jpg

432 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony.jpg
core/assets/common/screen/panorama/gfx/balcony.jpg
core/assets/common/screen/panorama/gfx/balcony.jpg
core/assets/common/screen/panorama/gfx/balcony.jpg
  • 2-up
  • Swipe
  • Onion skin
core/assets/common/screen/panorama/gfx/balcony_blur.png

101 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony_blur.png

229 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony_blur.png
core/assets/common/screen/panorama/gfx/balcony_blur.png
core/assets/common/screen/panorama/gfx/balcony_blur.png
core/assets/common/screen/panorama/gfx/balcony_blur.png
  • 2-up
  • Swipe
  • Onion skin
core/assets/common/screen/panorama/gfx/balcony_blur_winter.png

307 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony_blur_winter.png

300 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony_blur_winter.png
core/assets/common/screen/panorama/gfx/balcony_blur_winter.png
core/assets/common/screen/panorama/gfx/balcony_blur_winter.png
core/assets/common/screen/panorama/gfx/balcony_blur_winter.png
  • 2-up
  • Swipe
  • Onion skin
core/assets/common/screen/panorama/gfx/balcony_winter.jpg

391 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony_winter.jpg

426 KiB | W: | H:

core/assets/common/screen/panorama/gfx/balcony_winter.jpg
core/assets/common/screen/panorama/gfx/balcony_winter.jpg
core/assets/common/screen/panorama/gfx/balcony_winter.jpg
core/assets/common/screen/panorama/gfx/balcony_winter.jpg
  • 2-up
  • Swipe
  • Onion skin
core/assets/common/screen/panorama/gfx/detectiveoffice.png

629 KiB | W: | H:

core/assets/common/screen/panorama/gfx/detectiveoffice.png

617 KiB | W: | H:

core/assets/common/screen/panorama/gfx/detectiveoffice.png
core/assets/common/screen/panorama/gfx/detectiveoffice.png
core/assets/common/screen/panorama/gfx/detectiveoffice.png
core/assets/common/screen/panorama/gfx/detectiveoffice.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -382,16 +382,27 @@ public abstract class TablexiaApplication implements ApplicationListener {
private static class MoveRightAnimation implements cz.nic.tablexia.TablexiaApplication.ScreenTransaction.ScreenTransactionImplementation {
protected float newScreenMoveFromX = -Gdx.graphics.getWidth();
protected float newScreenMoveToX = 0;
protected float lastScreenMoveToX = Gdx.graphics.getWidth();
protected float newScreenMoveFromY = 0;
protected float newScreenMoveToY = 0;
protected float lastScreenMoveToY = 0;
protected float newScreenMoveFromX;
protected float newScreenMoveToX;
protected float lastScreenMoveToX;
protected float newScreenMoveFromY;
protected float newScreenMoveToY;
protected float lastScreenMoveToY;
protected void prepareTransactionPositions(Stage stage) {
newScreenMoveFromX = -TablexiaSettings.getSceneWidth(stage);
newScreenMoveToX = 0;
lastScreenMoveToX = TablexiaSettings.getSceneWidth(stage);
newScreenMoveFromY = 0;
newScreenMoveToY = 0;
lastScreenMoveToY = 0;
}
@Override
public void processTransaction(final AbstractTablexiaScreen<?> lastScreen, final AbstractTablexiaScreen<?> newScreen, Runnable newScreenHandler, final Runnable lastScreenHandler, final Runnable finishHandler) {
prepareTransactionPositions(lastScreen.getStage());
final int transactionSpeed = 2;
newScreen.setLoadingListener(new ScreenLoadingListener() {
......@@ -414,27 +425,26 @@ public abstract class TablexiaApplication implements ApplicationListener {
private static class MoveLeftAnimation extends MoveRightAnimation {
@Override
public void processTransaction(final AbstractTablexiaScreen<?> lastScreen, AbstractTablexiaScreen<?> newScreen, Runnable newScreenHandler, final Runnable lastScreenHandler, final Runnable finishHandler) {
newScreenMoveFromX = Gdx.graphics.getWidth();
newScreenMoveToX = 0;
lastScreenMoveToX = -Gdx.graphics.getWidth();
super.processTransaction(lastScreen, newScreen, newScreenHandler, lastScreenHandler, finishHandler);
protected void prepareTransactionPositions(Stage stage) {
super.prepareTransactionPositions(stage);
newScreenMoveFromX = TablexiaSettings.getSceneWidth(stage);
newScreenMoveToX = 0;
lastScreenMoveToX = -TablexiaSettings.getSceneWidth(stage);
}
}
private static class MoveUpAnimation extends MoveRightAnimation {
@Override
public void processTransaction(final AbstractTablexiaScreen<?> lastScreen, AbstractTablexiaScreen<?> newScreen, Runnable newScreenHandler, final Runnable lastScreenHandler, final Runnable finishHandler) {
newScreenMoveFromX = 0;
newScreenMoveToX = 0;
lastScreenMoveToX = 0;
newScreenMoveFromY = -Gdx.graphics.getHeight();
newScreenMoveToY = 0;
lastScreenMoveToY = Gdx.graphics.getHeight();
super.processTransaction(lastScreen, newScreen, newScreenHandler, lastScreenHandler, finishHandler);
protected void prepareTransactionPositions(Stage stage) {
super.prepareTransactionPositions(stage);
newScreenMoveFromX = 0;
newScreenMoveToX = 0;
lastScreenMoveToX = 0;
newScreenMoveFromY = -TablexiaSettings.getSceneOuterHeight(stage);
newScreenMoveToY = 0;
lastScreenMoveToY = TablexiaSettings.getSceneOuterHeight(stage);
}
}
......
......@@ -11,6 +11,7 @@ import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.NinePatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.scenes.scene2d.Action;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
import com.badlogic.gdx.utils.Disposable;
import com.badlogic.gdx.utils.I18NBundle;
......@@ -41,6 +42,7 @@ import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
import cz.nic.tablexia.loader.application.ApplicationFontManager;
import cz.nic.tablexia.model.User;
import cz.nic.tablexia.util.Log;
import cz.nic.tablexia.util.ScaleUtil;
import cz.nic.tablexia.util.Utility;
import cz.nic.tablexia.util.ui.XFillViewport;
......@@ -703,6 +705,10 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
return TablexiaSettings.getSceneInnerHeight(getStage());
}
public void setActorToFullScene(Actor actor) {
ScaleUtil.setFullScene(actor, getStage());
}
//////////////////////////// SCREEN VIEWPORT
......
......@@ -23,6 +23,7 @@ import java.util.Map;
import cz.nic.tablexia.Tablexia;
import cz.nic.tablexia.TablexiaApplication;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.bus.ApplicationBus;
import cz.nic.tablexia.loader.application.ApplicationAtlasManager;
import cz.nic.tablexia.screen.AbstractTablexiaScreen;
......@@ -106,16 +107,16 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
boolean isWinter = true;
Image balcony = new TablexiaNoBlendingImage(getScreenTextureRegion(isWinter ? BALCONY_WINTER : BALCONY));
ScaleUtil.setFullScreen(balcony, getStage());
setActorToFullScene(balcony);
group.addActor(balcony);
Image balconyNewsTitle = new Image(getScreenTextureRegion(BALCONY_NEWS_TITLE));
ScaleUtil.setFullScreen(balconyNewsTitle, getStage());
setActorToFullScene(balconyNewsTitle);
balconyNewsTitle.setTouchable(Touchable.disabled);
group.addActor(balconyNewsTitle);
final Image balconyBlur = new TablexiaNoBlendingImage(getScreenTextureRegion(isWinter ? BALCONY_BLUR_WINTER : BALCONY_BLUR));
ScaleUtil.setFullScreen(balconyBlur, getStage());
setActorToFullScene(balconyBlur);
balconyBlur.setVisible(false);
group.addActor(balconyBlur);
......@@ -403,7 +404,7 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
private Actor prepareSwipeStreet() {
final Group panel = new Group();
ScaleUtil.setFullScreen(panel, getStage());
panel.setCullingArea(new Rectangle(0,0,panel.getWidth(), panel.getHeight()));
panel.setCullingArea(new Rectangle(0, 0, panel.getWidth(), panel.getHeight()));
Group group = new HorizontalGroup();
group.setHeight(getStage().getHeight());
......@@ -474,7 +475,7 @@ public class PanoramaScreen extends AbstractTablexiaScreen<int[][]> {
private Actor prepareOffice() {
Group group = new Group();
Image background = new TablexiaNoBlendingImage(getScreenTextureRegion(GFX_PATH + "detectiveoffice"));
ScaleUtil.setFullScreen(background, getStage());
setActorToFullScene(background);
group.addActor(background);
showDialog(1);
ScaleUtil.setFullScreen(group, getStage());
......
......@@ -6,7 +6,6 @@ import com.badlogic.gdx.scenes.scene2d.ui.Image;
import java.util.Map;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.loader.TablexiaAbstractFileManager;
import cz.nic.tablexia.loader.TablexiaTextureManager;
import cz.nic.tablexia.screen.AbstractTablexiaScreen;
......@@ -54,8 +53,7 @@ public class LoaderScreen extends AbstractTablexiaScreen<Void> {
Texture backgroundTexture = textureManager.getTexture(LOADER_BACKGROUND);
backgroundTexture.setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
Image background = new Image(backgroundTexture);
background.setPosition(0, 0);
background.setSize(getStage().getWidth(), TablexiaSettings.getMinWorldHeight());
setActorToFullScene(background);
getStage().addActor(background);
Texture smallHandTexture = textureManager.getTexture(LOADER_SMALL_HAND);
......
......@@ -144,6 +144,11 @@ public class ScaleUtil {
return actor;
}
public static Actor setFullScene(Actor actor, Stage stage) {
actor.setBounds(TablexiaSettings.getSceneLeftX(stage), TablexiaSettings.getSceneOuterBottomY(stage), TablexiaSettings.getSceneWidth(stage), TablexiaSettings.getSceneOuterHeight(stage));
return actor;
}
public static void setImageHeight(Image image, float height) {
image.setSize(getWidth(image.getWidth(), image.getHeight(), height), height);
}
......
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