2017-07-25 67 views
0

我正在尝试在LibGDX中绘制地图。地图创建于TiledLibGDX - 平铺不呈现整个地图

问题:点击here可以看到我的地图在渲染时的外观。而this图片就是我想呈现的内容。我试着用一层草和几朵鲜花制作新的瓷砖地图,当我尝试渲染时,什么也没有出现。我如何解决这个问题来渲染我的整个Tiled贴图?

任何帮助表示赞赏!

代码:

游戏类

private GameScreen screen; 

@Override 
public void create() 
{ 
    setScreen(new GameScreen()); 
} 

@Override 
public void render() 
{ 
    super.render(); 
    screen.render(Gdx.graphics.getDeltaTime()); 
} 

@Override 
public void dispose() 
{ 
    super.dispose(); 
    screen.dispose(); 
} 

@Override 
public void resize(int width, int height) 
{ 
    super.resize(width, height); 
    screen.resize(width, height); 
} 

@Override 
public void pause() 
{ 
    super.pause(); 
    screen.pause(); 
} 

@Override 
public void resume() 
{ 
    super.resume(); 
    screen.resume(); 
} 

public void setScreen (GameScreen screen) 
{ 
    if (this.screen != null) 
     this.screen.hide(); 
    this.screen = screen; 
    if (this.screen != null) 
    { 
     this.screen.show(); 
     this.screen.resize(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 
    } 
} 

GameScreen类

private TmxMapLoader mapLoader; 
private TiledMap map; 
private OrthogonalTiledMapRenderer mapRenderer; 
private OrthographicCamera camera; 
private FitViewport viewPort; 

public GameScreen() 
{ 
    camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 
    camera.setToOrtho(false); 
    camera.update(); 
    viewPort = new FitViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); 
    viewPort.setScreenPosition((int) (Gdx.graphics.getWidth() * 0.5f), (int) (Gdx.graphics.getHeight() * 0.5f)); 
    mapLoader = new TmxMapLoader(); 
    map = mapLoader.load("maps/town.tmx"); 
    mapRenderer = new OrthogonalTiledMapRenderer(map); 
} 

@Override 
public void show() 
{ 

} 

public void input() 
{ 

} 

public void update(float delta) 
{ 
    input(); 
    camera.update(); 
    mapRenderer.setView(camera); 
} 

@Override 
public void render(float delta) 
{ 
    update(delta); 

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

    mapRenderer.render(); 
} 

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

@Override 
public void pause() 
{ 

} 

@Override 
public void resume() 
{ 

} 

@Override 
public void hide() 
{ 

} 

@Override 
public void dispose() 
{ 
    map.dispose(); 
    mapRenderer.dispose(); 
} 

回答

0

我相信这个问题是我的地形设置PNG文件。该文件的分辨率为256x8100左右。我改变了更合理的瓷砖组,并没有任何问题。我希望任何遇到这个问题的人都会认为这是一个潜在的解决方案。 :)