只是试图从我的 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)。不知道发生了什么。