如何在libgdx中修正平铺地图渲染的宽高比?

时间:2013-06-14 16:24:21

标签: android libgdx tiled

首先,对情况进行一些解释。

初始化平铺地图代码:

map = new TmxMapLoader().load("maps/map.tmx");
mapRenderer = new OrthogonalTiledMapRenderer(map, 1f / 32f);

渲染代码:

mapRenderer.setView(cam);
mapRenderer.render();

问题所在。我有方形地图和非方形屏幕。地图填满整个屏幕。因为该地图缩放不正确(根据屏幕的X和Y缩放,32x32单元格转换为32x40单元格)。如何在不填满整个屏幕的情况下渲染地图?

1 个答案:

答案 0 :(得分:4)

根据对问题的评论......

您在非方形屏幕上使用方形相机并忽略纵横比。要考虑宽高比,请执行以下操作:

float w = Gdx.graphics.getWidth();
float h = Gdx.graphics.getHeight();

MyWorld.CAMERA_HEIGHT = 10;  // Fill the height of the screen
MyWorld.CAMERA_WIDTH  = 10 * (w / h); // Account for the aspect ratio

camera = new OrthographicCamera(MyWorld.CAMERA_WIDTH, MyWorld.CAMERA_HEIGHT);