簡體   English   中英

LibGDX:在圖塊之間渲染圖塊地圖

[英]LibGDX: rendering tiled-maps from tile to tile

我對平鋪地圖有疑問。

我必須逐個瓦片(從一個瓦片到另一個瓦片)渲染層之一中的每個瓦片。

我怎么知道呢?

我試過了,但是什么也沒做。

private void drawObject(boolean down)
{
    final String objects = "objects";
    for (MapObject obj : world.getMap().getLayers().get(objects).getObjects())
    {
        if (!down)
        {
            if ((Integer) obj.getProperties().get("y") > world.getPlayer().getBody().getPosition().y)
            {
                world.getTiledMapRenderer().renderObject(obj); 
            }
        }
    }
}

似乎您正在嘗試渲染對象層。 為了從對象層渲染對象,您需要其他一些輸入,例如:

for (MapObject mo : map.getLayers().get("Enemies").getObjects()) {      
        Enemy e = new Enemy(new Sprite(new Texture("maps/snailWalk1.png")), (TiledMapTileLayer)map.getLayers().get(0));
        e.setPosition(((RectangleMapObject)mo).getRectangle().getX(), ((RectangleMapObject)mo).getRectangle().getY());
        enemies.add(e);
    }

在渲染器方法中執行以下操作:

renderer.render();

renderer.getSpriteBatch().begin();
    for (Enemy e : enemies) {
        e.draw(renderer.getSpriteBatch());
    }

至於渲染器,您可以使用OrthonogalTiledMapRenderer或IsometricTiledMapRenderer對象。 您應該將此聲明為類對象

OrthogonalTiledMapRenderer renderer = new OrthogonalTiledMapRenderer(map);

如果要做的是逐塊渲染圖層,我想說您應該采用另一種方法,並嘗試將該圖層作為對象圖層,然后以編程方式從中創建對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM