【问题标题】:Rendering complete Tiled Map on Android with LibGdx使用 LibGdx 在 Android 上渲染完整的平铺地图
【发布时间】:2014-05-04 06:41:36
【问题描述】:

我正在尝试将平铺地图渲染到 Android 设备上。然而,当我在我的安卓手机上测试它时,只有顶层被渲染到屏幕上(总共两层)。有没有办法来解决这个问题?我正在使用 Libgdx 以及 Tiled Map Editor。

下面是我的项目的一些代码,它实现了 Screen 接口。省略的代码对于问题不是必需的,但如果需要可以显示。

public class Play implements Screen {
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    renderer.setView(cam);
    renderer.render();

    /*code ommited*/

    renderer.getSpriteBatch().begin();
    animateAgent(time);

    sr.setProjectionMatrix(cam.combined);
    try {
    animateBullets(sr);
    } catch(IndexOutOfBoundsException e) {}

    renderer.getSpriteBatch().end();
}

public void show() {
    cam = new OrthographicCamera();
    cam.setToOrtho(false);
    cam.position.set(0,0,0);
    cam.zoom = 8.0f;
    cam.update();

    map = new TmxMapLoader().load("data/batMap.tmx");
    blocked = (TiledMapTileLayer) map.getLayers().get(1);
    renderer = new OrthogonalTiledMapRenderer(map);

    atlas = new TextureAtlas("data/specOps.txt");
    agent = atlas.createSprites("agent");

/* code ommitted */

    player = new Player(agent,blocked,bullets);
    Gdx.input.setInputProcessor(player);
}
}

这是它目前的样子: 下面是它的外观:

【问题讨论】:

    标签: java android libgdx tiled


    【解决方案1】:

    你只得到一层

     blocked = (TiledMapTileLayer) map.getLayers().get(1);
    

    或者您是否在其他地方获得另一层?

    【讨论】:

      【解决方案2】:

      试试:

      map.getLayers().get(0).setVisible(true);
      map.getLayers().get(1).setVisible(true);
      

      【讨论】:

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