Объекты LibGdx MapObjects пусты на допустимой карте

#java #libgdx #tiled #tmx #tmxtiledmap

Вопрос:

В настоящее время я использую libgdx и расширение box2d для создания платформера с открытым миром. Я хотел визуализировать мир с помощью мозаичной карты tmx и добавить из нее физику. Карта tilemap отображается нормально (с использованием OrthogonalTiledMapRenderer ), но когда я попытался добавить физические изображения, используя следующий код, ничего не произошло.

 public void renderPhysicsMap(TiledMap map, World world, int layer, int tileSize) {
        TiledMapTileLayer mapLayer = (TiledMapTileLayer) map.getLayers().get(layer);
        MapObjects mapObjects = mapLayer.getObjects();
        for (MapObject mapObject : mapObjects) {
            Rectangle rect = ((RectangleMapObject) mapObject).getRectangle();
            BodyDef bodyDef = new BodyDef();
            bodyDef.type = BodyType.StaticBody;
            Body body = world.createBody(bodyDef);
            PolygonShape shape = new PolygonShape();
            shape.setAsBox((rect.width/2)/tileSize, (rect.height/2)/tileSize);
            Fixture fixture = body.createFixture(shape, 0.0f);
            fixture.setFriction(0.1f);
            Vector2 center = new Vector2();
            rect.getCenter(center);
            body.setTransform(center.scl(1/tileSize), 0);
        }
    }
 

После некоторой отладки (запуска mapObjects.getCount() ) Я обнаружил, что размер был 0. Это странно, потому что я знаю, что это допустимая карта (я могу ее просто отлично визуализировать). Кто — нибудь знает, почему это так?