【发布时间】:2018-02-18 12:39:44
【问题描述】:
我认为最好的方法是使用 PerspectiveCamera,所以我设置了这样的相机和渲染器:
// in show
camera = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
camera.position.set(0, 150, 100);
camera.lookAt(0, 0, 0);
camera.far = 1000;
camera.update();
batch = new SpriteBatch();
tiledMap = new TmxMapLoader().load("map.tmx");
tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap, batch);
// in render (after glClear)
camera.update();
batch.setProjectionMatrix(camera.projection);
tiledMapRenderer.render();
然而,这根本不会渲染地图。如果我删除设置投影矩阵的线,地图只会呈现如下:
我在这里看到了一个类似的问题,但这并没有解释解决方案,其中一个使用了不再存在的参数。我怎样才能达到预期的效果?
【问题讨论】:
-
试试
batch.setProjectionMatrix(camera.combined);而不是batch.setProjectionMatrix(camera.projection); -
确实解决了它!但它仍然只渲染 2 个图块,知道这是怎么回事吗?
-
不好说,能不能给个截图?
-
这是渲染地图的屏幕截图:i.imgur.com/4EpvGQJ.png,这是 Tiled 中的地图:imgur.com/a/QYWr4
-
只是想知道你是否解决了这个问题?