2017-03-05 3 views
1

トップダウン2DゲームTiledMapで開発しています。libGDXタイルマップのミニマップを作成

現在、私はを作成しています。私のTiledMapのミニマップを作成していますが、これを行う方法は本当に混乱しています。

私は別のカメラを作成して、ズームアウトして地図をもう一度レンダリングしなければならないものを読んだのですが、右上隅にズームアウトされた地図をどうやって描くべきですか?

私はこの全体を徹底的に考えていますか?

マイマップ:

public class LiquidMap { 

private TiledMap     map; 
private OrthogonalTiledMapRenderer renderer; 
private OrthographicCamera   camera = new OrthographicCamera(); 

private MiniMap miniMap; 

public LiquidMap(String filePath) { 
    map = new TmxMapLoader().load(filePath); 

    renderer = new OrthogonalTiledMapRenderer(map, 1/32f); 

    camera.setToOrtho(false, 30, 20); 

    miniMap = new MiniMap(map); 
} 

public void update(float x, float y){ 
    camera.position.x = x; 
    camera.position.y = y; 
    camera.update(); 
    //renderer.setView(camera.combined, x - 10, y - 10, 20, 20);  
    renderer.setView(camera); 

    miniMap.update(x, y); 
} 

public void update(HostPlayer player){ 
    this.update(player.position.x + (player.skin.getWidth()/2f)/32f, player.position.y + (player.skin.getHeight()/2f)/32f); 
} 

public void render(HostPlayer player){ 
    renderer.render(); 
    renderer.getBatch().begin(); 
    renderer.getBatch().draw(player.skin, player.position.x, player.position.y, 1/32f * player.skin.getWidth(), 1/32f * player.skin.getHeight()); 
    renderer.getBatch().end(); 

    miniMap.render(); 
} 

そして、私のミニマップ:全体的な状況はこのように見ている

public class MiniMap { 

private OrthogonalTiledMapRenderer renderer; 
private OrthographicCamera   camera = new OrthographicCamera(); 

public MiniMap(TiledMap map) { 

    renderer = new OrthogonalTiledMapRenderer(map, 1/32f); 

    camera.setToOrtho(false, 30, 20); 

    camera.zoom = 10; 
} 

public void update(){ 

} 

public void update(float x, float y){ 

    //Pixventure.instance.gameScreen.getCamera() 

    camera.position.x = x; 
    camera.position.y = y; 
    camera.update(); 

    renderer.setView(camera.combined, x-15, y-15, 30, 30); 
    //renderer.setView(camera); 
} 

public void render(){ 
    renderer.render(); 
} 

} 

enter image description here

答えて

0

ミニマップのカメラ位置がプレーヤーの位置によって更新されます。あなたのミニマップをコーナーに置き、update()方法で自分の位置を変更しないでください。

+0

しかし、どのように私は角にミニマップを得ることができますか?カメラの位置がプレイヤーを基準にしていない場合は、画面全体を移動しています – Liquidz

関連する問題