【问题标题】:LibGDX TiledMap stuck to camera from StageLibGDX TiledMap 从舞台粘在相机上
【发布时间】:2017-11-21 15:25:18
【问题描述】:

我有一个带有舞台和 TiledMap 的屏幕。地图渲染得很好,但试图移动相机不会对地图做任何事情。在下面的代码中,相机向右移动,因此图像在屏幕上向左移动,但地图仍“粘”在屏幕上。

Before

About Half A Second Later

public class TestScreen implements Screen{
private Stage stage;

private TiledMap testMap;
private OrthogonalTiledMapRenderer mapRenderer;
private Image image;

public TestScreen() {
    stage = new Stage(new StretchViewport(GameBase.WIDTH, GameBase.HEIGHT));

    testMap = GameBase.assets.getLevel("level25");

    image = new Image(GameBase.assets.getTexture("sleuth"));
    stage.addActor(image);
    mapRenderer = new OrthogonalTiledMapRenderer(testMap, 1f);
    mapRenderer.setView(stage.getCamera().combined, 0, 0, GameBase.WIDTH, GameBase.HEIGHT);
    image.setOrigin(Align.center);
}

@Override
public void show() {    
    // TODO Auto-generated method stub

}

@Override
public void render(float delta) {
    image.rotateBy(2);

    stage.getCamera().position.x += 5;
    stage.getCamera().update();

    mapRenderer.render();
    stage.act(delta);
    stage.draw();
}

@Override
public void resize(int width, int height) {
    stage.getViewport().update(width, height, true);
}

【问题讨论】:

    标签: java libgdx scene2d


    【解决方案1】:

    您必须在每一帧上调用mapRenderer.setView(stage.getCamera()); 来更新瓦片地图上的视图。

    【讨论】:

      猜你喜欢
      • 2015-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      相关资源
      最近更新 更多