2017-11-21 6 views
2

ステージとタイルマップを持つ画面があります。マップはうまく描画されますが、カメラを移動しようとしてもマップには何も行われません。下のコードでは、カメラが右に移動しているため、画像は画面に残っていますが、マップは画面に「接着」したままです。LibGDX 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); 
} 

答えて

0

あなたはタイルマップ上のビューを更新するために、すべてのフレームでmapRenderer.setView(stage.getCamera());を呼び出す必要があります。

関連する問題