TiledMap没有显示-LibGdx

时间:2017-01-13 09:30:03

标签: libgdx tiled

我想在我的LibGdx项目中包含一个TiledMap。

我做了这样的编码。

public static final AssetDescriptor<TiledMap> tMap = new AssetDescriptor<TiledMap>("tmap.tmx",
        TiledMap.class);

在MyGdxGame类中,也称为加载器:

assetManager = new AssetManager();
    //tmx loading
    assetManager.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));//loader for tiledmap
    assetManager.load("tmap.tmx", TiledMap.class);
    assetManager.finishLoading();

游戏内幕类:

private TiledMap tiledMap;
private OrthogonalTiledMapRenderer orthogonalTiledMapRenderer;

public void show() {
tiledMap = assetManager.get(Assets.tMap);
orthogonalTiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap,batch);
    orthogonalTiledMapRenderer.setView(game.camera);
}
public void render(float delta) {

    batch.setProjectionMatrix(game.camera.projection);
    batch.setTransformMatrix(game.camera.view);
    orthogonalTiledMapRenderer.render();
}

但TiledMap图像在运行项目时没有显示。运行时没有显示任何错误。 还有如何使用tilemaps管理相机?

1 个答案:

答案 0 :(得分:1)

我以这种方式使用

 AssetManager manager = new AssetManager();
 manager.setLoader(TiledMap.class, new TmxMapLoader(new InternalFileHandleResolver()));
 manager.load("maps/tile.tmx", TiledMap.class);

加载所有资产时。

TiledMap tiledMap=manager.get("maps/tile.tmx");
OrthogonalTiledMapRenderer renderer=new OrthogonalTiledMapRenderer(tiledMap);

以这种方式渲染:

public void render(float delta){

        Gdx.gl.glClearColor(0, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

        game.camera.position.set(...);  //set position according to your requirement  
        game.camera.update();
        orthogonalTiledMapRenderer.setView(game.camera);
        orthogonalTiledMapRenderer.render();

        orthogonalTiledMapRenderer.getBatch();  // for batch related work
    }

可能会有所帮助。

感谢。

相关问题