package chu.engine.anim; import static org.lwjgl.opengl.GL11.glTranslatef; import chu.engine.Entity; import chu.engine.Game; public class Camera { Entity center; int offsetX; int offsetY; public Camera(Entity e, int oX, int oY) { set(e, oX, oY); } public void set(Entity e, int oX, int oY) { center = e; offsetX = oX; offsetY = oY; } public void lookThrough() { if(center != null) { glTranslatef(-(center.x + offsetX - Game.getWindowWidth()/2), -(center.y + offsetY - Game.getWindowHeight()/2), 0); } } public void lookBack() { if(center != null) { glTranslatef(center.x + offsetX - Game.getWindowWidth()/2, center.y + offsetY - Game.getWindowHeight()/2, 0); } } public float getX() { if(center != null) return center.x + offsetX; else return Game.getWindowWidth()/2; } public float getY() { if(center != null) return center.y + offsetY; else return Game.getWindowHeight()/2; } public float getScreenX() { if(center != null) return center.x + offsetX - Game.getWindowWidth()/2; else return 0; } public float getScreenY() { if(center != null) return center.y + offsetY - Game.getWindowHeight()/2; else return 0; } }