TileMap未显示-LibGdx
我想在LibGdx项目中包含一个tileMap 我是这样做的TileMap未显示-LibGdx,libgdx,tiled,Libgdx,Tiled,我想在LibGdx项目中包含一个tileMap 我是这样做的 public static final AssetDescriptor<TiledMap> tMap = new AssetDescriptor<TiledMap>("tmap.tmx", TiledMap.class); 在gameScreen类中: private TiledMap tiledMap; private OrthogonalTiledMapRenderer orthogona
public static final AssetDescriptor<TiledMap> tMap = new AssetDescriptor<TiledMap>("tmap.tmx",
TiledMap.class);
在gameScreen类中:
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();
}
但运行项目时未显示TileMap图像。它在运行时未显示任何错误。
还有,如何使用tilemaps管理相机?我就是这样使用的
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);
以这种方式渲染:
公共无效renderfloat 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
}
也许这会有帮助
谢谢。你能给我分享tileMap的完整示例代码吗?因为我在加载.tmx文件时遇到了assetmanager问题。如果我能得到一个参考代码,那会很有帮助。谢谢。
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
}