Merge branch 'jonathan'

ganz wichtig
master
Jonathan Hager 6 years ago
commit 1454216454

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

@ -138,25 +138,34 @@ public class Controller extends ApplicationAdapter implements InputProcessor{
System.out.println(objects.getCount());
float x = d.getPlayer().getxPos();
float y = d.getPlayer().getyPos();
d.getPlayer().updateX();
d.getPlayer().update();
m.setPlayerSpriteX(d.getPlayer().getxPos());
for(RectangleMapObject rectangleObject : objects.getByType(RectangleMapObject.class)){
Rectangle rectangle = rectangleObject.getRectangle();
if(Intersector.overlaps(rectangle, m.getPlayer().getBoundingRectangle())){
d.getPlayer().setxPos(x);
System.out.println("Es laedt, es laedt, ich will nicht, dass es laedt, wenn es laedt, muss man immer so lange warten!!!!!");
}
}
float y = d.getPlayer().getyPos();
d.getPlayer().updateY();
m.setPlayerSpriteX(d.getPlayer().getxPos());
m.setPlayerSpriteY(d.getPlayer().getyPos());
System.out.println("Temp: " + x + " " + y);
System.out.println("Player: " + d.getPlayer().getxPos() + " " + d.getPlayer().getyPos());
for(RectangleMapObject rectangleObject : objects.getByType(RectangleMapObject.class)){
Rectangle rectangle = rectangleObject.getRectangle();
if(Intersector.overlaps(rectangle, m.getPlayer().getBoundingRectangle())){
d.getPlayer().setxPos(x);
d.getPlayer().setyPos(y);
System.out.println("Es lädt, es laedt, ich will nicht, dass es laedt, wenn es laedt, muss man immer so lange warten!!!!!");
System.out.println("Es laedt, es laedt, ich will nicht, dass es laedt, wenn es laedt, muss man immer so lange warten!!!!!");
}
}
}

