From 4488edb4714fdff9509c967b74530d54d1fc1fb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 12 Sep 2018 14:55:39 +0200 Subject: GameBoard : support rotation --- core/src/ch/asynk/zproject/GameBoard.java | 37 ++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/core/src/ch/asynk/zproject/GameBoard.java b/core/src/ch/asynk/zproject/GameBoard.java index d1181ad..2b95f47 100644 --- a/core/src/ch/asynk/zproject/GameBoard.java +++ b/core/src/ch/asynk/zproject/GameBoard.java @@ -10,9 +10,17 @@ public class GameBoard implements Disposable, Touchable { private final Texture map; + private int dx; + private int dy; + private int w; + private int h; + private float r; + private boolean rotate = false; + public GameBoard(final Assets assets) { this.map = assets.getTexture(assets.MAP_00); + computeValues(); } @Override public void dispose() @@ -26,18 +34,41 @@ public class GameBoard implements Disposable, Touchable return true; } + public void setRotate(boolean rotate) + { + this.rotate = rotate; + computeValues(); + } + + private void computeValues() + { + if (rotate) { + r = 90; + dx = - ( map.getWidth() - map.getHeight() ) / 2; + dy = - dx; + w = map.getHeight(); + h = map.getWidth(); + } else { + r = 0; + dx = 0; + dy = 0; + w = map.getWidth(); + h = map.getHeight(); + } + } + public int getWidth() { - return map.getWidth(); + return w; } public int getHeight() { - return map.getHeight(); + return h; } public void draw(Batch batch) { - batch.draw(map, 0, 0); + batch.draw(map, dx, dy, map.getWidth()/2, map.getHeight()/2, map.getWidth(), map.getHeight(), 1, 1, r, 0, 0, map.getWidth(), map.getHeight(), false, false); } } -- cgit v1.1-2-g2b99