2017-07-25 2 views
0

Ich versuche, eine Karte in LibGDX zu zeichnen. Die Karte wird in Tiled erstellt.LibGDX - Tiled nicht gesamte Karte

Problem: Klicken Sie auf here, um ein Bild zu sehen, wie meine Karte während der Wiedergabe aussieht. Und this Bild ist was ich versuche zu rendern. Ich habe versucht, eine frisch geflieste Karte mit nur einer Schicht Gras und ein paar Blumen zu machen, wenn ich versuche, das darzustellen, erscheint überhaupt nichts. Wie kann ich das beheben, um meine gesamte Tiled-Map zu rendern?

Jede Hilfe wird geschätzt!

Code:

Spielklasse

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 Klasse

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

Antwort

0

Ich glaube, das Problem meine tileset war PNG-Datei. Die Datei hatte eine Auflösung von 256x8100. Ich wechselte zu einem vernünftigeren Tileset und habe überhaupt kein Problem. Ich hoffe, dass jeder, der auf dieses Problem stößt, dies als mögliche Lösung sehen wird. :)