2014-03-26 75 views
2

我正在嘗試在Android設備上呈現平鋪地圖。但是,當我在我的android手機上測試它時,只有頂層顯示在屏幕上(總計兩層)。有沒有辦法來解決這個問題?我正在使用Libgdx以及平鋪地圖編輯器。使用LibGdx在Android上呈現完整的平鋪地圖

下面是我的項目實現了屏幕界面的一些代碼。省略的代碼對於問題不是必需的,但可以根據需要顯示。

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); 
} 
} 

下面是它目前的樣子: enter image description here ,這裏是它應該是什麼樣子: enter image description here

回答

1

你只在

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

越來越一層或者是你得到其他層別處?

1

嘗試:

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