【问题标题】:LibGDX -Tiled map not renderingLibGDX - 平铺地图不渲染
【发布时间】:2020-08-24 17:08:21
【问题描述】:

我创建了一个平铺的地图,它应该是这样的:

但是,当我渲染它时,我没有得到任何图形,我只有我的背景颜色和黑条,我的对象应该在哪里:

我不明白问题出在哪里,这是我正在渲染的屏幕中的代码:

public class GameScreen implements Screen {
    private OrthographicCamera cam;
    private MyGdxGame myGame;
    private Vector3 pos;
    private Viewport gameport;
    private TmxMapLoader mapLoader;
    private TiledMap map;
    private OrthogonalTiledMapRenderer mapRenderer;

    public GameScreen(MyGdxGame game){
        this.myGame = game;
        pos = new Vector3(Gdx.graphics.getWidth()/2, Gdx.graphics.getHeight()/2, 0);

        cam = new OrthographicCamera();
        cam.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        gameport = new ExtendViewport(1060, 2060, cam);
        mapLoader = new TmxMapLoader();
        map = mapLoader.load("game_map1.tmx");
        mapRenderer = new OrthogonalTiledMapRenderer(map);

    }
    @Override
    public void show() {
    }

    public void update(float delta){
        handleInput(delta);
        cam.update();

    }

    private void handleInput(float delta) {
        if(Gdx.input.isTouched()){
            pos.set(Gdx.input.getX(), Gdx.input.getY(), 0);
//            cam.unproject(pos);
            cam.position.x = Gdx.input.getX();
            cam.position.y = Gdx.input.getY();
        }
    }

    @Override
    public void render(float delta) {

        update(delta);

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

        mapRenderer.setView(cam);
        mapRenderer.render();

//        myGame.sr.begin(ShapeRenderer.ShapeType.Filled);
//        myGame.sr.setColor(Color.BLUE);
//        myGame.sr.circle(pos.x, pos.y, 50);
//        myGame.sr.end();
    }

    @Override
    public void resize(int width, int height) {
    }

    @Override
    public void pause() {

    }

    @Override
    public void resume() {

    }

    @Override
    public void hide() {

    }

    @Override
    public void dispose() {
    }
}

有人愿意解释一下问题是什么?

【问题讨论】:

  • 尝试在 resize 方法中更新视口
  • @JaeheonShim 我做了,但没有帮助。我不明白为什么它会渲染一堆黑条而不是图像
  • 这可以在桌面上使用吗?
  • @TheChubbyPanda 我在 Android Studio 工作,如何检查?
  • 用桌面启动器测试一下,你可以用项目创建工具创建一个。

标签: java android libgdx rendering tiled


【解决方案1】:

所以在尝试了一整天不同的东西之后,我终于想通了:

我使用多个图像或“图块集”来创建地图。 我最终做的是使用 TexturePacker 将我需要的部分打包到一个 .png 中,并仅使用该 png/tile 集来创建我的地图。

【讨论】:

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