我是LibGDX的新手,所以我仍然试图获得它的要点。我在屏幕上渲染了一张Isometric地图,最后差不多2天后我设法将它放在屏幕上。然而,无论屏幕有多大,它都保持相同的大小。这就是我的意思:
我想要它做的是根据屏幕的大小来缩放地图。这是代码:
{{1}}
提前致谢!
答案 0 :(得分:0)
要使用不同的屏幕尺寸,libGDX有Viewports。他们保持 屏幕上所有绘图的比例在不同的屏幕上相同。
例如FitViewport它将始终保持虚拟屏幕大小的宽高比,同时尽可能地缩放以适应屏幕。
public class PlayScreen implements Screen {
private TiledMap map;
private IsometricTiledMapRenderer isometricRenderer;
private FitViewport viewport;
public void createUI() {
// Load map from tiled .tmx file.
map = new TmxMapLoader().load("arena1/arena1.tmx");
// Setup isometric renderer and camera.
isometricRenderer = new IsometricTiledMapRenderer(map);
int width = 800; // Can change to other
int height = 480;
viewport = new FitViewport(width, height, new OrthographicCamera(width, height));
viewport.camera.position.set(768, 0, 0);
}
@Override
public void render(float delta) {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
isometricRenderer.setView(viewport.camera);
isometricRenderer.render();
}
@Override
public void resize(int width, int height) {
viewport.update(width, height);
}
...
}