OSDN Git Service

[fixed] TileMapRenderer.render(Camera cam)->TileMapRenderer.render(OrthographicCamera...
authordfraska <dfraska@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Thu, 26 May 2011 03:12:00 +0000 (03:12 +0000)
committerdfraska <dfraska@6c4fd544-2939-11df-bb46-9574ba5d0bfa>
Thu, 26 May 2011 03:12:00 +0000 (03:12 +0000)
gdx/src/com/badlogic/gdx/graphics/g2d/tiled/TileMapRenderer.java
tests/gdx-tests/src/com/badlogic/gdx/tests/TiledMapTest.java

index 84dae37..be30def 100644 (file)
@@ -19,6 +19,7 @@ import com.badlogic.gdx.Gdx;
 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
@@ -298,7 +299,7 @@ public class TileMapRenderer implements Disposable {
         * 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
@@ -309,11 +310,11 @@ public class TileMapRenderer implements Disposable {
         * @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
index 1d1298c..270a338 100644 (file)
@@ -68,6 +68,7 @@ public class TiledMapTest extends GdxTest {
                        updateCameraPosition();\r
                }\r
                \r
+               cam.zoom = 0.9f;\r
                cam.update();\r
                tileMapRenderer.render(cam);//, layersList);\r
 \r
@@ -80,12 +81,12 @@ public class TiledMapTest extends GdxTest {
                \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
@@ -143,14 +144,14 @@ public class TiledMapTest extends GdxTest {
                        }\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