/ r / gamedev의 조언에 따라 libgdx의 TiledMap 등 내장 클래스 사용을 포기하고 내 자신을 작성하기로 결정했습니다.
요청하면 더 자세하게 설명 할 수 있지만 기본적으로 내가 한 일이 있습니다.
1 : 원래 링크 된 알고리즘을 사용하여 던전을 생성하고 Coordinate
에서 만든 클래스를 사용하여 픽셀 좌표가 아닌 타일 좌표를 저장 합니다 HashMap<Coord, MapTile>
. MapTile
타일 유형에 대한 데이터가있는 클래스 일뿐입니다.
2 : draw()
내 메인 클래스 의 기능에 다음 코드를 추가했습니다.
ConcurrentHashMap<Coord, MapTile> dungeonMap = dungeonGen.getMap();
for(Entry<Coord, MapTile> entry : dungeonMap.entrySet()){
Coord coord = entry.getKey();
MapTile tile = entry.getValue();
if((inCameraFrustum(coord.getX() * tileSize, coord.getY() * tileSize, 100))){
game.batch.draw(dungeonGen.getTileTexture(tile),
coord.getX() * tileSize, coord.getY() * tileSize);
}
}
모든 반복 할 어떤 Coordinate
에 dungeonMap
와 (좌표는 카메라 프러스 텀에있는 경우) 글로벌과 타일을 그립니다 tileSize
오프셋.