@ -41,6 +41,12 @@ public abstract class Entity {
xPos += movementX;
yPos += movementY;
}
public void updateX(){
xPos += movementX;
}
public void updateY(){
yPos += movementY;
}
public void downgrade(){
xPos -= movementX;
yPos -= movementY;

@ -59,38 +59,78 @@ public class MapGenerator {
int tempX = 7;
int tempY = 5;
int mapDimensionX = tempX + 2;
int mapDimensionY = tempY + 2;
// Raum wird generiertf
TiledMap tempRoom = generateRoom(room, tempX, tempY);
// Wenn es Fehler gibt, dann wohl hier: Viel Spaß beim Suchen! Danke!
TiledMapTileLayer temp = (TiledMapTileLayer) tempRoom.getLayers().get(2);
MapLayer collisionLayer = tempRoom.getLayers().get(0);
TiledMapTileLayer staticLayer = (TiledMapTileLayer) tempRoom.getLayers().get(2);
RectangleMapObject bottom = (RectangleMapObject) collisionLayer.getObjects().get(0);
RectangleMapObject left = (RectangleMapObject) collisionLayer.getObjects().get(1);
RectangleMapObject top = (RectangleMapObject) collisionLayer.getObjects().get(2);
RectangleMapObject right = (RectangleMapObject) collisionLayer.getObjects().get(3);
// Ausgang oben
if(y < l.getRooms()[0].length - 1 && l.getRooms()[x][y + 1] != null){
// X: Exakte Mitte der Gesamtlänge, Y: Gesamtlänge
temp.getCell((tempX / 2) + 1, tempY + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //oben
staticLayer.getCell((tempX / 2) + 1, tempY + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //oben
collisionLayer.getObjects().remove(top);
RectangleMapObject tempLeft = new RectangleMapObject(0, mapDimensionY*48 - 48, (mapDimensionX / 2) * 48, 48);
RectangleMapObject tempRight = new RectangleMapObject(((mapDimensionX / 2) + 2) * 48, mapDimensionY*48 - 48, mapDimensionX*48, 48);
collisionLayer.getObjects().add(tempLeft);
collisionLayer.getObjects().add(tempRight);
}
// Ausgang rechts
if(x < l.getRooms().length - 1 && l.getRooms()[x + 1][y] != null){
// X: Gesamtlänge, Y: Exakte Mitte der Gesamtlänge
temp.getCell(tempX + 1, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //rechts
staticLayer.getCell(tempX + 1, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //rechts
collisionLayer.getObjects().remove(right);
RectangleMapObject tempTop = new RectangleMapObject(mapDimensionX*48 - 48, ((mapDimensionY / 2) + 2) * 48, 48, (mapDimensionY / 2) * 48);
RectangleMapObject tempBottom = new RectangleMapObject(mapDimensionX*48 - 48, 0, 48, (mapDimensionY / 2) * 48);
collisionLayer.getObjects().add(tempTop);
collisionLayer.getObjects().add(tempBottom);
}
// Ausgang unten
if(y > 0 && l.getRooms()[x][y - 1] != null){
// X: Exakte Mitte der Gesamtlänge, Y: 0
temp.getCell((tempX / 2) + 1, 0).setTile(new StaticTiledMapTile(splitTiles[0][3])); //unten
staticLayer.getCell((tempX / 2) + 1, 0).setTile(new StaticTiledMapTile(splitTiles[0][3])); //unten
collisionLayer.getObjects().remove(bottom);
RectangleMapObject tempLeft = new RectangleMapObject(0, 0, (mapDimensionX / 2) * 48, 48);
RectangleMapObject tempRight = new RectangleMapObject(((mapDimensionX / 2) + 2) * 48, 0, mapDimensionX*48, 48);
collisionLayer.getObjects().add(tempLeft);
collisionLayer.getObjects().add(tempRight);
}
// Ausgang links
if(x > 0 && l.getRooms()[x - 1][y] != null){
// X: 0, Y: Exakte Mitte der Gesamtlänge
temp.getCell(0, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //links
staticLayer.getCell(0, (tempY / 2) + 1).setTile(new StaticTiledMapTile(splitTiles[0][3])); //links
collisionLayer.getObjects().remove(left);
RectangleMapObject tempTop = new RectangleMapObject(0, ((mapDimensionY / 2) + 2) * 48, 48, (mapDimensionY / 2) * 48);
RectangleMapObject tempBottom = new RectangleMapObject(0, 0, 48, (mapDimensionY / 2) * 48);
collisionLayer.getObjects().add(tempTop);
collisionLayer.getObjects().add(tempBottom);
}
tempLevel[x][y] = tempRoom;
@ -120,6 +160,20 @@ public class MapGenerator {
TiledMapTileLayer dynamicLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY, 48, 48);
TiledMapTileLayer staticLayer = new TiledMapTileLayer(mapDimensionX, mapDimensionY, 48, 48);
RectangleMapObject bottom = new RectangleMapObject(0, 0, mapDimensionX*48, 48);
collisionLayer.getObjects().add(bottom);
RectangleMapObject left = new RectangleMapObject(0, 0, 48, mapDimensionY*48);
collisionLayer.getObjects().add(left);
RectangleMapObject top = new RectangleMapObject(0, mapDimensionY*48 - 48, mapDimensionX*48, 48);
collisionLayer.getObjects().add(top);
RectangleMapObject right = new RectangleMapObject(mapDimensionX*48 - 48, 0, 48, mapDimensionY*48);
collisionLayer.getObjects().add(right);
collisionLayer.setVisible(false);
// Schleife läuft über jedes Teil des Raumes und generiert ein Tile aus dem tileset
for(int x = 0; x < mapDimensionX + 1; x++){
for(int y = 0; y < mapDimensionY + 1; y++){
@ -138,20 +192,6 @@ public class MapGenerator {
}
}
RectangleMapObject bottom = new RectangleMapObject(0, 0, mapDimensionX*48, 48);
collisionLayer.getObjects().add(bottom);
RectangleMapObject left = new RectangleMapObject(0, 0, 48, mapDimensionY*48);
collisionLayer.getObjects().add(left);
RectangleMapObject top = new RectangleMapObject(0, mapDimensionY*48 - 48, mapDimensionX*48, 48);
collisionLayer.getObjects().add(top);
RectangleMapObject right = new RectangleMapObject(mapDimensionX*48 - 48, 0, 48, mapDimensionY*48);
collisionLayer.getObjects().add(right);
collisionLayer.setVisible(false);
layers.add(collisionLayer);
layers.add(dynamicLayer);
layers.add(staticLayer);

@ -1,5 +1,6 @@
package com.dungeoncrawler.desktop;
import com.badlogic.gdx.Files;
import com.badlogic.gdx.backends.lwjgl.LwjglApplication;
import com.badlogic.gdx.backends.lwjgl.LwjglApplicationConfiguration;
import com.dungeoncrawler.control.Controller;
@ -7,8 +8,12 @@ import com.dungeoncrawler.control.Controller;
public class DesktopLauncher {
public static void main (String[] arg) {
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
config.width = 1600;
config.height = 900;
config.title = "The Restless Caverns";
config.addIcon("icon.png", Files.FileType.Internal);
new LwjglApplication(new Controller(), config);
}
}

Loading…
Cancel
Save