【问题标题】:LibGDX - Tiled not rendering entire mapLibGDX - 平铺不渲染整个地图
【发布时间】:2017-12-31 22:18:03
【问题描述】:

我正在尝试在LibGDX 中绘制地图。地图创建于Tiled

问题:单击here 查看我的地图在渲染时的样子。 this 图片是我要渲染的。我尝试用一​​层草和几朵花制作一张新的平铺地图,当我尝试渲染它时,什么都没有出现。如何解决此问题以渲染我的整个平铺地图?

感谢任何帮助!

代码:

游戏类

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

【问题讨论】:

    标签: java libgdx rendering tiled


    【解决方案1】:

    我相信问题出在我的tileset png 文件上。该文件的分辨率为 256x8100 左右。我换了一个更合理的tileset,完全没有任何问题。我希望遇到此问题的其他任何人都将其视为潜在的解决方法。 :)

    【讨论】:

      猜你喜欢
      • 2020-08-24
      • 2014-10-23
      • 2016-06-04
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 1970-01-01
      • 2015-09-03
      • 2013-06-11
      相关资源
      最近更新 更多