0

只是试图从我的 tilemap 加载一个图层以进行碰撞检测,但有问题。显然它告诉我我的图层超出了范围。

 private void getTiles(int startX, int startY, int endX, int endY, Array<Rectangle> tiles) {
    TiledMapTileLayer layer = (TiledMapTileLayer)map.getLayers().get("layer2");
    rectPool.freeAll(tiles);
    tiles.clear();
    for(int y = startY; y <= endY; y++) {
        for(int x = startX; x <= endX; x++) {
            Cell cell = layer.getCell(x, y);
            if(cell != null) {
                Rectangle rect = rectPool.obtain();
                rect.set(x, y, 1, 1);
                tiles.add(rect);
            }
        }
    }
}

我也尝试只输入整数,结果相同,只有一个有效的是 0。我在 Tiled 中的 .tmx 地图有两层,“layer1”和“layer2”。地图显示正常,所以我知道我已经正确加载了 .tmx(使用 TmxLoader 创建了一个名为“map”的 TiledMap)。不知道发生了什么。

4

0 回答 0