|
|
|
|
@ -84,6 +84,7 @@ public class MapGenerator {
|
|
|
|
|
|
|
|
|
|
// Wenn es Fehler gibt, dann wohl hier: Viel Spaß beim Suchen! Danke!
|
|
|
|
|
MapLayer collisionLayer = tempRoom.getLayers().get(0);
|
|
|
|
|
MapLayer doorLayer = tempRoom.getLayers().get(3);
|
|
|
|
|
TiledMapTileLayer staticLayer = (TiledMapTileLayer) tempRoom.getLayers().get(2);
|
|
|
|
|
|
|
|
|
|
RectangleMapObject bottom = (RectangleMapObject) collisionLayer.getObjects().get(0);
|
|
|
|
|
@ -100,6 +101,9 @@ public class MapGenerator {
|
|
|
|
|
staticLayer.getCell((tempX / 2) + 1, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[4][3])); //oben3
|
|
|
|
|
staticLayer.getCell((tempX / 2) + 0, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[3][5])); //oben3-1
|
|
|
|
|
staticLayer.getCell((tempX / 2) + 2, tempY + 3).setTile(new StaticTiledMapTile(splitTiles[2][5])); //oben3+1
|
|
|
|
|
|
|
|
|
|
RectangleMapObject door = new RectangleMapObject((mapDimensionX / 2) * 48, mapDimensionY*48 - 48, 48, 48);
|
|
|
|
|
doorLayer.getObjects().add(door);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
// X: Exakte Mitte der Gesamtlänge, Y: Gesamtlänge
|
|
|
|
|
@ -124,6 +128,9 @@ public class MapGenerator {
|
|
|
|
|
|
|
|
|
|
if(x+1 == l.getExit()[0] && y == l.getExit()[1]){
|
|
|
|
|
staticLayer.getCell(tempX + 1, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][6])); //rechts
|
|
|
|
|
|
|
|
|
|
RectangleMapObject door = new RectangleMapObject(mapDimensionX*48 - 48, (mapDimensionY / 2) * 48, 48, 48);
|
|
|
|
|
doorLayer.getObjects().add(door);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
// X: Gesamtlänge, Y: Exakte Mitte der Gesamtlänge
|
|
|
|
|
@ -141,7 +148,7 @@ public class MapGenerator {
|
|
|
|
|
collisionLayer.getObjects().remove(right);
|
|
|
|
|
|
|
|
|
|
RectangleMapObject tempTop = new RectangleMapObject(mapDimensionX*48 - 48, ((mapDimensionY / 2) + 1) * 48, 48, (mapDimensionY / 2) * 48);
|
|
|
|
|
RectangleMapObject tempBottom = new RectangleMapObject(mapDimensionX*48 - 48, 0, 48, (mapDimensionY / 2) * 48);
|
|
|
|
|
RectangleMapObject tempBottom = new RectangleMapObject((mapDimensionX / 2) * 48, 0, 48, (mapDimensionY / 2) * 48);
|
|
|
|
|
|
|
|
|
|
collisionLayer.getObjects().add(tempTop);
|
|
|
|
|
collisionLayer.getObjects().add(tempBottom);
|
|
|
|
|
@ -152,6 +159,9 @@ public class MapGenerator {
|
|
|
|
|
|
|
|
|
|
if(x == l.getExit()[0] && y-1 == l.getExit()[1]){
|
|
|
|
|
staticLayer.getCell((tempX / 2) + 1, 0).setTile(new StaticTiledMapTile(splitTiles[1][6])); //unten
|
|
|
|
|
|
|
|
|
|
RectangleMapObject door = new RectangleMapObject((mapDimensionX / 2) * 48, 0, 48, 48);
|
|
|
|
|
doorLayer.getObjects().add(door);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
// X: Exakte Mitte der Gesamtlänge, Y: 0
|
|
|
|
|
@ -174,6 +184,9 @@ public class MapGenerator {
|
|
|
|
|
|
|
|
|
|
if(x-1 == l.getExit()[0] && y == l.getExit()[1]){
|
|
|
|
|
staticLayer.getCell(0, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[2][6])); //links
|
|
|
|
|
|
|
|
|
|
RectangleMapObject door = new RectangleMapObject(0, (mapDimensionY / 2) * 48, 48, 48);
|
|
|
|
|
doorLayer.getObjects().add(door);
|
|
|
|
|
}
|
|
|
|
|
else{
|
|
|
|
|
// X: 0, Y: Exakte Mitte der Gesamtlänge
|
|
|
|
|
@ -225,6 +238,7 @@ public class MapGenerator {
|
|
|
|
|
MapLayer collisionLayer = new MapLayer();
|
|
|
|
|
TiledMapTileLayer dynamicLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY + 2, 48, 48);
|
|
|
|
|
TiledMapTileLayer staticLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY + 2, 48, 48);
|
|
|
|
|
MapLayer doorLayer = new MapLayer();
|
|
|
|
|
|
|
|
|
|
RectangleMapObject bottom = new RectangleMapObject(0, 0, mapDimensionX*48, 48);
|
|
|
|
|
collisionLayer.getObjects().add(bottom);
|
|
|
|
|
@ -307,6 +321,7 @@ public class MapGenerator {
|
|
|
|
|
layers.add(collisionLayer);
|
|
|
|
|
layers.add(dynamicLayer);
|
|
|
|
|
layers.add(staticLayer);
|
|
|
|
|
layers.add(doorLayer);
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < r.getItems().size(); i++){
|
|
|
|
|
if(r.getItems().get(i) != null){
|
|
|
|
|
|