2017-01-13 39 views
0

我想在我的LibGdx项目中包含一个TiledMap。TiledMap没有显示-LibGdx

我的确是这样编码的。

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(); 

内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(); 
} 

但TiledMap类图像没有显示出来,同时运行project.It不显示运行时出现任何错误。 另外如何管理地图相机?

回答

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); 

呈现这样:

公共无效渲染(浮动三角洲){

 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 
    } 

可能会有所帮助。

谢谢。

+0

你可以告诉我tiledmap的完整示例代码吗?因为我也有资产管理器加载.tmx文件的问题。如果我得到一个参考代码,我会很有帮助。谢谢。 – Niranjana

+0

@Niranjana检查新的编辑答案。 – Aryan

+1

谢谢!有效! – Niranjana