title: The tmx map is only rendering two blocks into the screen and all the rest is black
body: <p><a href="https://i.stack.imgur.com/EI5rX.png" rel="nofollow noreferrer">The print from my game</a></p>
  
  <p>I'm learning to develope a game like supermario through a tutorial on youtube (<a href="https://www.youtube.com/watch?v=P8jgD-V5jG8&amp;t=43s" rel="nofollow noreferrer">https://www.youtube.com/watch?v=P8jgD-V5jG8&amp;t=43s</a>), the code that the author of the tutorial makes available in his github is <strong>still working today</strong>, however it is the complete code of the game, and I am still in video class 6, because it was here that his result got different from mine (as you can see from the image).</p>
  
  <p>I would be very grateful if any of you more experienced developers could tell me where I'm wrong to be only showing up 2 blocks of tmx map. I apologize for my english, thanks for trying to help.</p>
  
  <p>The main class of the game:</p>
  
  <p><code>public class MarioBros extends Game {</code> </p>
  
  <pre><code>public SpriteBatch batch;
  public static final int V_WIDTH = 400;
  public static final int V_HEIGHT = 208;
  
  
  @Override
  public void create () {
      batch = new SpriteBatch();
      setScreen(new PlayScreen(this));
  }
  
  @Override
  public void render () {
      super.render(); //Delega o metodo render para as SCREENS que estão ativas.
  }
  
  @Override
  public void dispose () {
      batch.dispose();
  
  }
  </code></pre>
  
  <p>}</p>
  
  <p>The PlayScreen (I think the problem is here!):</p>
  
  <pre><code>public class PlayScreen implements Screen {
  private MarioBros game;
  private OrthographicCamera gamecam;
  private Viewport gamePort;
  private HUD hud;
  
  private TmxMapLoader maploader;
  private TiledMap map;
  private OrthogonalTiledMapRenderer renderer;
  
  
  public PlayScreen(MarioBros game) {
      this.game = game;
  
      gamecam = new OrthographicCamera();
      gamecam.position.set(gamePort.getWorldWidth() / 2, gamePort.getWorldHeight() / 2, 0);
      gamePort = new FitViewport(MarioBros.V_WIDTH, MarioBros.V_HEIGHT, gamecam);
      gamePort.apply();
  
      hud = new HUD(game.batch);
  
      // Loading the map we made in Tile
      maploader = new TmxMapLoader();
      map = maploader.load("level1.tmx");
      renderer = new OrthogonalTiledMapRenderer(map);
  
  
  }
  
  @Override
  public void show() {
  
  }
  
  public void handleInput(float dt) {
      if (Gdx.input.isTouched())
          gamecam.position.x += 100 * dt;
  
  }
  
  public void update(float dt) {
      handleInput(dt);
  
      gamecam.update();
  
  }
  
  @Override
  public void render(float delta) {
      update(delta);
  
      Gdx.gl.glClearColor(0, 0, 0, 1);
      Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
  
      renderer.render();
      game.batch.setProjectionMatrix(hud.stage.getCamera().combined);
      hud.stage.draw();
  }
  
  @Override
  public void resize(int width, int height) {
      gamePort.update(width, height);
  }
  
  @Override
  public void pause() {
  
  }
  
  @Override
  public void resume() {
  
  }
  
  @Override
  public void hide() {
  
  }
  
  @Override
  public void dispose() {
      renderer.dispose();
  }
  </code></pre>
  
  <p>}</p>
  
  <p>The Hud:</p>
  
  <pre><code>public class HUD implements Disposable{
  public Stage stage;
  private Viewport viewport; // Novo viewport
  private Integer worldTimer;
  private float timeCount;
  private Integer score;
  
  Label countdownLabel; // Label é equivalente ao widget, nessa biblioteca gdx
  Label scoreLabel;
  Label timeLabel;
  Label levelLabel;
  Label worldLabel;
  Label marioLabel;
  
  public HUD(SpriteBatch sb){
      worldTimer = 300;
      timeCount = 0;
      score = 0;
  
      viewport = new FitViewport(MarioBros.V_WIDTH, MarioBros.V_HEIGHT, new OrthographicCamera());
      stage = new Stage(viewport, sb); // Stage é um bloco que você insere coisas (inicialmente soltas dentro dele)
  
      Table table = new Table(); // Prender os itens em uma tabela
      table.top(); //  Coloca no topo do nosso stage
      table.setFillParent(true); //  largura do nosso stage
  
      countdownLabel = new Label(String.format("%03d", worldTimer), new Label.LabelStyle(new BitmapFont(), Color.WHITE));
      scoreLabel = new Label(String.format("%06d", score), new Label.LabelStyle(new BitmapFont(), Color.WHITE));
      timeLabel = new Label("TIME", new Label.LabelStyle(new BitmapFont(), Color.WHITE));
      levelLabel =new Label("1-1", new Label.LabelStyle(new BitmapFont(), Color.WHITE));
      worldLabel =new Label("WORLD", new Label.LabelStyle(new BitmapFont(), Color.WHITE));
      marioLabel =new Label("MARIO", new Label.LabelStyle(new BitmapFont(), Color.WHITE));
  
      //expandX vai expandir X ao maximo, por isso devemos por em todos para eles dividirem igualmente o eixo X.
      table.add(marioLabel).expandX().padTop(10);
      table.add(worldLabel).expandX().padTop(10);
      table.add(timeLabel).expandX().padTop(10);
      table.row();
      table.add(scoreLabel).expandX();
      table.add(levelLabel).expandX();
      table.add(countdownLabel).expandX();
  
      //inserir a table no estagio
      stage.addActor(table);
  
  }
  
  @Override
  public void dispose() {
      stage.dispose();
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Thank you for taking your time to try to help me, I already lost a whole week trying to solve this =/ (sad)</p>