diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/src/ch/asynk/zproject/GameBoard.java | 37 |
1 files 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); } } |