繁体   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