首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LibGDX -Tiled地图未渲染

LibGDX -Tiled地图未渲染
EN

Stack Overflow用户
提问于 2020-05-09 10:35:45
回答 1查看 44关注 0票数 1

我创建了一个平铺的地图,下面是它的样子:

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

我不明白问题是什么,下面是我在屏幕上显示的代码:

代码语言:javascript
复制
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() {
    }
}

有人愿意解释一下问题出在哪里吗?

EN

回答 1

Stack Overflow用户

发布于 2020-05-10 08:22:20

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61691077

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档