libgdx TiledMap大小不正确

时间:2017-08-28 06:40:03

标签: java libgdx

我正在尝试在测试游戏中使用TiledMap,但我遇到了大小问题。我正在使用宽度为160,高度为90的ExtendViewport。我猜问题是平铺地图是使用屏幕尺寸绘制的,因为它已经放大了。我是否需要2个单独的相机用于平铺地图和游戏的其余部分(玩家,敌人......)?

这是我的所有代码:

public class Main extends Game {
    private OrthographicCamera camera;
    private ExtendViewport viewport;
    private TiledMap tiledMap;
    TiledMapRenderer tiledMapRenderer;

    @Override
    public void create () {
        camera = new OrthographicCamera(160, 90);
        camera.setToOrtho(false, 160, 90);
        camera.update();

        viewport = new ExtendViewport(160, 90, camera);
        viewport.apply();

        tiledMap = new TmxMapLoader().load("map1.tmx");
        tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap);
    }

    @Override
    public void render () {
        Gdx.gl.glClearColor(0, 0, 0, 1);

        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        camera.update();
        tiledMapRenderer.setView(camera);
        tiledMapRenderer.render();
    }

    @Override
    public void resize(int width, int height) {
        viewport.update(width, height, false);
    }

    @Override
    public void dispose () {

    }
}

由于

1 个答案:

答案 0 :(得分:1)

OrthogonalTiledMapRenderer的第二个参数是unitScale。单位比例告诉渲染器有多少像素映射到单个世界单位。它默认为1.

因此,在您的情况下,一个像素等于平铺地图中的一个单位大小。尝试更改unitScale参数。

https://github.com/libgdx/libgdx/wiki/Tile-maps#rendering-tiled-maps