summaryrefslogtreecommitdiffstats
path: root/core/src/ch
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2015-07-15 16:44:42 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2015-07-15 16:44:42 +0200
commita20b6a9d960b68e1818d6688c84b989808618b60 (patch)
tree73ebe48b6e1f10466006e6ced4ea5205f909448e /core/src/ch
parentaa97fd609205ddbfe0420241b099865b91d37f20 (diff)
downloadRustAndDust-a20b6a9d960b68e1818d6688c84b989808618b60.zip
RustAndDust-a20b6a9d960b68e1818d6688c84b989808618b60.tar.gz
GameCamera: add Rectangle hud
Diffstat (limited to 'core/src/ch')
-rw-r--r--core/src/ch/asynk/creepingarmor/screens/GameCamera.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/core/src/ch/asynk/creepingarmor/screens/GameCamera.java b/core/src/ch/asynk/creepingarmor/screens/GameCamera.java
index 53896bb..c97234a 100644
--- a/core/src/ch/asynk/creepingarmor/screens/GameCamera.java
+++ b/core/src/ch/asynk/creepingarmor/screens/GameCamera.java
@@ -22,6 +22,7 @@ public class GameCamera extends OrthographicCamera
private float heightFactor;
private Rectangle virtual;
private Rectangle window;
+ private Rectangle hud;
private Matrix4 hudMatrix;
private Matrix4 hudInvProjMatrix;
private int hudCorrection;
@@ -37,6 +38,7 @@ public class GameCamera extends OrthographicCamera
this.virtual = new Rectangle();
this.virtual.set(0, 0, virtualWidth, virtualHeight);
this.window = new Rectangle();
+ this.hud = new Rectangle();
this.hudMatrix = new Matrix4();
this.hudInvProjMatrix = new Matrix4();
this.hudLeft = 0;
@@ -57,18 +59,20 @@ public class GameCamera extends OrthographicCamera
window.height = screenHeight;
window.x = ((screenWidth - window.width) / 2f);
window.y = 0f;
+ hud.y = hudCorrection;
+ hud.x = (hud.y * viewportWidth / viewportHeight);
viewportWidth = (viewportHeight * (window.width / window.height));
- hudBottom = hudCorrection;
- hudLeft = (int) (hudBottom * viewportWidth / viewportHeight);
} else if (diff > ZEROF) {
window.width = screenWidth;
window.height = java.lang.Math.min((screenWidth * viewportAspect / zoom), screenHeight);
window.x = 0f;
window.y = ((screenHeight - window.height) / 2f);
viewportHeight = (viewportWidth * (window.height / window.width));
- hudLeft = hudCorrection;
- hudBottom = (int) (hudLeft / viewportWidth * viewportHeight);
+ hud.x = hudCorrection;
+ hud.y = (hud.x / viewportWidth * viewportHeight);
}
+ hud.width = (window.width - (2 * hud.x));
+ hud.height = (window.height - (2 * hud.y));
Gdx.gl.glViewport((int)window.x, (int)window.y, (int)window.width, (int)window.height);
@@ -77,7 +81,7 @@ public class GameCamera extends OrthographicCamera
clampPosition();
update(true);
- hudMatrix.setToOrtho2D(getHudLeft(), getHudBottom(), getHudWidth(), getHudHeight());
+ hudMatrix.setToOrtho2D(hud.x, hud.y, hud.width, hud.height);
hudInvProjMatrix.set(hudMatrix);
Matrix4.inv(hudInvProjMatrix.val);
}
@@ -99,22 +103,22 @@ public class GameCamera extends OrthographicCamera
public int getHudLeft()
{
- return hudLeft;
+ return (int) hud.x;
}
public int getHudBottom()
{
- return hudBottom;
+ return (int) hud.y;
}
public int getHudWidth()
{
- return (int) window.width - (2 * getHudLeft());
+ return (int) hud.width;
}
public int getHudHeight()
{
- return (int) window.height - (2 * getHudBottom());
+ return (int) hud.height;
}
public void centerOnWorld()