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