import com.badlogic.gdx.graphics.Camera;\r
import com.badlogic.gdx.graphics.GL10;\r
import com.badlogic.gdx.graphics.GL11;\r
+import com.badlogic.gdx.graphics.OrthographicCamera;\r
import com.badlogic.gdx.graphics.g2d.SpriteCache;\r
import com.badlogic.gdx.graphics.g2d.TextureAtlas.AtlasRegion;\r
import com.badlogic.gdx.graphics.glutils.ShaderProgram;\r
* Renders specific layers in the given a camera\r
* @param cam The camera to use\r
*/\r
- public void render (Camera cam) {\r
+ public void render (OrthographicCamera cam) {\r
render(cam, allLayers);\r
}\r
\r
* @param layers The list of layers to draw, 0 being the lowest layer. You will get an IndexOutOfBoundsException if a layer\r
* number is too high.\r
*/\r
- public void render (Camera cam, int[] layers) {\r
+ public void render (OrthographicCamera cam, int[] layers) {\r
getProjectionMatrix().set(cam.combined);\r
tmp.set(0, 0, 0);\r
cam.unproject(tmp);\r
- render(tmp.x, tmp.y, cam.viewportWidth, cam.viewportHeight, layers);\r
+ render(tmp.x, tmp.y, cam.viewportWidth * cam.zoom, cam.viewportHeight * cam.zoom, layers);\r
}\r
\r
/**\r
updateCameraPosition();\r
}\r
\r
+ cam.zoom = 0.9f;\r
cam.update();\r
tileMapRenderer.render(cam);//, layersList);\r
\r
\r
tmp.set(0, 0, 0);\r
cam.unproject(tmp);\r
- font.draw(spriteBatch, "Location: " + (int)tmp.x + "," + (int)(tileMapRenderer.getMapHeightUnits() - tmp.y), 20, 80);\r
+ font.draw(spriteBatch, "Location: " + (int)tmp.x + "," + (int)tmp.y, 20, 80);\r
spriteBatch.end();\r
}\r
\r
private void updateCameraPosition () {\r
- cam.position.add(camDirection.tmp().mul(Gdx.graphics.getDeltaTime()).mul(60));\r
+ cam.position.add(camDirection.tmp().mul(Gdx.graphics.getDeltaTime()).mul(5*tileMapRenderer.getUnitsPerTileX()));\r
\r
if (cam.position.x < 0) {\r
cam.position.x = 0;\r
}\r
}\r
\r
- cam = new OrthographicCamera(100, 100);\r
+ float aspectRatio = (float) Gdx.graphics.getWidth() / (float) Gdx.graphics.getHeight();\r
+ cam = new OrthographicCamera(100f * aspectRatio, 100f);\r
+ \r
cam.position.set(tileMapRenderer.getMapWidthUnits()/2, tileMapRenderer.getMapHeightUnits() / 2, 0);\r
camController = new OrthoCamController(cam);\r
Gdx.input.setInputProcessor(camController);\r
\r
- float maxX = map.width * map.tileWidth;\r
- float maxY = map.height * map.tileHeight;\r
- maxCamPosition.set(maxX, maxY);\r
+ maxCamPosition.set(tileMapRenderer.getMapWidthUnits(), tileMapRenderer.getMapHeightUnits());\r
}\r
\r
@Override public boolean needsGL20 () {\r