[英]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.