2017-08-28 9 views
2

私はTiledMapをテストゲームで使用しようとしていますが、サイズに問題があります。私はExtendViewportの幅160と高さ90を使用しています。タイルマップはズームインされているため、画面サイズを使用して描画されているという問題があります。タイルマップと残りのゲームに2つの別々のカメラが必要ですか(選手、敵、...)?libgdx TiledMap not correct size

これは私のすべてのコードは次のとおりです。

public class Main extends Game { 
    private OrthographicCamera camera; 
    private ExtendViewport viewport; 
    private TiledMap tiledMap; 
    TiledMapRenderer tiledMapRenderer; 

    @Override 
    public void create() { 
     camera = new OrthographicCamera(160, 90); 
     camera.setToOrtho(false, 160, 90); 
     camera.update(); 

     viewport = new ExtendViewport(160, 90, camera); 
     viewport.apply(); 

     tiledMap = new TmxMapLoader().load("map1.tmx"); 
     tiledMapRenderer = new OrthogonalTiledMapRenderer(tiledMap); 
    } 

    @Override 
    public void render() { 
     Gdx.gl.glClearColor(0, 0, 0, 1); 

     Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); 

     camera.update(); 
     tiledMapRenderer.setView(camera); 
     tiledMapRenderer.render(); 
    } 

    @Override 
    public void resize(int width, int height) { 
     viewport.update(width, height, false); 
    } 

    @Override 
    public void dispose() { 

    } 
} 

おかげ

+0

カメラは必要ありません。 1つはすべてのために十分です –

答えて

1

OrthogonalTiledMapRendererの2番目のパラメータがunitScaleです。単位スケールは、レンダラーに、1つの世界単位にマップされるピクセル数を通知します。そして、デフォルトは1になります。

したがって、1つのピクセルはタイルマップで1つの単位サイズになります。 unitScaleパラメータを変更してみてください。

https://github.com/libgdx/libgdx/wiki/Tile-maps#rendering-tiled-maps

+0

ありがとう、私はこれを試してみましょう。 – DreamsInHD

関連する問題